Skip to content

Commit c1d6d62

Browse files
wdebruijkuba-moo
authored andcommitted
selftests/net: prepare cmsg_ipv6.sh for ipv4
Move IPV6_TCLASS and IPV6_HOPLIMIT into loops, to be able to use them for IP_TOS and IP_TTL in a follow-on patch. Indentation in this file is a mix of four spaces and tabs for double indents. To minimize code churn, maintain that pattern. Very small diff if viewing with -w. Signed-off-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 3ba0752 commit c1d6d62

File tree

1 file changed

+59
-50
lines changed

1 file changed

+59
-50
lines changed

tools/testing/selftests/net/cmsg_ipv6.sh

Lines changed: 59 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -64,76 +64,85 @@ for ovr in setsock cmsg both diff; do
6464
done
6565

6666
# IPV6_TCLASS
67-
TOS=0x10
68-
TOS2=0x20
6967

70-
ip -6 -netns $NS rule add tos $TOS lookup 300
71-
ip -6 -netns $NS route add table 300 prohibit any
68+
test_dscp() {
69+
local -r TOS=0x10
70+
local -r TOS2=0x20
7271

73-
for ovr in setsock cmsg both diff; do
74-
for p in u i r; do
75-
[ $p == "u" ] && prot=UDP
76-
[ $p == "i" ] && prot=ICMP
77-
[ $p == "r" ] && prot=RAW
72+
ip -6 -netns $NS rule add tos $TOS lookup 300
73+
ip -6 -netns $NS route add table 300 prohibit any
7874

79-
[ $ovr == "setsock" ] && m="-C"
80-
[ $ovr == "cmsg" ] && m="-c"
81-
[ $ovr == "both" ] && m="-C $((TOS2)) -c"
82-
[ $ovr == "diff" ] && m="-C $((TOS )) -c"
75+
for ovr in setsock cmsg both diff; do
76+
for p in u i r; do
77+
[ $p == "u" ] && prot=UDP
78+
[ $p == "i" ] && prot=ICMP
79+
[ $p == "r" ] && prot=RAW
8380

84-
$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
85-
BG=$!
86-
sleep 0.05
81+
[ $ovr == "setsock" ] && m="-C"
82+
[ $ovr == "cmsg" ] && m="-c"
83+
[ $ovr == "both" ] && m="-C $((TOS2)) -c"
84+
[ $ovr == "diff" ] && m="-C $((TOS )) -c"
8785

88-
$NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
89-
check_result $? 0 "TCLASS $prot $ovr - pass"
86+
$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
87+
BG=$!
88+
sleep 0.05
9089

91-
while [ -d /proc/$BG ]; do
9290
$NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
93-
done
91+
check_result $? 0 "TCLASS $prot $ovr - pass"
9492

95-
tcpdump -r $TMPF -v 2>&1 | grep "class $TOS2" >> /dev/null
96-
check_result $? 0 "TCLASS $prot $ovr - packet data"
97-
rm $TMPF
93+
while [ -d /proc/$BG ]; do
94+
$NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
95+
done
9896

99-
[ $ovr == "both" ] && m="-C $((TOS )) -c"
100-
[ $ovr == "diff" ] && m="-C $((TOS2)) -c"
97+
tcpdump -r $TMPF -v 2>&1 | grep "class $TOS2" >> /dev/null
98+
check_result $? 0 "TCLASS $prot $ovr - packet data"
99+
rm $TMPF
101100

102-
$NSEXE ./cmsg_sender -6 -p $p $m $((TOS)) -s $TGT6 1234
103-
check_result $? 1 "TCLASS $prot $ovr - rejection"
101+
[ $ovr == "both" ] && m="-C $((TOS )) -c"
102+
[ $ovr == "diff" ] && m="-C $((TOS2)) -c"
103+
104+
$NSEXE ./cmsg_sender -6 -p $p $m $((TOS)) -s $TGT6 1234
105+
check_result $? 1 "TCLASS $prot $ovr - rejection"
106+
done
104107
done
105-
done
108+
}
106109

107-
# IPV6_HOPLIMIT
108-
LIM=4
110+
test_dscp
109111

110-
for ovr in setsock cmsg both diff; do
111-
for p in u i r; do
112-
[ $p == "u" ] && prot=UDP
113-
[ $p == "i" ] && prot=ICMP
114-
[ $p == "r" ] && prot=RAW
112+
# IPV6_HOPLIMIT
113+
test_hoplimit() {
114+
local -r LIM=4
115115

116-
[ $ovr == "setsock" ] && m="-L"
117-
[ $ovr == "cmsg" ] && m="-l"
118-
[ $ovr == "both" ] && m="-L $LIM -l"
119-
[ $ovr == "diff" ] && m="-L $((LIM + 1)) -l"
116+
for ovr in setsock cmsg both diff; do
117+
for p in u i r; do
118+
[ $p == "u" ] && prot=UDP
119+
[ $p == "i" ] && prot=ICMP
120+
[ $p == "r" ] && prot=RAW
120121

121-
$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
122-
BG=$!
123-
sleep 0.05
122+
[ $ovr == "setsock" ] && m="-L"
123+
[ $ovr == "cmsg" ] && m="-l"
124+
[ $ovr == "both" ] && m="-L $LIM -l"
125+
[ $ovr == "diff" ] && m="-L $((LIM + 1)) -l"
124126

125-
$NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
126-
check_result $? 0 "HOPLIMIT $prot $ovr - pass"
127+
$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
128+
BG=$!
129+
sleep 0.05
127130

128-
while [ -d /proc/$BG ]; do
129131
$NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
130-
done
132+
check_result $? 0 "HOPLIMIT $prot $ovr - pass"
131133

132-
tcpdump -r $TMPF -v 2>&1 | grep "hlim $LIM[^0-9]" >> /dev/null
133-
check_result $? 0 "HOPLIMIT $prot $ovr - packet data"
134-
rm $TMPF
134+
while [ -d /proc/$BG ]; do
135+
$NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
136+
done
137+
138+
tcpdump -r $TMPF -v 2>&1 | grep "hlim $LIM[^0-9]" >> /dev/null
139+
check_result $? 0 "HOPLIMIT $prot $ovr - packet data"
140+
rm $TMPF
141+
done
135142
done
136-
done
143+
}
144+
145+
test_hoplimit
137146

138147
# IPV6 exthdr
139148
for p in u i r; do

0 commit comments

Comments
 (0)