← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2013540] [NEW] [RFE] Add support for Napatech LinkVirt SmartNICs

 

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