selftests: mlxsw: Add VxLAN configuration test for IPv6
authorAmit Cohen <amcohen@nvidia.com>
Thu, 23 Dec 2021 07:29:56 +0000 (09:29 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Dec 2021 11:24:00 +0000 (11:24 +0000)
Add test to verify configuration of VxLAN with IPv6 underlay.
Use the existing test which checks IPv4.

Add separated test cases for learning which is not supported for IPv6
and for UDP checksum flags which are different from IPv4 flags.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/vxlan_ipv6.sh [new file with mode: 0755]

diff --git a/tools/testing/selftests/drivers/net/mlxsw/vxlan_ipv6.sh b/tools/testing/selftests/drivers/net/mlxsw/vxlan_ipv6.sh
new file mode 100755 (executable)
index 0000000..f2ea016
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+# A wrapper to run VXLAN test for IPv6.
+
+ADDR_FAMILY=ipv6
+LOCAL_IP_1=2001:db8:1::1
+LOCAL_IP_2=2001:db8:1::2
+PREFIX_LEN=128
+UDPCSUM_FLAFS="udp6zerocsumrx udp6zerocsumtx"
+MC_IP=FF02::2
+IP_FLAG="-6"
+
+ALL_TESTS="
+       sanitization_test
+       offload_indication_test
+       sanitization_vlan_aware_test
+       offload_indication_vlan_aware_test
+"
+
+sanitization_single_dev_learning_enabled_ipv6_test()
+{
+       RET=0
+
+       ip link add dev br0 type bridge mcast_snooping 0
+
+       ip link add name vxlan0 up type vxlan id 10 learning $UDPCSUM_FLAFS \
+               ttl 20 tos inherit local $LOCAL_IP_1 dstport 4789
+
+       sanitization_single_dev_test_fail
+
+       ip link del dev vxlan0
+       ip link del dev br0
+
+       log_test "vxlan device with learning enabled"
+}
+
+sanitization_single_dev_udp_checksum_ipv6_test()
+{
+       RET=0
+
+       ip link add dev br0 type bridge mcast_snooping 0
+
+       ip link add name vxlan0 up type vxlan id 10 nolearning \
+               noudp6zerocsumrx udp6zerocsumtx ttl 20 tos inherit \
+               local $LOCAL_IP_1 dstport 4789
+
+       sanitization_single_dev_test_fail
+       log_test "vxlan device without zero udp checksum at RX"
+
+       ip link del dev vxlan0
+
+       ip link add name vxlan0 up type vxlan id 10 nolearning \
+               udp6zerocsumrx noudp6zerocsumtx ttl 20 tos inherit \
+               local $LOCAL_IP_1 dstport 4789
+
+       sanitization_single_dev_test_fail
+       log_test "vxlan device without zero udp checksum at TX"
+
+       ip link del dev vxlan0
+       ip link del dev br0
+
+}
+
+source vxlan.sh