On Thu, May 29, 2025 at 11:53 AM engineer2024 via discuss <
ovs-discuss@openvswitch.org> wrote:

> Thanks for the response.
>
> This is not what I exactly asked. This scenario is specifically for the
> sriov ports. In this case, how the pkt from the physical nic go back to the
> same node ?  Two questions.
>
> 1. For sriov vm ports , where does the DHCP responses come from ? Where is
> this maintained in the OVN ? I know for non sriov ports or non direct vNIC
> types, the ovn controller on the compute node intercepts it and responds.
> So it never comes out of the compute node.
>
>
Responses, if they do, come from the fabric, probably served from *another*
chassis that is in the HA Group list for the external port (do you have
other computes with the same cms-options setting?). In the OpenStack group
scheduler for external ports, there's an explicit check against landing
external port for a SR-IOV port on the same chassis as the SR-IOV port
itself. You can check sync_ha_chassis_group_network function
in neutron/common/ovn/utils.py to confirm it.


> 2. How to provide metadata service for sriov ports ? For non sriov ports
> the ovn metadata namespace does.
>
>
Same as with non-SRIOV ports, metadata will be served by the
ovn-metadata-agent. But it will be served from the host that owns the
external port (through localport). Which is - by design - a different host
from the one that hosts the SR-IOV port.


> On Thu, 29 May 2025, 21:09 Daniel Alvarez Sanchez, <dalva...@redhat.com>
> wrote:
>
>> Hi,
>>
>> On Thu, May 29, 2025 at 4:50 PM engineer2024 via discuss <
>> ovs-discuss@openvswitch.org> wrote:
>>
>>> Hi,
>>>
>>> i have an openstack ovn setup.  For sriov neutron ports, when the cms
>>> option is set on the compute node  hosting the sriov nic,  as shown below
>>>
>>>  "ovs-vsctl set Open_vSwitch . external-ids:ovn-cms-options=\"
>>> enable-chassis-as-extport-host\""
>>>
>>> the port is getting the dhcp ip. Now, my question is,  from where is the
>>> OVN responding to this external port's DHCP reqs ?   I know for a normal
>>> tap port , it goes through br-int and then the ovn-controller gives the
>>> response. but the sriov port by passes the whole ovs and the host's kernel
>>> network stack. But where does it go to after it exits the physical VF
>>> interface, and how does OVN answer it ? How and where does OVN's inbuilt
>>> dhcp service maintained  ?
>>>
>>>
>> DHCP will be answered wherever your external port is scheduled.
>> I recommend reading this blogpost I wrote some time back:
>> https://dani.foroselectronica.es/ovn-external-ports-604/
>>
>> If you're seeing this behavior and you are 100% sure that the same
>> compute node that has the SRIOV port is serving the DHCP requests to that
>> instance then it means that the broadcast request is coming out from the
>> SRIOV port and back in from the same switch presumably to the compute node
>> through a different NIC and from there to br-ex (or similar?) -> br-int ->
>> external-port. I'm not entirely sure about the return path though but you
>> can possibly check with tcpdump :)
>>
>>
>>> Next, for sriov ports, the nova metadata service is also unreachable,
>>> as, it bypasses the ovn-meta namespace on the compute host connected to the
>>> br-int via veth cables.  So injecting user data like ssh keys is not
>>> possible and failing...
>>>
>>
>> Same... you should have the ovn-metadata-agent running where your
>> external port is and this one will proxy the metadata request to nova and
>> serve it back to your sriov instance wherever it is.
>>
>>
>>>
>>> Thanks
>>> elinux
>>> _______________________________________________
>>> discuss mailing list
>>> disc...@openvswitch.org
>>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>>>
>> _______________________________________________
> discuss mailing list
> disc...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to