Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35b49424 authored by Stefano Brivio's avatar Stefano Brivio Committed by David S. Miller
Browse files

selftests: pmtu: Add pmtu_vti6_default_mtu test



Same as pmtu_vti4_default_mtu, but on IPv6 with vti6.

Signed-off-by: default avatarStefano Brivio <sbrivio@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a41c789b
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -18,10 +18,14 @@
#	endpoints. Check that MTU assigned to vti interface is the MTU of the
#	lower layer (veth) minus additional lower layer headers (zero, for veth)
#	minus IPv4 header length
#
# - pmtu_vti6_default_mtu
#	Same as above, for IPv6

tests="
	pmtu_vti6_exception	vti6: PMTU exceptions
	pmtu_vti4_default_mtu	vti4: default MTU assignment"
	pmtu_vti4_default_mtu	vti4: default MTU assignment
	pmtu_vti6_default_mtu	vti6: default MTU assignment"

NS_A="ns-$(mktemp -u XXXXXX)"
NS_B="ns-$(mktemp -u XXXXXX)"
@@ -225,6 +229,18 @@ test_pmtu_vti4_default_mtu() {
	fi
}

test_pmtu_vti6_default_mtu() {
	setup namespaces veth vti6 || return 2

	# Check that MTU of vti device is MTU of veth minus IPv6 header length
	veth_mtu="$(link_get_mtu "${ns_a}" veth_a)"
	vti6_mtu="$(link_get_mtu "${ns_a}" vti6_a)"
	if [ $((veth_mtu - vti6_mtu)) -ne 40 ]; then
		err "  vti MTU ${vti6_mtu} is not veth MTU ${veth_mtu} minus IPv6 header length"
		return 1
	fi
}

trap cleanup EXIT

exitcode=0