summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/net/ipv6_flowlabel.sh
blob: cee95e252bee5cf85649181c2f2fc6d4366047f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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 "TEST datapath (with ping-sockets)"
./in_netns.sh \
  sh -c 'sysctl -q -w net.ipv6.flowlabel_reflect=4 && \
    sysctl -q -w net.ipv4.ping_group_range="0 2147483647" && \
    ./ipv6_flowlabel -l 1 -p'

echo "TEST datapath (with flowinfo-send)"
./in_netns.sh \
  sh -c './ipv6_flowlabel -l 1 -s'

echo "TEST datapath (with ping-sockets flowinfo-send)"
./in_netns.sh \
  sh -c 'sysctl -q -w net.ipv6.flowlabel_reflect=4 && \
    sysctl -q -w net.ipv4.ping_group_range="0 2147483647" && \
    ./ipv6_flowlabel -l 1 -p -s'

echo OK. All tests passed