ping: support ipv6 ping socket flow labels
[linux-2.6-microblaze.git] / tools / testing / selftests / net / ipv6_flowlabel.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 #
4 # Regression tests for IPv6 flowlabels
5 #
6 # run in separate namespaces to avoid mgmt db conflicts betweent tests
7
8 set -e
9
10 echo "TEST management"
11 ./in_netns.sh ./ipv6_flowlabel_mgr
12
13 echo "TEST datapath"
14 ./in_netns.sh \
15   sh -c 'sysctl -q -w net.ipv6.auto_flowlabels=0 && ./ipv6_flowlabel -l 1'
16
17 echo "TEST datapath (with auto-flowlabels)"
18 ./in_netns.sh \
19   sh -c 'sysctl -q -w net.ipv6.auto_flowlabels=1 && ./ipv6_flowlabel -l 1'
20
21 echo "TEST datapath (with ping-sockets)"
22 ./in_netns.sh \
23   sh -c 'sysctl -q -w net.ipv6.flowlabel_reflect=4 && \
24     sysctl -q -w net.ipv4.ping_group_range="0 2147483647" && \
25     ./ipv6_flowlabel -l 1 -p'
26
27 echo "TEST datapath (with flowinfo-send)"
28 ./in_netns.sh \
29   sh -c './ipv6_flowlabel -l 1 -s'
30
31 echo "TEST datapath (with ping-sockets flowinfo-send)"
32 ./in_netns.sh \
33   sh -c 'sysctl -q -w net.ipv6.flowlabel_reflect=4 && \
34     sysctl -q -w net.ipv4.ping_group_range="0 2147483647" && \
35     ./ipv6_flowlabel -l 1 -p -s'
36
37 echo OK. All tests passed