[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