[ovs-dev] [PATCH v2 0/5] Port Mirroring

Timothy Miskell timothy.miskell at intel.com
Tue May 25 17:20:42 UTC 2021


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

Based on the benchmarks presented at the OvS+OVN
Conference 2020 Port Mirroring Offload track
http://www.openvswitch.org/support/ovscon2020/), for a 64-byte
packet stream, with a single port mirror enabled with the default 
implementation, the overall system throughput is observed to degrade 
up to 65%. Running the same test with the attached patch, the 
performance doubles, and the performance drop, compared to the 
case where mirroring is disabled, reduces to between 20 - 30%.

In addition to port mirroring, in this patch we extend the existing
port mirror configuration to support L2 layer based "flow" mirroring,
i.e. based on the MAC address, to filter out unwanted packet 
streams.

Signed-off-by: Liang-Min Wang <liang-min.wang at intel.com>
Tested-by: Timothy Miskell <timothy.miskell at intel.com>
Suggested-by: Munish Mehan <mm6021 at att.com>

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



More information about the dev mailing list