selftests: forwarding: Add a test case for ARP decapsulation
authorIdo Schimmel <idosch@mellanox.com>
Mon, 21 Jan 2019 13:22:53 +0000 (13:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Jan 2019 04:40:35 +0000 (20:40 -0800)
Verify that ARP packets are correctly decapsulated by the ingress VTEP
by removing the neighbours configured on both VLAN interfaces and
running a ping test.

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

index 21828970ab899df937f72fc00adc5b0df8231254..909426c255851fcb0f5e35cdd6ae43fd221530c2 100755 (executable)
@@ -93,6 +93,7 @@
 
 ALL_TESTS="
        ping_ipv4
+       arp_decap
 "
 NUM_NETIFS=6
 source lib.sh
@@ -465,6 +466,23 @@ ping_ipv4()
        ping_test $h2 10.1.1.102 ": local->remote vid 20->vid 10"
 }
 
+arp_decap()
+{
+       # Repeat the ping tests, but without populating the neighbours. This
+       # makes sure we correctly decapsulate ARP packets
+       log_info "deleting neighbours from vlan interfaces"
+
+       ip neigh del 10.1.1.102 dev vlan10
+       ip neigh del 10.1.2.102 dev vlan20
+
+       ping_ipv4
+
+       ip neigh replace 10.1.1.102 lladdr $(in_ns ns1 mac_get w2) nud noarp \
+               dev vlan10 extern_learn
+       ip neigh replace 10.1.2.102 lladdr $(in_ns ns1 mac_get w4) nud noarp \
+               dev vlan20 extern_learn
+}
+
 trap cleanup EXIT
 
 setup_prepare