diff mbox series

[net-next,1/2] selftests/net: prepare cmsg_ipv6.sh for ipv4

Message ID 20250225022431.2083926-2-willemdebruijn.kernel@gmail.com (mailing list archive)
State New
Headers show
Series expand cmsg_ipv6.sh with ipv4 support | expand

Commit Message

Willem de Bruijn Feb. 25, 2025, 2:23 a.m. UTC
From: Willem de Bruijn <willemb@google.com>

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 <willemb@google.com>
---
 tools/testing/selftests/net/cmsg_ipv6.sh | 109 ++++++++++++-----------
 1 file changed, 59 insertions(+), 50 deletions(-)
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/cmsg_ipv6.sh b/tools/testing/selftests/net/cmsg_ipv6.sh
index 8bc23fb4c82b..51132c26e9b5 100755
--- a/tools/testing/selftests/net/cmsg_ipv6.sh
+++ b/tools/testing/selftests/net/cmsg_ipv6.sh
@@ -64,76 +64,85 @@  for ovr in setsock cmsg both diff; do
 done
 
 # IPV6_TCLASS
-TOS=0x10
-TOS2=0x20
 
-ip -6 -netns $NS rule add tos $TOS lookup 300
-ip -6 -netns $NS route add table 300 prohibit any
+test_dscp() {
+    local -r TOS=0x10
+    local -r TOS2=0x20
 
-for ovr in setsock cmsg both diff; do
-    for p in u i r; do
-	[ $p == "u" ] && prot=UDP
-	[ $p == "i" ] && prot=ICMP
-	[ $p == "r" ] && prot=RAW
+    ip -6 -netns $NS rule add tos $TOS lookup 300
+    ip -6 -netns $NS route add table 300 prohibit any
 
-	[ $ovr == "setsock" ] && m="-C"
-	[ $ovr == "cmsg" ]    && m="-c"
-	[ $ovr == "both" ]    && m="-C $((TOS2)) -c"
-	[ $ovr == "diff" ]    && m="-C $((TOS )) -c"
+    for ovr in setsock cmsg both diff; do
+	for p in u i r; do
+	    [ $p == "u" ] && prot=UDP
+	    [ $p == "i" ] && prot=ICMP
+	    [ $p == "r" ] && prot=RAW
 
-	$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
-	BG=$!
-	sleep 0.05
+	    [ $ovr == "setsock" ] && m="-C"
+	    [ $ovr == "cmsg" ]    && m="-c"
+	    [ $ovr == "both" ]    && m="-C $((TOS2)) -c"
+	    [ $ovr == "diff" ]    && m="-C $((TOS )) -c"
 
-	$NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
-	check_result $? 0 "TCLASS $prot $ovr - pass"
+	    $NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
+	    BG=$!
+	    sleep 0.05
 
-	while [ -d /proc/$BG ]; do
 	    $NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
-	done
+	    check_result $? 0 "TCLASS $prot $ovr - pass"
 
-	tcpdump -r $TMPF -v 2>&1 | grep "class $TOS2" >> /dev/null
-	check_result $? 0 "TCLASS $prot $ovr - packet data"
-	rm $TMPF
+	    while [ -d /proc/$BG ]; do
+	        $NSEXE ./cmsg_sender -6 -p $p $m $((TOS2)) $TGT6 1234
+	    done
 
-	[ $ovr == "both" ]    && m="-C $((TOS )) -c"
-	[ $ovr == "diff" ]    && m="-C $((TOS2)) -c"
+	    tcpdump -r $TMPF -v 2>&1 | grep "class $TOS2" >> /dev/null
+	    check_result $? 0 "TCLASS $prot $ovr - packet data"
+	    rm $TMPF
 
-	$NSEXE ./cmsg_sender -6 -p $p $m $((TOS)) -s $TGT6 1234
-	check_result $? 1 "TCLASS $prot $ovr - rejection"
+	    [ $ovr == "both" ]    && m="-C $((TOS )) -c"
+	    [ $ovr == "diff" ]    && m="-C $((TOS2)) -c"
+
+	    $NSEXE ./cmsg_sender -6 -p $p $m $((TOS)) -s $TGT6 1234
+	    check_result $? 1 "TCLASS $prot $ovr - rejection"
+	done
     done
-done
+}
 
-# IPV6_HOPLIMIT
-LIM=4
+test_dscp
 
-for ovr in setsock cmsg both diff; do
-    for p in u i r; do
-	[ $p == "u" ] && prot=UDP
-	[ $p == "i" ] && prot=ICMP
-	[ $p == "r" ] && prot=RAW
+# IPV6_HOPLIMIT
+test_hoplimit() {
+    local -r LIM=4
 
-	[ $ovr == "setsock" ] && m="-L"
-	[ $ovr == "cmsg" ]    && m="-l"
-	[ $ovr == "both" ]    && m="-L $LIM -l"
-	[ $ovr == "diff" ]    && m="-L $((LIM + 1)) -l"
+    for ovr in setsock cmsg both diff; do
+	for p in u i r; do
+	    [ $p == "u" ] && prot=UDP
+	    [ $p == "i" ] && prot=ICMP
+	    [ $p == "r" ] && prot=RAW
 
-	$NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
-	BG=$!
-	sleep 0.05
+	    [ $ovr == "setsock" ] && m="-L"
+	    [ $ovr == "cmsg" ]    && m="-l"
+	    [ $ovr == "both" ]    && m="-L $LIM -l"
+	    [ $ovr == "diff" ]    && m="-L $((LIM + 1)) -l"
 
-	$NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
-	check_result $? 0 "HOPLIMIT $prot $ovr - pass"
+	    $NSEXE nohup tcpdump --immediate-mode -p -ni dummy0 -w $TMPF -c 4 2> /dev/null &
+	    BG=$!
+	    sleep 0.05
 
-	while [ -d /proc/$BG ]; do
 	    $NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
-	done
+	    check_result $? 0 "HOPLIMIT $prot $ovr - pass"
 
-	tcpdump -r $TMPF -v 2>&1 | grep "hlim $LIM[^0-9]" >> /dev/null
-	check_result $? 0 "HOPLIMIT $prot $ovr - packet data"
-	rm $TMPF
+	    while [ -d /proc/$BG ]; do
+	        $NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
+	    done
+
+	    tcpdump -r $TMPF -v 2>&1 | grep "hlim $LIM[^0-9]" >> /dev/null
+	    check_result $? 0 "HOPLIMIT $prot $ovr - packet data"
+	    rm $TMPF
+	done
     done
-done
+}
+
+test_hoplimit
 
 # IPV6 exthdr
 for p in u i r; do