selftests: forwarding: mirror_lib: skip_hw the VLAN capture
authorPetr Machata <petrm@mellanox.com>
Thu, 31 May 2018 17:52:15 +0000 (19:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Jun 2018 18:11:02 +0000 (14:11 -0400)
When the VLAN capture is installed on a front panel device and not a
soft device, the packets are counted twice: once in fast path, and once
after they are trapped to the kernel. Resolve the problem by passing
skip_hw flag to vlan_capture_install().

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/mirror_lib.sh

index 67efe2556a4d180f6a1f919b8cdd96faeecac854..d36dc26c6c516364779e12db4a6532e54cf3f433 100644 (file)
@@ -102,7 +102,10 @@ do_test_span_vlan_dir_ips()
        local ip1=$1; shift
        local ip2=$1; shift
 
-       vlan_capture_install $dev "vlan_id $vid"
+       # Install the capture as skip_hw to avoid double-counting of packets.
+       # The traffic is meant for local box anyway, so will be trapped to
+       # kernel.
+       vlan_capture_install $dev "skip_hw vlan_id $vid"
        mirror_test v$h1 $ip1 $ip2 $dev 100 $expect
        mirror_test v$h2 $ip2 $ip1 $dev 100 $expect
        vlan_capture_uninstall $dev