[ovs-dev] [RFC] Virtio Port Mirroring

Emma Finn emma.finn at intel.com
Fri Jul 24 13:20:57 UTC 2020


From: Liang-min Wang <liang-min.wang 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 a paper that we
published in IEEE xPlore, https://ieeexplore.ieee.org/document/9110293) 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 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):
  Add support for Virtio Port Mirroring

 lib/netdev-dpdk.c          | 108 ++++++++++--
 lib/netdev-offload-dpdk.c  | 427 +++++++++++++++++++++++++++++++++++++++++++++
 lib/netdev-offload.h       |  28 +++
 lib/netdev-provider.h      |  14 ++
 lib/netdev.c               | 235 +++++++++++++++++++++++++
 lib/netdev.h               |  19 ++
 tests/ovs-vsctl.at         |   4 +
 vswitchd/bridge.c          | 208 +++++++++++++++++++++-
 vswitchd/vswitch.ovsschema |  26 ++-
 vswitchd/vswitch.xml       |  60 ++++++-
 10 files changed, 1113 insertions(+), 16 deletions(-)

-- 
2.7.4



More information about the dev mailing list