@@ -64,76 +64,85 @@ for ovr in setsock cmsg both diff; do
64
64
done
65
65
66
66
# IPV6_TCLASS
67
- TOS=0x10
68
- TOS2=0x20
69
67
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
72
71
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
78
74
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
83
80
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"
87
85
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
90
89
91
- while [ -d /proc/$BG ]; do
92
90
$NSEXE ./cmsg_sender -6 -p $p $m $(( TOS2 )) $TGT6 1234
93
- done
91
+ check_result $? 0 " TCLASS $prot $ovr - pass "
94
92
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 $(( TOS 2 )) $TGT6 1234
95
+ done
98
96
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
101
100
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
104
107
done
105
- done
108
+ }
106
109
107
- # IPV6_HOPLIMIT
108
- LIM=4
110
+ test_dscp
109
111
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
115
115
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
120
121
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"
124
126
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
127
130
128
- while [ -d /proc/$BG ]; do
129
131
$NSEXE ./cmsg_sender -6 -p $p $m $LIM $TGT6 1234
130
- done
132
+ check_result $? 0 " HOPLIMIT $prot $ovr - pass "
131
133
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
135
142
done
136
- done
143
+ }
144
+
145
+ test_hoplimit
137
146
138
147
# IPV6 exthdr
139
148
for p in u i r; do
0 commit comments