From: Liang-min Wang <[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 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 <[email protected]>
Tested-by: Timothy Miskell <[email protected]>
Suggested-by: Munish Mehan <[email protected]>


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

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

Reply via email to