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