[ovs-dev] [PATCH 0/1] Port Mirroring

Timothy Miskell timothy.miskell at intel.com
Mon May 10 16:00:44 UTC 2021


From: Emma Finn <emma.finn at intel.com>

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 <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