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
8set -e
9
10echo "TEST management"
11./in_netns.sh ./ipv6_flowlabel_mgr
12
13echo "TEST datapath"
14./in_netns.sh \
15  sh -c 'sysctl -q -w net.ipv6.auto_flowlabels=0 && ./ipv6_flowlabel -l 1'
16
17echo "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
21echo "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
27echo "TEST datapath (with flowinfo-send)"
28./in_netns.sh \
29  sh -c './ipv6_flowlabel -l 1 -s'
30
31echo "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
37echo OK. All tests passed
38