Commit a985442f authored by Andrea Righi's avatar Andrea Righi Committed by David S. Miller
Browse files

selftests: net: properly support IPv6 in GSO GRE test



Explicitly pass -6 to netcat when the test is using IPv6 to prevent
failures.

Also make sure to pass "-N" to netcat to close the socket after EOF on
the client side, otherwise we would always hit the timeout and the test
would fail.

Without this fix applied:

 TEST: GREv6/v4 - copy file w/ TSO                                   [FAIL]
 TEST: GREv6/v4 - copy file w/ GSO                                   [FAIL]
 TEST: GREv6/v6 - copy file w/ TSO                                   [FAIL]
 TEST: GREv6/v6 - copy file w/ GSO                                   [FAIL]

With this fix applied:

 TEST: GREv6/v4 - copy file w/ TSO                                   [ OK ]
 TEST: GREv6/v4 - copy file w/ GSO                                   [ OK ]
 TEST: GREv6/v6 - copy file w/ TSO                                   [ OK ]
 TEST: GREv6/v6 - copy file w/ GSO                                   [ OK ]

Fixes: 025efa0a ("selftests: add simple GSO GRE test")
Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 92f62485
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -116,17 +116,18 @@ gre_gst_test_checks()
{
	local name=$1
	local addr=$2
	local proto=$3

	$NS_EXEC nc -kl $port >/dev/null &
	$NS_EXEC nc $proto -kl $port >/dev/null &
	PID=$!
	while ! $NS_EXEC ss -ltn | grep -q $port; do ((i++)); sleep 0.01; done

	cat $TMPFILE | timeout 1 nc $addr $port
	cat $TMPFILE | timeout 1 nc $proto -N $addr $port
	log_test $? 0 "$name - copy file w/ TSO"

	ethtool -K veth0 tso off

	cat $TMPFILE | timeout 1 nc $addr $port
	cat $TMPFILE | timeout 1 nc $proto -N $addr $port
	log_test $? 0 "$name - copy file w/ GSO"

	ethtool -K veth0 tso on
@@ -155,7 +156,7 @@ gre6_gso_test()
	sleep 2

	gre_gst_test_checks GREv6/v4 172.16.2.2
	gre_gst_test_checks GREv6/v6 2001:db8:1::2
	gre_gst_test_checks GREv6/v6 2001:db8:1::2 -6

	cleanup
}