Introduce dpdkvdpa netdev allowing HW offloads over VirtIO network
devices.
dpdkvdpa ports can be added to netdev bridges with the following
command:
ovs-vsctl add-port br0 vdpa0 -- set Interface vdpa0 type=dpdkvdpa
options:vdpa-socket-path=<sock path>
options:vdpa-accelerator-devargs=<VF pci id>
options:dpdk-devargs=<pf pci id>,representor=[id]
options:vdpa-max-queues=<num of queues>
vdpa-max-queues is an optional field.
vDPA netdev is designed to support both SW and HW acceleration.
SRIOV capable NICs can use the SW acceleration which relays packets
between VF and virtIO ports.
In a future patch, a support for vDPA configuration will be added,
so that HW mode will configure vDPA capable NICs.
The dpdkvdpa netdev supports all kind of traffic (TCP, UDP, NFV etc).
Using dpdkvdpa port allows to forward packets between VF and VirtIO guests
with better performance than using standard VirtIO ports.
On the first scenario, a guest is connected to OVS using VirtIO.
On the second scenario, a guest is connected to OVS using dpdkvdpa port.
The guest is running testpmd.
A Traffic generator (iperf3 or Ixia) is sending packets to the OVS.
In this case, dpdkvdpa port improves the performance by ~35%.
https://travis-ci.org/github/noaezra/OVS/builds/670001370
Patch 1 provides the vdpa functionality as a pre-step without a functional
change.
Patch 2 introduces the dpdkvdpa vport.
Noa Ezra (2):
netdev-dpdk-vdpa: Introduce dpdkvdpa netdev
netdev-dpdk: Add dpdkvdpa port
Documentation/automake.mk | 1 +
Documentation/topics/dpdk/index.rst | 1 +
Documentation/topics/dpdk/vdpa.rst | 90 ++++
NEWS | 1 +
lib/automake.mk | 4 +-
lib/netdev-dpdk-vdpa.c | 820 ++++++++++++++++++++++++++++++++++++
lib/netdev-dpdk-vdpa.h | 55 +++
lib/netdev-dpdk.c | 164 +++++++-
vswitchd/vswitch.xml | 25 ++
9 files changed, 1159 insertions(+), 2 deletions(-)
create mode 100644 Documentation/topics/dpdk/vdpa.rst
create mode 100755 lib/netdev-dpdk-vdpa.c
create mode 100644 lib/netdev-dpdk-vdpa.h
--
1.8.3.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev