summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/net/ipv6_flowlabel.sh
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2019-05-27 16:47:51 -0400
committerDavid S. Miller <davem@davemloft.net>2019-05-28 17:18:53 -0700
commit3fb321fde22ddc3adc83e1f690b1fad9dfbd24ef (patch)
tree521901adacd0606db67d2eee4383686c7747d3ef /tools/testing/selftests/net/ipv6_flowlabel.sh
parentcbe9e835946fc792b061d51527c6f006a10419e6 (diff)
downloadlinux-3fb321fde22ddc3adc83e1f690b1fad9dfbd24ef.tar.bz2
selftests/net: ipv6 flowlabel
Test the IPv6 flowlabel control and datapath interfaces: Acquire and release the right to use flowlabels with socket option IPV6_FLOWLABEL_MGR. Then configure flowlabels on send and read them on recv with cmsg IPV6_FLOWINFO. Also verify auto-flowlabel if not explicitly set. This helped identify the issue fixed in commit 95c169251bf73 ("ipv6: invert flowlabel sharing check in process and user mode") Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/net/ipv6_flowlabel.sh')
-rwxr-xr-xtools/testing/selftests/net/ipv6_flowlabel.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/ipv6_flowlabel.sh b/tools/testing/selftests/net/ipv6_flowlabel.sh
new file mode 100755
index 000000000000..d3bc6442704e
--- /dev/null
+++ b/tools/testing/selftests/net/ipv6_flowlabel.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Regression tests for IPv6 flowlabels
+#
+# run in separate namespaces to avoid mgmt db conflicts betweent tests
+
+set -e
+
+echo "TEST management"
+./in_netns.sh ./ipv6_flowlabel_mgr
+
+echo "TEST datapath"
+./in_netns.sh \
+ sh -c 'sysctl -q -w net.ipv6.auto_flowlabels=0 && ./ipv6_flowlabel -l 1'
+
+echo "TEST datapath (with auto-flowlabels)"
+./in_netns.sh \
+ sh -c 'sysctl -q -w net.ipv6.auto_flowlabels=1 && ./ipv6_flowlabel -l 1'
+
+echo OK. All tests passed