From: Emma Finn <[email protected]>

The existing port mirroring uses packet copy to replicate the traffic
from the mirror target site.  This patch replaces the packet copy with
hardware (NIC) device mirroring which is available in many NICs.

Our benchmark shows (detail test setup can be found in ovs/ovn
conference 2020 Port Mirroring Offload track
http://www.openvswitch.org/support/ovscon2020/) that for a 64-byte
packet stream, running a single port port-mirroring with existing
implementation, the overall system throughput is observed 65% drop.
Running the same test with the attached patch, the performance is seen
double, and the performance drop (comparing no mirroring is turned on)
reduces to only 20 - 30%.

In additional to port mirroring, in this patch we extend the existing
port mirror configuration to support L2 layer based "flow" mirroring
(using L2, MAC address, to filtering unwanted packet stream).  Before we
put this patch for upstream, we would like to use this RFC to seek
comments and feedbacks about this design.

Signed-off-by: Liang-Min Wang <[email protected]>
Tested-by: Timothy Miskell <[email protected]>
Suggested-by: Munish Mehan <[email protected]>

Liang-min Wang (1):
  Extends the existing mirror configuration parameters

 lib/automake.mk            |   2 +
 lib/netdev-dpdk-mirror.c   | 516 +++++++++++++++++++++++++++++++++++++
 lib/netdev-dpdk-mirror.h   |  83 ++++++
 lib/netdev-dpdk.c          | 397 ++++++++++++++++++++++++++++
 lib/netdev-provider.h      |  16 ++
 lib/netdev.c               | 386 +++++++++++++++++++++++++++
 lib/netdev.h               |  16 ++
 tests/ovs-vsctl.at         |   2 +
 vswitchd/bridge.c          | 271 ++++++++++++++++++-
 vswitchd/vswitch.ovsschema |  24 +-
 vswitchd/vswitch.xml       |  50 ++++
 11 files changed, 1759 insertions(+), 4 deletions(-)
 create mode 100644 lib/netdev-dpdk-mirror.c
 create mode 100644 lib/netdev-dpdk-mirror.h

-- 
2.25.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to