netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: "David S . Miller" <davem@davemloft.net>
Cc: David Ahern <dsahern@gmail.com>,
	Sabrina Dubroca <sd@queasysnail.net>,
	Steffen Klassert <steffen.klassert@secunet.com>,
	netdev@vger.kernel.org
Subject: [PATCH net-next 09/10 v2] selftests: pmtu: Add pmtu_vti6_link_add_mtu test
Date: Sat, 17 Mar 2018 02:31:46 +0100	[thread overview]
Message-ID: <f4e9936aa66948956f6d501db96786a558bd7dfc.1521249420.git.sbrivio@redhat.com> (raw)
In-Reply-To: <cover.1521249420.git.sbrivio@redhat.com>
In-Reply-To: <cover.1521249420.git.sbrivio@redhat.com>

Same as pmtu_vti4_link_add_mtu test, but for IPv6.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
v2: Adjusted return codes for 4/10, added test description, error
    strings now buffered

 tools/testing/selftests/net/pmtu.sh | 44 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/pmtu.sh b/tools/testing/selftests/net/pmtu.sh
index d9f7ef2c213d..cd12a1f5c003 100755
--- a/tools/testing/selftests/net/pmtu.sh
+++ b/tools/testing/selftests/net/pmtu.sh
@@ -33,13 +33,17 @@
 # - pmtu_vti4_link_add_mtu
 #	Set up vti4 interface passing MTU value at link creation, check MTU is
 #	configured, and that link is not created with invalid MTU values
+#
+# - pmtu_vti6_link_add_mtu
+#	Same as above, for IPv6
 
 tests="
 	pmtu_vti6_exception	vti6: PMTU exceptions
 	pmtu_vti4_exception	vti4: PMTU exceptions
 	pmtu_vti4_default_mtu	vti4: default MTU assignment
 	pmtu_vti6_default_mtu	vti6: default MTU assignment
-	pmtu_vti4_link_add_mtu	vti4: MTU setting on link creation"
+	pmtu_vti4_link_add_mtu	vti4: MTU setting on link creation
+	pmtu_vti6_link_add_mtu	vti6: MTU setting on link creation"
 
 NS_A="ns-$(mktemp -u XXXXXX)"
 NS_B="ns-$(mktemp -u XXXXXX)"
@@ -344,6 +348,44 @@ test_pmtu_vti4_link_add_mtu() {
 	return ${fail}
 }
 
+test_pmtu_vti6_link_add_mtu() {
+	setup namespaces || return 2
+
+	${ns_a} ip link add vti6_a type vti6 local ${veth6_a_addr} remote ${veth6_b_addr} key 10
+	[ $? -ne 0 ] && err "  vti6 not supported" && return 2
+	${ns_a} ip link del vti6_a
+
+	fail=0
+
+	min=1280
+	max=$((65535 - 40))
+	# Check invalid values first
+	for v in $((min - 1)) $((max + 1)); do
+		${ns_a} ip link add vti6_a mtu ${v} type vti6 local ${veth6_a_addr} remote ${veth6_b_addr} key 10 2>/dev/null
+		# This can fail, or MTU can be adjusted to a proper value
+		[ $? -ne 0 ] && continue
+		mtu="$(link_get_mtu "${ns_a}" vti6_a)"
+		if [ ${mtu} -lt ${min} -o ${mtu} -gt ${max} ]; then
+			err "  vti6 tunnel created with invalid MTU ${v}"
+			fail=1
+		fi
+		${ns_a} ip link del vti6_a
+	done
+
+	# Now check valid values
+	for v in 1280 1300 $((65535 - 40)); do
+		${ns_a} ip link add vti6_a mtu ${v} type vti6 local ${veth6_a_addr} remote ${veth6_b_addr} key 10
+		mtu="$(link_get_mtu "${ns_a}" vti6_a)"
+		${ns_a} ip link del vti6_a
+		if [ "${mtu}" != "${v}" ]; then
+			err "  vti6 MTU ${mtu} doesn't match configured value ${v}"
+			fail=1
+		fi
+	done
+
+	return ${fail}
+}
+
 trap cleanup EXIT
 
 exitcode=0
-- 
2.15.1

  parent reply	other threads:[~2018-03-17  1:32 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-17  1:31 [PATCH net-next 00/10 v2] selftests: pmtu: Add further vti/vti6 MTU and PMTU tests Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 01/10 v2] selftests: pmtu: Reverse return codes of functions Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 02/10 v2] selftests: pmtu: Use namespace command prefix to fetch route mtu Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 03/10 v2] selftests: pmtu: Factor out MTU parsing helper Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 04/10 v2] selftests: pmtu: Introduce support for multiple tests Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 05/10 v2] selftests: pmtu: Add pmtu_vti4_default_mtu test Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 06/10 v2] selftests: pmtu: Add pmtu_vti6_default_mtu test Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 07/10 v2] selftests: pmtu: Add test_pmtu_vti4_exception test Stefano Brivio
2018-03-17  1:31 ` [PATCH net-next 08/10 v2] selftests: pmtu: Add pmtu_vti4_link_add_mtu test Stefano Brivio
2018-03-17  1:31 ` Stefano Brivio [this message]
2018-03-17  1:31 ` [PATCH net-next 10/10 v2] selftests: pmtu: Add pmtu_vti6_link_change_mtu test Stefano Brivio
2018-03-18  0:15 ` [PATCH net-next 00/10 v2] selftests: pmtu: Add further vti/vti6 MTU and PMTU tests David Miller
2018-03-18 17:31 ` David Ahern
2018-03-18 17:42   ` Stefano Brivio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f4e9936aa66948956f6d501db96786a558bd7dfc.1521249420.git.sbrivio@redhat.com \
    --to=sbrivio@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=sd@queasysnail.net \
    --cc=steffen.klassert@secunet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).