Public bug reported: Napatech SmartNICs can offload several computational resource intensive tasks from the hypervisor, such as packet switching, QoS enforcement, and V(x)LAN tunnel encapsulation/decapsulation. Upstream and Out of tree OVS implementations can leverage these offloads when using dpdk via DPDK port representors (https://docs.openvswitch.org/en/latest/topics/dpdk/phy/#representors).
Nova and Os-vif currently support kernel-based VF representors, but not the DPDK VF representors which leverage vhost-user socket. This spec seeks to address this gap. This is related to: https://review.opendev.org/c/openstack/nova- specs/+/859290 At the PTG meeting on Thursday 30, we've discussed blueprint what was mention above. This is meeting notes: (dvo-plv) Blueprint: "Add support for Napatech LinkVirt SmartNICs" review https://review.opendev.org/c/openstack/nova-specs/+/859290 1. the base feature is supported in vanilla ovs 2. additional features which require non-vanilla ovs are not targeted here 3. targets ml2/ovs and ml2/ovn 4. why make it different from the already existing hw offloaded ovs? 5. we need to know if a port is a hw offloaded ovs port or a hw offloaded ovs dpdk port 6. would eliminate the need for a special os-vif plugin that's currently used n-lib: https://review.opendev.org/c/openstack/neutron-lib/+/483530 7. POC code is for ml2/ovs, for ml2/ovn would be implemented later https://review.opendev.org/c/openstack/neutron/+/869510 https://review.opendev.org/c/openstack/os-vif/+/859574 https://review.opendev.org/c/openstack/nova/+/859577 https://review.opendev.org/c/openstack/neutron-lib/+/859573 https://review.opendev.org/c/openstack/nova-specs/+/859290 8. how can we test this in upstream/community CI? (action) a 3rd party CI system is needed and Napatech is open to provide this this needs to be maintained too, not just that the code works when merged, but that it keeps working in the future documentation for 3rd party CI providers: https://docs.openstack.org/infra/openstackci/third_party_ci.html https://docs.opendev.org/opendev/system-config/latest/third_party.html 9. (action) track this in a neutron RFE bug (likely spec-less) and discuss it in the neutron-drivers meeting neutron drivers: please see the POC patches Napatech folks: please attend to answer questions (and create a one-two paragraph RFE in https://bugs.launchpad.net/neutron/ for tracking purposes) https://meetings.opendev.org/#Neutron_drivers_Meeting https://bugs.launchpad.net/neutron/ ** Affects: neutron Importance: Undecided Assignee: Danylo Vodopianov (dvoplv) Status: In Progress ** Changed in: neutron Assignee: (unassigned) => Danylo Vodopianov (dvoplv) ** Summary changed: - Add support for Napatech LinkVirt SmartNICs + [RFE] Add support for Napatech LinkVirt SmartNICs -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/2013540 Title: [RFE] Add support for Napatech LinkVirt SmartNICs Status in neutron: In Progress Bug description: Napatech SmartNICs can offload several computational resource intensive tasks from the hypervisor, such as packet switching, QoS enforcement, and V(x)LAN tunnel encapsulation/decapsulation. Upstream and Out of tree OVS implementations can leverage these offloads when using dpdk via DPDK port representors (https://docs.openvswitch.org/en/latest/topics/dpdk/phy/#representors). Nova and Os-vif currently support kernel-based VF representors, but not the DPDK VF representors which leverage vhost-user socket. This spec seeks to address this gap. This is related to: https://review.opendev.org/c/openstack/nova- specs/+/859290 At the PTG meeting on Thursday 30, we've discussed blueprint what was mention above. This is meeting notes: (dvo-plv) Blueprint: "Add support for Napatech LinkVirt SmartNICs" review https://review.opendev.org/c/openstack/nova-specs/+/859290 1. the base feature is supported in vanilla ovs 2. additional features which require non-vanilla ovs are not targeted here 3. targets ml2/ovs and ml2/ovn 4. why make it different from the already existing hw offloaded ovs? 5. we need to know if a port is a hw offloaded ovs port or a hw offloaded ovs dpdk port 6. would eliminate the need for a special os-vif plugin that's currently used n-lib: https://review.opendev.org/c/openstack/neutron-lib/+/483530 7. POC code is for ml2/ovs, for ml2/ovn would be implemented later https://review.opendev.org/c/openstack/neutron/+/869510 https://review.opendev.org/c/openstack/os-vif/+/859574 https://review.opendev.org/c/openstack/nova/+/859577 https://review.opendev.org/c/openstack/neutron-lib/+/859573 https://review.opendev.org/c/openstack/nova-specs/+/859290 8. how can we test this in upstream/community CI? (action) a 3rd party CI system is needed and Napatech is open to provide this this needs to be maintained too, not just that the code works when merged, but that it keeps working in the future documentation for 3rd party CI providers: https://docs.openstack.org/infra/openstackci/third_party_ci.html https://docs.opendev.org/opendev/system-config/latest/third_party.html 9. (action) track this in a neutron RFE bug (likely spec-less) and discuss it in the neutron-drivers meeting neutron drivers: please see the POC patches Napatech folks: please attend to answer questions (and create a one-two paragraph RFE in https://bugs.launchpad.net/neutron/ for tracking purposes) https://meetings.opendev.org/#Neutron_drivers_Meeting https://bugs.launchpad.net/neutron/ To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2013540/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

