Lines Matching +full:1 +full:- +full:6

2 # SPDX-License-Identifier: GPL-2.0
8 # 1. icmp, tcp, udp and netfilter
9 # 2. client, server, no-server
13 # 6. VRF and non-VRF permutations
16 # ns-A | ns-B
18 # [ lo ] [ eth1 ]---|---[ eth1 ] [ lo ]
21 # [ red ]---[ eth1 ]---|---[ eth1 ] [ lo ]
23 # ns-A:
24 # eth1: 172.16.1.1/24, 2001:db8:1::1/64
25 # lo: 127.0.0.1/8, ::1/128
26 # 172.16.2.1/32, 2001:db8:2::1/128
27 # red: 127.0.0.1/8, ::1/128
28 # 172.16.3.1/32, 2001:db8:3::1/128
30 # ns-B:
31 # eth1: 172.16.1.2/24, 2001:db8:1::2/64
32 # lo2: 127.0.0.1/8, ::1/128
35 # ns-A to ns-C connection - only for VRF and same config
36 # as ns-A to ns-B
38 # server / client nomenclature relative to ns-A
40 # Kselftest framework requirement - SKIP code is 4.
59 NSA_IP6=2001:db8:1::1
60 NSB_IP6=2001:db8:1::2
61 VRF_IP6=2001:db8:3::1
62 NS_NET6=2001:db8:1::/120
66 NSA_LO_IP6=2001:db8:2::1
72 MCAST=ff02::1
77 NSA=ns-A
78 NSB=ns-B
79 NSC=ns-C
85 which ping6 > /dev/null 2>&1 && ping6=$(which ping6) || ping6=$(which ping)
92 local rc=$1
96 [ "${VERBOSE}" = "1" ] && echo
98 if [ ${rc} -eq ${expected} ]; then
99 nsuccess=$((nsuccess+1))
100 printf "TEST: %-70s [ OK ]\n" "${msg}"
102 nfail=$((nfail+1))
103 printf "TEST: %-70s [FAIL]\n" "${msg}"
108 [ "$a" = "q" ] && exit 1
116 [ "$a" = "q" ] && exit 1
124 local addr=$1
131 log_test $rc $expected "$msg - ${astr}"
156 if [ "${VERBOSE}" = "1" ]; then
164 if [ "${VERBOSE}" = "1" ]; then
173 if [ "${VERBOSE}" = "1" ]; then
181 killall nettest ping ping6 >/dev/null 2>&1
182 sleep 1
190 if [ "$VERBOSE" = "1" ]; then
194 out=$($cmd 2>&1)
196 if [ "$VERBOSE" = "1" -a -n "$out" ]; then
225 if [ $rc -ne 0 ]; then
247 if [ $rc -ne 0 ]; then
269 if [ $rc -ne 0 ]; then
284 # set sysctl values in NS-A
289 run_cmd sysctl -q -w $*
292 # get sysctl values in NS-A
295 ${NSA_CMD} sysctl -n $*
303 case "$1" in
305 ::1) echo "IPv6 loopback";;
307 ${NSA_IP}) echo "ns-A IP";;
308 ${NSA_IP6}) echo "ns-A IPv6";;
309 ${NSA_LO_IP}) echo "ns-A loopback IP";;
310 ${NSA_LO_IP6}) echo "ns-A loopback IPv6";;
311 ${NSA_LINKIP6}|${NSA_LINKIP6}%*) echo "ns-A IPv6 LLA";;
313 ${NSB_IP}) echo "ns-B IP";;
314 ${NSB_IP6}) echo "ns-B IPv6";;
315 ${NSB_LO_IP}) echo "ns-B loopback IP";;
316 ${NSB_LO_IP6}) echo "ns-B loopback IPv6";;
317 ${NSB_LINKIP6}|${NSB_LINKIP6}%*) echo "ns-B IPv6 LLA";;
330 local ns=$1
334 addr=$(ip -netns ${ns} -6 -br addr show dev ${dev} | \
344 [ -z "$addr" ] && return 1
356 local ns=$1
362 ip -netns ${ns} link add ${vrf} type vrf table ${table}
363 ip -netns ${ns} link set ${vrf} up
364 ip -netns ${ns} route add vrf ${vrf} unreachable default metric 8192
365 ip -netns ${ns} -6 route add vrf ${vrf} unreachable default metric 8192
367 ip -netns ${ns} addr add 127.0.0.1/8 dev ${vrf}
368 ip -netns ${ns} -6 addr add ::1 dev ${vrf} nodad
369 if [ "${addr}" != "-" ]; then
370 ip -netns ${ns} addr add dev ${vrf} ${addr}
372 if [ "${addr6}" != "-" ]; then
373 ip -netns ${ns} -6 addr add dev ${vrf} ${addr6}
376 ip -netns ${ns} ru del pref 0
377 ip -netns ${ns} ru add pref 32765 from all lookup local
378 ip -netns ${ns} -6 ru del pref 0
379 ip -netns ${ns} -6 ru add pref 32765 from all lookup local
384 local ns=$1
390 ip -netns ${ns} link set lo up
391 if [ "${addr}" != "-" ]; then
392 ip -netns ${ns} addr add dev lo ${addr}
394 if [ "${addr6}" != "-" ]; then
395 ip -netns ${ns} -6 addr add dev lo ${addr6}
398 ip -netns ${ns} ro add unreachable default metric 8192
399 ip -netns ${ns} -6 ro add unreachable default metric 8192
401 ip netns exec ${ns} sysctl -qw net.ipv4.ip_forward=1
402 ip netns exec ${ns} sysctl -qw net.ipv6.conf.all.keep_addr_on_down=1
403 ip netns exec ${ns} sysctl -qw net.ipv6.conf.all.forwarding=1
404 ip netns exec ${ns} sysctl -qw net.ipv6.conf.default.forwarding=1
410 local ns1=$1
415 local ns2_dev=$6
419 ip -netns ${ns1} li add ${ns1_dev} type veth peer name tmp
420 ip -netns ${ns1} li set ${ns1_dev} up
421 ip -netns ${ns1} li set tmp netns ${ns2} name ${ns2_dev}
422 ip -netns ${ns2} li set ${ns2_dev} up
424 if [ "${ns1_addr}" != "-" ]; then
425 ip -netns ${ns1} addr add dev ${ns1_dev} ${ns1_addr}
426 ip -netns ${ns2} addr add dev ${ns2_dev} ${ns2_addr}
429 if [ "${ns1_addr6}" != "-" ]; then
430 ip -netns ${ns1} addr add dev ${ns1_dev} ${ns1_addr6}
431 ip -netns ${ns2} addr add dev ${ns2_dev} ${ns2_addr6}
438 ip netns | grep -q ${NSA}
439 if [ $? -eq 0 ]; then
440 ip -netns ${NSA} link delete ${VRF}
441 ip -netns ${NSA} ro flush table ${VRF_TABLE}
443 ip -netns ${NSA} addr flush dev ${NSA_DEV}
444 ip -netns ${NSA} -6 addr flush dev ${NSA_DEV}
445 ip -netns ${NSA} link set dev ${NSA_DEV} down
446 ip -netns ${NSA} link del dev ${NSA_DEV}
455 ip netns del ${NSC} >/dev/null 2>&1
460 local with_vrf=${1}
467 set -e
477 # tell ns-A how to get to remote addresses of ns-B
481 ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF}
482 ip -netns ${NSA} ro add vrf ${VRF} ${NSB_LO_IP}/32 via ${NSB_IP} dev ${NSA_DEV}
483 ip -netns ${NSA} -6 ro add vrf ${VRF} ${NSB_LO_IP6}/128 via ${NSB_IP6} dev ${NSA_DEV}
485 ip -netns ${NSB} ro add ${VRF_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
486 ip -netns ${NSB} -6 ro add ${VRF_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}
488 # some VRF tests use ns-C which has the same config as
489 # ns-B but for a device NOT in the VRF
490 create_ns ${NSC} "-" "-"
494 ip -netns ${NSA} ro add ${NSB_LO_IP}/32 via ${NSB_IP} dev ${NSA_DEV}
495 ip -netns ${NSA} ro add ${NSB_LO_IP6}/128 via ${NSB_IP6} dev ${NSA_DEV}
499 # tell ns-B how to get to remote addresses of ns-A
500 ip -netns ${NSB} ro add ${NSA_LO_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
501 ip -netns ${NSB} ro add ${NSA_LO_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}
505 sleep 1
515 set -e
517 create_ns ${NSA} "-" "-"
518 create_ns ${NSB} "-" "-"
519 create_ns ${NSC} "-" "-"
520 connect_ns ${NSA} ${NSA_DEV} "-" "-" \
521 ${NSB} ${NSB_DEV} "-" "-"
522 connect_ns ${NSA} ${NSA_DEV2} "-" "-" \
523 ${NSC} ${NSC_DEV} "-" "-"
529 create_vrf ${NSA} ${VRF} ${VRF_TABLE} "-" "-"
530 ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF}
531 ip -netns ${NSA} link set dev ${NSA_DEV2} vrf ${VRF}
535 sleep 1
551 run_cmd ping -c1 -w1 ${a}
555 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
559 run_cmd ping -c1 -w1 -I ${NSA_LO_IP} ${a}
569 run_cmd_nsb ping -c1 -w1 ${a}
579 run_cmd ping -c1 -w1 ${a}
589 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
599 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
600 log_test_addr ${a} $? 1 "ping local, device bind"
613 run_cmd ping -c1 -w1 ${a}
619 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
624 run_cmd_nsb ping -c1 -w1 ${a}
625 log_test_addr ${a} $? 1 "ping in, blocked by rule"
627 [ "$VERBOSE" = "1" ] && echo
641 run_cmd ping -c1 -w1 ${a}
647 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
652 run_cmd_nsb ping -c1 -w1 ${a}
653 log_test_addr ${a} $? 1 "ping in, blocked by route"
662 run_cmd ping -c1 -w1 ${a}
668 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
676 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
684 run_cmd ping -c1 -w1 -I ${VRF} ${a}
688 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
692 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${NSA_IP} ${a}
696 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${VRF_IP} ${a}
706 run_cmd_nsb ping -c1 -w1 ${a}
717 run_cmd ping -c1 -w1 -I ${VRF} ${a}
727 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
735 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
736 log_test_addr ${a} $? 1 "ping local, device bind"
747 run_cmd ping -c1 -w1 -I ${VRF} ${a}
751 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
757 run_cmd_nsb ping -c1 -w1 ${a}
758 log_test_addr ${a} $? 1 "ping in, blocked by rule"
760 [ "$VERBOSE" = "1" ] && echo
771 run_cmd ping -c1 -w1 -I ${VRF} ${a}
775 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
781 run_cmd_nsb ping -c1 -w1 ${a}
782 log_test_addr ${a} $? 1 "ping in, unreachable route"
794 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
816 run_cmd nettest -s -M ${MD5_PW} -m ${NSB_IP} &
817 sleep 1
818 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
824 run_cmd nettest -s &
825 sleep 1
826 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
832 run_cmd nettest -s -M ${MD5_PW} -m ${NSB_IP} &
833 sleep 1
834 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
840 run_cmd nettest -s -M ${MD5_PW} -m ${NSB_LO_IP} &
841 sleep 1
842 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
846 # MD5 extension - prefix length
851 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
852 sleep 1
853 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
859 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
860 sleep 1
861 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
867 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
868 sleep 1
869 run_cmd_nsb nettest -c ${NSB_LO_IP} -r ${NSA_IP} -X ${MD5_PW}
884 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
885 sleep 1
886 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
892 run_cmd nettest -s -I ${VRF} &
893 sleep 1
894 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
900 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
901 sleep 1
902 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
908 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_LO_IP} &
909 sleep 1
910 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
914 # MD5 extension - prefix length
919 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
920 sleep 1
921 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
927 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
928 sleep 1
929 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
935 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
936 sleep 1
937 run_cmd_nsb nettest -c ${NSB_LO_IP} -r ${NSA_IP} -X ${MD5_PW}
945 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
946 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NSB_IP} &
947 sleep 1
948 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
952 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
953 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NSB_IP} &
954 sleep 1
955 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
960 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
961 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NSB_IP} &
962 sleep 1
963 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_PW}
968 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP} &
969 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NSB_IP} &
970 sleep 1
971 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
975 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
976 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
977 sleep 1
978 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
982 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
983 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
984 sleep 1
985 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
990 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
991 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
992 sleep 1
993 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_PW}
998 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} &
999 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
1000 sleep 1
1001 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_WRONG_PW}
1008 run_cmd nettest -s -I ${NSA_DEV} -M ${MD5_PW} -m ${NSB_IP}
1009 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
1012 run_cmd nettest -s -I ${NSA_DEV} -M ${MD5_PW} -m ${NS_NET}
1013 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
1023 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} --no-bind-key-ifindex &
1024 sleep 1
1025 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
1026 log_test $? 0 "MD5: VRF: VRF-bound server, unbound key accepts connection"
1030 run_cmd nettest -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET} --force-bind-key-ifindex &
1031 sleep 1
1032 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
1033 log_test $? 0 "MD5: VRF: VRF-bound server, bound key accepts connection"
1038 # This particular test needs tcp_l3mdev_accept=1 for Global server to accept VRF connections
1041 set_sysctl net.ipv4.tcp_l3mdev_accept=1
1044 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} --force-bind-key-ifindex &
1045 sleep 1
1046 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
1050 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} --force-bind-key-ifindex &
1051 sleep 1
1052 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_PW}
1053 log_test $? 0 "MD5: VRF: Global server, key bound to ifindex=0 accepts non-VRF connection"
1056 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} --no-bind-key-ifindex &
1057 sleep 1
1058 run_cmd_nsb nettest -r ${NSA_IP} -X ${MD5_PW}
1062 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} --no-bind-key-ifindex &
1063 sleep 1
1064 run_cmd_nsc nettest -r ${NSA_IP} -X ${MD5_PW}
1065 log_test $? 0 "MD5: VRF: Global server, key not bound to ifindex accepts non-VRF connection"
1081 run_cmd nettest -s &
1082 sleep 1
1083 run_cmd_nsb nettest -r ${a}
1089 run_cmd nettest -s -I ${NSA_DEV} &
1090 sleep 1
1091 run_cmd_nsb nettest -r ${a}
1099 run_cmd_nsb nettest -r ${a}
1100 log_test_addr ${a} $? 1 "No server"
1109 run_cmd_nsb nettest -s &
1110 sleep 1
1111 run_cmd nettest -r ${a} -0 ${NSA_IP}
1115 run_cmd_nsb nettest -s &
1116 sleep 1
1117 run_cmd nettest -r ${a} -d ${NSA_DEV}
1122 run_cmd nettest -r ${a}
1123 log_test_addr ${a} $? 1 "No server, unbound client"
1127 run_cmd nettest -r ${a} -d ${NSA_DEV}
1128 log_test_addr ${a} $? 1 "No server, device client"
1137 run_cmd nettest -s &
1138 sleep 1
1139 run_cmd nettest -r ${a} -0 ${a} -1 ${a}
1145 run_cmd nettest -s -I ${NSA_DEV} &
1146 sleep 1
1147 run_cmd nettest -r ${a} -0 ${a}
1154 run_cmd nettest -s -I ${NSA_DEV} &
1155 sleep 1
1156 run_cmd nettest -r ${a}
1157 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1162 run_cmd nettest -s &
1163 sleep 1
1164 run_cmd nettest -r ${a} -0 ${a} -d ${NSA_DEV}
1171 run_cmd nettest -s &
1172 sleep 1
1173 run_cmd nettest -r ${a} -d ${NSA_DEV}
1174 log_test_addr ${a} $? 1 "Global server, device client, local connection"
1179 run_cmd nettest -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1180 sleep 1
1181 run_cmd nettest -d ${NSA_DEV} -r ${a} -0 ${a}
1186 run_cmd nettest -d ${NSA_DEV} -r ${a}
1187 log_test_addr ${a} $? 1 "No server, device client, local conn"
1208 run_cmd nettest -s &
1209 sleep 1
1210 run_cmd_nsb nettest -r ${a}
1211 log_test_addr ${a} $? 1 "Global server"
1214 run_cmd nettest -s -I ${VRF} -3 ${VRF} &
1215 sleep 1
1216 run_cmd_nsb nettest -r ${a}
1220 run_cmd nettest -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1221 sleep 1
1222 run_cmd_nsb nettest -r ${a}
1228 run_cmd_nsb nettest -r ${a}
1229 log_test_addr ${a} $? 1 "No server"
1237 run_cmd nettest -s &
1238 sleep 1
1239 run_cmd nettest -r ${a} -d ${NSA_DEV}
1240 log_test_addr ${a} $? 1 "Global server, local connection"
1249 set_sysctl net.ipv4.tcp_l3mdev_accept=1
1255 run_cmd nettest -s -3 ${VRF} &
1256 sleep 1
1257 run_cmd_nsb nettest -r ${a}
1262 run_cmd nettest -s -I ${VRF} -3 ${VRF} &
1263 sleep 1
1264 run_cmd_nsb nettest -r ${a}
1270 run_cmd_nsb nettest -r ${a}
1271 log_test_addr ${a} $? 1 "No server"
1277 run_cmd nettest -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1278 sleep 1
1279 run_cmd_nsb nettest -r ${a}
1287 run_cmd nettest -s -I ${VRF} &
1288 sleep 1
1289 run_cmd nettest -r ${a}
1290 log_test_addr ${a} $? 1 "Global server, local connection"
1299 run_cmd_nsb nettest -s &
1300 sleep 1
1301 run_cmd nettest -r ${a} -d ${VRF}
1305 run_cmd_nsb nettest -s &
1306 sleep 1
1307 run_cmd nettest -r ${a} -d ${NSA_DEV}
1312 run_cmd nettest -r ${a} -d ${VRF}
1313 log_test_addr ${a} $? 1 "No server, VRF client"
1317 run_cmd nettest -r ${a} -d ${NSA_DEV}
1318 log_test_addr ${a} $? 1 "No server, device client"
1324 run_cmd nettest -s -I ${VRF} -3 ${VRF} &
1325 sleep 1
1326 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1332 run_cmd nettest -s -I ${VRF} -3 ${VRF} &
1333 sleep 1
1334 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1339 run_cmd nettest -s -I ${VRF} &
1340 sleep 1
1341 run_cmd nettest -r ${a}
1342 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
1345 run_cmd nettest -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1346 sleep 1
1347 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1351 run_cmd nettest -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1352 sleep 1
1353 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1369 set_sysctl net.ipv4.tcp_l3mdev_accept=1
1390 run_cmd nettest -D -s -3 ${NSA_DEV} &
1391 sleep 1
1392 run_cmd_nsb nettest -D -r ${a}
1397 run_cmd_nsb nettest -D -r ${a}
1398 log_test_addr ${a} $? 1 "No server"
1403 run_cmd nettest -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
1404 sleep 1
1405 run_cmd_nsb nettest -D -r ${a}
1414 run_cmd_nsb nettest -D -s &
1415 sleep 1
1416 run_cmd nettest -D -r ${a} -0 ${NSA_IP}
1420 run_cmd_nsb nettest -D -s &
1421 sleep 1
1422 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP}
1426 run_cmd_nsb nettest -D -s &
1427 sleep 1
1428 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP}
1432 run_cmd_nsb nettest -D -s &
1433 sleep 1
1434 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP}
1439 run_cmd nettest -D -r ${a}
1440 log_test_addr ${a} $? 1 "No server, unbound client"
1444 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1445 log_test_addr ${a} $? 1 "No server, device client"
1454 run_cmd nettest -D -s &
1455 sleep 1
1456 run_cmd nettest -D -r ${a} -0 ${a} -1 ${a}
1462 run_cmd nettest -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
1463 sleep 1
1464 run_cmd nettest -D -r ${a}
1471 run_cmd nettest -s -D -I ${NSA_DEV} &
1472 sleep 1
1473 run_cmd nettest -D -r ${a}
1474 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1479 run_cmd nettest -s -D &
1480 sleep 1
1481 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1485 run_cmd nettest -s -D &
1486 sleep 1
1487 run_cmd nettest -D -d ${NSA_DEV} -C -r ${a}
1491 run_cmd nettest -s -D &
1492 sleep 1
1493 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a}
1496 # IPv4 with device bind has really weird behavior - it overrides the
1503 run_cmd nettest -D -s &
1504 sleep 1
1505 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1510 run_cmd nettest -D -s &
1511 sleep 1
1512 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C
1513 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
1517 run_cmd nettest -D -s &
1518 sleep 1
1519 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S
1520 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
1525 run_cmd nettest -D -s -I ${NSA_DEV} -3 ${NSA_DEV} &
1526 sleep 1
1527 run_cmd nettest -D -d ${NSA_DEV} -r ${a} -0 ${a}
1531 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1550 run_cmd nettest -D -s &
1551 sleep 1
1552 run_cmd_nsb nettest -D -r ${a}
1553 log_test_addr ${a} $? 1 "Global server"
1556 run_cmd nettest -D -I ${VRF} -s -3 ${NSA_DEV} &
1557 sleep 1
1558 run_cmd_nsb nettest -D -r ${a}
1562 run_cmd nettest -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
1563 sleep 1
1564 run_cmd_nsb nettest -D -r ${a}
1569 run_cmd_nsb nettest -D -r ${a}
1570 log_test_addr ${a} $? 1 "No server"
1574 run_cmd nettest -D -s &
1575 sleep 1
1576 run_cmd nettest -D -d ${VRF} -r ${a}
1577 log_test_addr ${a} $? 1 "Global server, VRF client, local connection"
1582 run_cmd nettest -s -D -I ${VRF} -3 ${NSA_DEV} &
1583 sleep 1
1584 run_cmd nettest -D -d ${VRF} -r ${a}
1588 run_cmd nettest -s -D -I ${VRF} -3 ${NSA_DEV} &
1589 sleep 1
1590 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1595 run_cmd nettest -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
1596 sleep 1
1597 run_cmd nettest -D -d ${VRF} -r ${a}
1601 run_cmd nettest -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
1602 sleep 1
1603 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1608 set_sysctl net.ipv4.udp_l3mdev_accept=1
1616 run_cmd nettest -D -s -3 ${NSA_DEV} &
1617 sleep 1
1618 run_cmd_nsb nettest -D -r ${a}
1622 run_cmd nettest -D -I ${VRF} -s -3 ${NSA_DEV} &
1623 sleep 1
1624 run_cmd_nsb nettest -D -r ${a}
1628 run_cmd nettest -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
1629 sleep 1
1630 run_cmd_nsb nettest -D -r ${a}
1635 run_cmd_nsb nettest -D -r ${a}
1636 log_test_addr ${a} $? 1 "No server"
1643 run_cmd_nsb nettest -D -s &
1644 sleep 1
1645 run_cmd nettest -d ${VRF} -D -r ${NSB_IP} -1 ${NSA_IP}
1649 run_cmd_nsb nettest -D -s &
1650 sleep 1
1651 run_cmd nettest -d ${NSA_DEV} -D -r ${NSB_IP} -1 ${NSA_IP}
1654 # negative test - should fail
1657 run_cmd nettest -D -d ${VRF} -r ${NSB_IP}
1658 log_test $? 1 "No server, VRF client"
1662 run_cmd nettest -D -d ${NSA_DEV} -r ${NSB_IP}
1663 log_test $? 1 "No server, enslaved device client"
1670 run_cmd nettest -D -s -3 ${NSA_DEV} &
1671 sleep 1
1672 run_cmd nettest -D -d ${VRF} -r ${a}
1676 run_cmd nettest -s -D -I ${VRF} -3 ${NSA_DEV} &
1677 sleep 1
1678 run_cmd nettest -D -d ${VRF} -r ${a}
1682 run_cmd nettest -s -D -I ${VRF} -3 ${NSA_DEV} &
1683 sleep 1
1684 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1688 run_cmd nettest -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
1689 sleep 1
1690 run_cmd nettest -D -d ${VRF} -r ${a}
1694 run_cmd nettest -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
1695 sleep 1
1696 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1702 run_cmd nettest -D -s -3 ${VRF} &
1703 sleep 1
1704 run_cmd nettest -D -d ${VRF} -r ${a}
1711 run_cmd nettest -s -D -I ${VRF} -3 ${VRF} &
1712 sleep 1
1713 run_cmd nettest -D -d ${VRF} -r ${a}
1717 # negative test - should fail
1723 run_cmd nettest -D -d ${VRF} -r ${a}
1724 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
1741 set_sysctl net.ipv4.udp_l3mdev_accept=1
1762 run_cmd nettest -s -R -P icmp -l ${a} -b
1766 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1775 run_cmd nettest -c ${a} -r ${NSB_IP} -t1 -b
1779 run_cmd nettest -c ${a} -r ${NSB_IP} -d ${NSA_DEV} -t1 -b
1789 #run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
1790 #log_test_addr ${a} $? 1 "TCP socket bind to out of scope local address"
1801 run_cmd nettest -s -R -P icmp -l ${a} -b
1805 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1808 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
1815 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
1816 log_test_addr ${a} $? 1 "Raw socket bind to out of scope address after VRF bind"
1824 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
1828 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
1835 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
1836 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
1840 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
1841 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
1862 local desc="$1"
1873 run_cmd nettest ${varg} -s &
1874 sleep 1
1875 run_cmd_nsb nettest ${varg} -r ${a} &
1878 sleep 1
1887 run_cmd nettest ${varg} -s -I ${VRF} &
1888 sleep 1
1889 run_cmd_nsb nettest ${varg} -r ${a} &
1892 sleep 1
1900 run_cmd nettest ${varg} -s -I ${NSA_DEV} &
1901 sleep 1
1902 run_cmd_nsb nettest ${varg} -r ${a} &
1905 sleep 1
1914 run_cmd_nsb nettest ${varg} -s &
1915 sleep 1
1916 run_cmd nettest ${varg} -d ${VRF} -r ${NSB_IP} &
1919 sleep 1
1925 run_cmd_nsb nettest ${varg} -s &
1926 sleep 1
1927 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${NSB_IP} &
1930 sleep 1
1941 run_cmd nettest ${varg} -s &
1942 sleep 1
1943 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
1946 sleep 1
1955 run_cmd nettest ${varg} -I ${VRF} -s &
1956 sleep 1
1957 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
1960 sleep 1
1968 run_cmd nettest ${varg} -s &
1969 sleep 1
1970 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1973 sleep 1
1979 run_cmd nettest ${varg} -I ${VRF} -s &
1980 sleep 1
1981 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1984 sleep 1
1990 run_cmd nettest ${varg} -I ${NSA_DEV} -s &
1991 sleep 1
1992 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1995 sleep 1
2007 run_cmd_nsb ping -f ${a} &
2010 sleep 1
2011 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
2018 run_cmd ping -f -I ${VRF} ${a} &
2021 sleep 1
2022 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
2027 log_section "Run time tests - ipv4"
2033 ipv4_rt "TCP active socket" "-n -1"
2036 ipv4_rt "TCP passive socket" "-i"
2055 run_cmd ${ping6} -c1 -w1 ${a}
2062 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2066 run_cmd ${ping6} -c1 -w1 -I ${NSA_LO_IP6} ${a}
2076 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2083 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1 ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2086 run_cmd ${ping6} -c1 -w1 ${a}
2093 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2097 for a in ${NSA_LO_IP6} ::1
2101 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2109 setup_cmd ip -6 rule add pref 32765 from all lookup local
2110 setup_cmd ip -6 rule del pref 0 from all lookup local
2111 setup_cmd ip -6 rule add pref 50 to ${NSB_LO_IP6} prohibit
2112 setup_cmd ip -6 rule add pref 51 from ${NSB_IP6} prohibit
2115 run_cmd ${ping6} -c1 -w1 ${a}
2119 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2125 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2126 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2128 setup_cmd ip -6 rule add pref 0 from all lookup local
2129 setup_cmd ip -6 rule del pref 32765 from all lookup local
2130 setup_cmd ip -6 rule del pref 50 to ${NSB_LO_IP6} prohibit
2131 setup_cmd ip -6 rule del pref 51 from ${NSB_IP6} prohibit
2137 setup_cmd ip -6 route del ${NSB_LO_IP6}
2138 setup_cmd ip -6 route add unreachable ${NSB_LO_IP6} metric 10
2139 setup_cmd ip -6 route add unreachable ${NSB_IP6} metric 10
2142 run_cmd ${ping6} -c1 -w1 ${a}
2146 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2152 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2153 log_test_addr ${a} $? 1 "ping in, blocked by route"
2160 setup_cmd ip -6 ro del unreachable ${NSB_LO_IP6}
2161 setup_cmd ip -6 ro del unreachable ${NSB_IP6}
2164 run_cmd ${ping6} -c1 -w1 ${a}
2168 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2177 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
2185 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2193 run_cmd ${ping6} -c1 -w1 ${a}
2200 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2207 run_cmd ip vrf exec ${VRF} ${ping6} -c1 -w1 -I ${VRF_IP6} ${a}
2217 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2224 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2225 log_test_addr ${a} $? 1 "ping in"
2230 for a in ${NSA_IP6} ${VRF_IP6} ::1
2234 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2241 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2245 # LLA to GUA - remove ipv6 global addresses from ns-B
2246 setup_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
2247 setup_cmd_nsb ip -6 addr del ${NSB_LO_IP6}/128 dev lo
2248 setup_cmd_nsb ip -6 ro add ${NSA_IP6}/128 via ${NSA_LINKIP6} dev ${NSB_DEV}
2253 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
2257 setup_cmd_nsb ip -6 ro del ${NSA_IP6}/128 via ${NSA_LINKIP6} dev ${NSB_DEV}
2258 setup_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV}
2259 setup_cmd_nsb ip -6 addr add ${NSB_LO_IP6}/128 dev lo
2265 setup_cmd ip -6 rule add pref 50 to ${NSB_LO_IP6} prohibit
2266 setup_cmd ip -6 rule add pref 51 from ${NSB_IP6} prohibit
2269 run_cmd ${ping6} -c1 -w1 ${a}
2273 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2279 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2280 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2283 setup_cmd ip -6 rule del pref 50 to ${NSB_LO_IP6} prohibit
2284 setup_cmd ip -6 rule del pref 51 from ${NSB_IP6} prohibit
2290 setup_cmd ip -6 ro del ${NSB_LO_IP6} vrf ${VRF}
2293 run_cmd ${ping6} -c1 -w1 ${a}
2297 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2300 ip -netns ${NSB} -6 ro del ${NSA_LO_IP6}
2303 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2334 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NSB_IP6} &
2335 sleep 1
2336 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2342 run_cmd nettest -6 -s &
2343 sleep 1
2344 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2350 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NSB_IP6} &
2351 sleep 1
2352 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2358 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NSB_LO_IP6} &
2359 sleep 1
2360 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2364 # MD5 extension - prefix length
2369 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2370 sleep 1
2371 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2377 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2378 sleep 1
2379 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2385 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2386 sleep 1
2387 run_cmd_nsb nettest -6 -c ${NSB_LO_IP6} -r ${NSA_IP6} -X ${MD5_PW}
2402 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2403 sleep 1
2404 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2410 run_cmd nettest -6 -s -I ${VRF} &
2411 sleep 1
2412 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2418 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2419 sleep 1
2420 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2426 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_LO_IP6} &
2427 sleep 1
2428 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2432 # MD5 extension - prefix length
2437 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2438 sleep 1
2439 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2445 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2446 sleep 1
2447 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2453 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2454 sleep 1
2455 run_cmd_nsb nettest -6 -c ${NSB_LO_IP6} -r ${NSA_IP6} -X ${MD5_PW}
2463 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2464 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NSB_IP6} &
2465 sleep 1
2466 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2470 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2471 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NSB_IP6} &
2472 sleep 1
2473 run_cmd_nsc nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2478 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2479 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NSB_IP6} &
2480 sleep 1
2481 run_cmd_nsc nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2486 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NSB_IP6} &
2487 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NSB_IP6} &
2488 sleep 1
2489 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2493 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2494 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2495 sleep 1
2496 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2500 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2501 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2502 sleep 1
2503 run_cmd_nsc nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2508 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2509 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2510 sleep 1
2511 run_cmd_nsc nettest -6 -r ${NSA_IP6} -X ${MD5_PW}
2516 run_cmd nettest -6 -s -I ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2517 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2518 sleep 1
2519 run_cmd_nsb nettest -6 -r ${NSA_IP6} -X ${MD5_WRONG_PW}
2526 run_cmd nettest -6 -s -I ${NSA_DEV} -M ${MD5_PW} -m ${NSB_IP6}
2527 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
2530 run_cmd nettest -6 -s -I ${NSA_DEV} -M ${MD5_PW} -m ${NS_NET6}
2531 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
2545 run_cmd nettest -6 -s &
2546 sleep 1
2547 run_cmd_nsb nettest -6 -r ${a}
2556 run_cmd_nsb nettest -6 -r ${a}
2557 log_test_addr ${a} $? 1 "No server"
2566 run_cmd_nsb nettest -6 -s &
2567 sleep 1
2568 run_cmd nettest -6 -r ${a}
2575 run_cmd_nsb nettest -6 -s &
2576 sleep 1
2577 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2585 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2586 log_test_addr ${a} $? 1 "No server, device client"
2592 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2595 run_cmd nettest -6 -s &
2596 sleep 1
2597 run_cmd nettest -6 -r ${a}
2603 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2604 sleep 1
2605 run_cmd nettest -6 -r ${a} -0 ${a}
2608 for a in ${NSA_LO_IP6} ::1
2612 run_cmd nettest -6 -s -I ${NSA_DEV} &
2613 sleep 1
2614 run_cmd nettest -6 -r ${a}
2615 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
2620 run_cmd nettest -6 -s &
2621 sleep 1
2622 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2625 for a in ${NSA_LO_IP6} ::1
2629 run_cmd nettest -6 -s &
2630 sleep 1
2631 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2632 log_test_addr ${a} $? 1 "Global server, device client, local connection"
2638 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2639 sleep 1
2640 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2648 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2649 log_test_addr ${a} $? 1 "No server, device client, local conn"
2671 run_cmd nettest -6 -s &
2672 sleep 1
2673 run_cmd_nsb nettest -6 -r ${a}
2674 log_test_addr ${a} $? 1 "Global server"
2680 run_cmd nettest -6 -s -I ${VRF} -3 ${VRF} &
2681 sleep 1
2682 run_cmd_nsb nettest -6 -r ${a}
2689 run_cmd nettest -6 -s -I ${VRF} -3 ${NSA_DEV} &
2690 sleep 1
2691 run_cmd_nsb nettest -6 -r ${a}
2697 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2698 sleep 1
2699 run_cmd_nsb nettest -6 -r ${a}
2708 run_cmd_nsb nettest -6 -r ${a}
2709 log_test_addr ${a} $? 1 "No server"
2716 run_cmd nettest -6 -s &
2717 sleep 1
2718 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2719 log_test_addr ${a} $? 1 "Global server, local connection"
2728 set_sysctl net.ipv4.tcp_l3mdev_accept=1
2733 run_cmd nettest -6 -s -3 ${VRF} &
2734 sleep 1
2735 run_cmd_nsb nettest -6 -r ${a}
2742 run_cmd nettest -6 -s -I ${VRF} -3 ${VRF} &
2743 sleep 1
2744 run_cmd_nsb nettest -6 -r ${a}
2751 run_cmd nettest -6 -s -3 ${NSA_DEV} &
2752 sleep 1
2753 run_cmd_nsb nettest -6 -r ${a}
2757 run_cmd nettest -6 -s -I ${VRF} -3 ${NSA_DEV} &
2758 sleep 1
2759 run_cmd_nsb nettest -6 -r ${a}
2765 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2766 sleep 1
2767 run_cmd_nsb nettest -6 -r ${a}
2776 run_cmd_nsb nettest -6 -r ${a}
2777 log_test_addr ${a} $? 1 "No server"
2785 run_cmd nettest -6 -s -I ${VRF} &
2786 sleep 1
2787 run_cmd nettest -6 -r ${a}
2788 log_test_addr ${a} $? 1 "Global server, local connection"
2798 run_cmd_nsb nettest -6 -s &
2799 sleep 1
2800 run_cmd nettest -6 -r ${a} -d ${VRF}
2807 run_cmd_nsb nettest -6 -s &
2808 sleep 1
2809 run_cmd nettest -6 -r ${a} -d ${VRF}
2810 log_test_addr ${a} $? 1 "Client, VRF bind"
2815 run_cmd_nsb nettest -6 -s &
2816 sleep 1
2817 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2825 run_cmd nettest -6 -r ${a} -d ${VRF}
2826 log_test_addr ${a} $? 1 "No server, VRF client"
2833 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2834 log_test_addr ${a} $? 1 "No server, device client"
2837 for a in ${NSA_IP6} ${VRF_IP6} ::1
2840 run_cmd nettest -6 -s -I ${VRF} -3 ${VRF} &
2841 sleep 1
2842 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
2848 run_cmd nettest -6 -s -I ${VRF} -3 ${VRF} &
2849 sleep 1
2850 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2856 run_cmd nettest -6 -s -I ${VRF} &
2857 sleep 1
2858 run_cmd nettest -6 -r ${a}
2859 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
2862 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2863 sleep 1
2864 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
2870 run_cmd nettest -6 -s -I ${NSA_DEV} -3 ${NSA_DEV} &
2871 sleep 1
2872 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2889 set_sysctl net.ipv4.tcp_l3mdev_accept=1
2910 run_cmd nettest -6 -D -s -3 ${NSA_DEV} &
2911 sleep 1
2912 run_cmd_nsb nettest -6 -D -r ${a}
2916 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
2917 sleep 1
2918 run_cmd_nsb nettest -6 -D -r ${a}
2924 run_cmd nettest -6 -D -s -3 ${NSA_DEV} &
2925 sleep 1
2926 run_cmd_nsb nettest -6 -D -r ${a}
2930 # bound server, but it does not - hence this is more documenting
2934 #run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
2935 #sleep 1
2936 #run_cmd_nsb nettest -6 -D -r ${a}
2937 #log_test_addr ${a} $? 1 "Device server"
2939 # negative test - should fail
2944 run_cmd_nsb nettest -6 -D -r ${a}
2945 log_test_addr ${a} $? 1 "No server"
2954 run_cmd_nsb nettest -6 -D -s &
2955 sleep 1
2956 run_cmd nettest -6 -D -r ${a} -0 ${NSA_IP6}
2960 run_cmd_nsb nettest -6 -D -s &
2961 sleep 1
2962 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP6}
2966 run_cmd_nsb nettest -6 -D -s &
2967 sleep 1
2968 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP6}
2972 run_cmd_nsb nettest -6 -D -s &
2973 sleep 1
2974 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP6}
2979 run_cmd nettest -6 -D -r ${a}
2980 log_test_addr ${a} $? 1 "No server, unbound client"
2984 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
2985 log_test_addr ${a} $? 1 "No server, device client"
2991 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2994 run_cmd nettest -6 -D -s &
2995 sleep 1
2996 run_cmd nettest -6 -D -r ${a} -0 ${a} -1 ${a}
3002 run_cmd nettest -6 -s -D -I ${NSA_DEV} -3 ${NSA_DEV} &
3003 sleep 1
3004 run_cmd nettest -6 -D -r ${a}
3007 for a in ${NSA_LO_IP6} ::1
3011 run_cmd nettest -6 -s -D -I ${NSA_DEV} &
3012 sleep 1
3013 run_cmd nettest -6 -D -r ${a}
3014 log_test_addr ${a} $? 1 "Device server, local connection"
3019 run_cmd nettest -6 -s -D &
3020 sleep 1
3021 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3025 run_cmd nettest -6 -s -D &
3026 sleep 1
3027 run_cmd nettest -6 -D -d ${NSA_DEV} -C -r ${a}
3031 run_cmd nettest -6 -s -D &
3032 sleep 1
3033 run_cmd nettest -6 -D -d ${NSA_DEV} -S -r ${a}
3036 for a in ${NSA_LO_IP6} ::1
3040 run_cmd nettest -6 -D -s &
3041 sleep 1
3042 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3043 log_test_addr ${a} $? 1 "Global server, device client, local connection"
3047 run_cmd nettest -6 -D -s &
3048 sleep 1
3049 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C
3050 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
3054 run_cmd nettest -6 -D -s &
3055 sleep 1
3056 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S
3057 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
3062 run_cmd nettest -6 -D -s -I ${NSA_DEV} -3 ${NSA_DEV} &
3063 sleep 1
3064 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a} -0 ${a}
3069 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3070 log_test_addr ${a} $? 1 "No server, device client, local conn"
3073 run_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
3074 run_cmd_nsb ip -6 ro add ${NSA_IP6}/128 dev ${NSB_DEV}
3076 run_cmd nettest -6 -s -D &
3077 sleep 1
3078 run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
3079 log_test $? 0 "UDP in - LLA to GUA"
3081 run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
3082 run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
3100 run_cmd nettest -6 -D -s &
3101 sleep 1
3102 run_cmd_nsb nettest -6 -D -r ${a}
3103 log_test_addr ${a} $? 1 "Global server"
3109 run_cmd nettest -6 -D -I ${VRF} -s -3 ${NSA_DEV} &
3110 sleep 1
3111 run_cmd_nsb nettest -6 -D -r ${a}
3118 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3119 sleep 1
3120 run_cmd_nsb nettest -6 -D -r ${a}
3124 # negative test - should fail
3129 run_cmd_nsb nettest -6 -D -r ${a}
3130 log_test_addr ${a} $? 1 "No server"
3140 run_cmd nettest -6 -D -s &
3141 sleep 1
3142 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3143 log_test_addr ${a} $? 1 "Global server, VRF client, local conn"
3149 run_cmd nettest -6 -D -I ${VRF} -s &
3150 sleep 1
3151 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3158 run_cmd nettest -6 -D -s &
3159 sleep 1
3160 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3161 log_test_addr ${a} $? 1 "Global server, device client, local conn"
3164 run_cmd nettest -6 -D -I ${VRF} -s -3 ${NSA_DEV} &
3165 sleep 1
3166 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3170 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3171 sleep 1
3172 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3176 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3177 sleep 1
3178 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3183 set_sysctl net.ipv4.udp_l3mdev_accept=1
3191 run_cmd nettest -6 -D -s -3 ${NSA_DEV} &
3192 sleep 1
3193 run_cmd_nsb nettest -6 -D -r ${a}
3200 run_cmd nettest -6 -D -I ${VRF} -s -3 ${NSA_DEV} &
3201 sleep 1
3202 run_cmd_nsb nettest -6 -D -r ${a}
3209 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3210 sleep 1
3211 run_cmd_nsb nettest -6 -D -r ${a}
3215 # negative test - should fail
3219 run_cmd_nsb nettest -6 -D -r ${a}
3220 log_test_addr ${a} $? 1 "No server"
3227 run_cmd_nsb nettest -6 -D -s &
3228 sleep 1
3229 run_cmd nettest -6 -D -d ${VRF} -r ${NSB_IP6}
3232 # negative test - should fail
3234 run_cmd nettest -6 -D -d ${VRF} -r ${NSB_IP6}
3235 log_test $? 1 "No server, VRF client"
3238 run_cmd_nsb nettest -6 -D -s &
3239 sleep 1
3240 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_IP6}
3243 # negative test - should fail
3245 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_IP6}
3246 log_test $? 1 "No server, enslaved device client"
3253 run_cmd nettest -6 -D -s -3 ${NSA_DEV} &
3254 sleep 1
3255 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3259 run_cmd nettest -6 -D -I ${VRF} -s -3 ${NSA_DEV} &
3260 sleep 1
3261 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3267 run_cmd nettest -6 -D -s -3 ${VRF} &
3268 sleep 1
3269 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3273 run_cmd nettest -6 -D -I ${VRF} -s -3 ${VRF} &
3274 sleep 1
3275 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3278 # negative test - should fail
3282 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3283 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
3289 run_cmd nettest -6 -D -s -3 ${NSA_DEV} &
3290 sleep 1
3291 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3295 run_cmd nettest -6 -D -I ${VRF} -s -3 ${NSA_DEV} &
3296 sleep 1
3297 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3301 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3302 sleep 1
3303 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3307 run_cmd nettest -6 -D -I ${NSA_DEV} -s -3 ${NSA_DEV} &
3308 sleep 1
3309 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3313 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3314 log_test_addr ${a} $? 1 "No server, device client, local conn"
3319 run_cmd nettest -6 -D -s &
3320 sleep 1
3321 run_cmd_nsb nettest -6 -D -d ${NSB_DEV} -r ${NSA_LINKIP6}
3325 run_cmd_nsb nettest -6 -D -d ${NSB_DEV} -r ${NSA_LINKIP6}
3326 log_test $? 1 "No server, linklocal IP"
3330 run_cmd_nsb nettest -6 -D -s &
3331 sleep 1
3332 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_LINKIP6}
3336 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_LINKIP6}
3337 log_test $? 1 "No server, device client, peer linklocal IP"
3341 run_cmd nettest -6 -D -s &
3342 sleep 1
3343 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSA_LINKIP6}
3344 log_test $? 0 "Enslaved device client, local conn - linklocal IP"
3347 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSA_LINKIP6}
3348 log_test $? 1 "No server, device client, local conn - linklocal IP"
3351 run_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
3352 run_cmd_nsb ip -6 ro add ${NSA_IP6}/128 dev ${NSB_DEV}
3354 run_cmd nettest -6 -s -D &
3355 sleep 1
3356 run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
3357 log_test $? 0 "UDP in - LLA to GUA"
3359 run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
3360 run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
3366 set_sysctl net.ipv4.udp_early_demux=1
3378 set_sysctl net.ipv4.udp_l3mdev_accept=1
3397 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -b
3401 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3410 run_cmd nettest -6 -s -l ${a} -t1 -b
3414 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3420 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3421 log_test_addr ${a} $? 1 "TCP socket bind to out of scope local address"
3432 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3436 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3443 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3444 log_test_addr ${a} $? 1 "Raw socket bind to invalid local address after vrf bind"
3453 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3459 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3464 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3465 log_test_addr ${a} $? 1 "TCP socket bind to VRF address with device bind"
3470 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3471 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
3475 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3476 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
3498 local desc="$1"
3499 local varg="-6 $2"
3509 run_cmd nettest ${varg} -s &
3510 sleep 1
3511 run_cmd_nsb nettest ${varg} -r ${a} &
3514 sleep 1
3523 run_cmd nettest ${varg} -I ${VRF} -s &
3524 sleep 1
3525 run_cmd_nsb nettest ${varg} -r ${a} &
3528 sleep 1
3537 run_cmd nettest ${varg} -I ${NSA_DEV} -s &
3538 sleep 1
3539 run_cmd_nsb nettest ${varg} -r ${a} &
3542 sleep 1
3552 run_cmd_nsb nettest ${varg} -s &
3553 sleep 1
3554 run_cmd nettest ${varg} -d ${VRF} -r ${NSB_IP6} &
3557 sleep 1
3563 run_cmd_nsb nettest ${varg} -s &
3564 sleep 1
3565 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${NSB_IP6} &
3568 sleep 1
3580 run_cmd nettest ${varg} -s &
3581 sleep 1
3582 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3585 sleep 1
3594 run_cmd nettest ${varg} -I ${VRF} -s &
3595 sleep 1
3596 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3599 sleep 1
3607 run_cmd nettest ${varg} -s &
3608 sleep 1
3609 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3612 sleep 1
3618 run_cmd nettest ${varg} -I ${VRF} -s &
3619 sleep 1
3620 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3623 sleep 1
3629 run_cmd nettest ${varg} -I ${NSA_DEV} -s &
3630 sleep 1
3631 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3634 sleep 1
3645 run_cmd_nsb ${ping6} -f ${a} &
3648 sleep 1
3649 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
3654 run_cmd ${ping6} -f ${NSB_IP6} -I ${VRF} &
3655 sleep 1
3657 sleep 1
3658 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
3663 log_section "Run time tests - ipv6"
3669 ipv6_rt "TCP active socket" "-n -1"
3672 ipv6_rt "TCP passive socket" "-i"
3675 ipv6_rt "UDP active socket" "-D -n -1"
3688 run_cmd nettest -s &
3689 sleep 1
3690 run_cmd_nsb nettest -r ${a}
3691 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3697 local stype="$1"
3701 [ "${stype}" = "UDP" ] && arg="-D"
3706 run_cmd nettest ${arg} -s &
3707 sleep 1
3708 run_cmd_nsb nettest ${arg} -r ${a}
3709 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3719 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3727 run_cmd iptables -F
3728 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3729 run_cmd iptables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3735 iptables -F
3745 run_cmd nettest -6 -s &
3746 sleep 1
3747 run_cmd_nsb nettest -6 -r ${a}
3748 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3754 local stype="$1"
3758 [ "${stype}" = "UDP" ] && arg="$arg -D"
3763 run_cmd nettest -6 -s ${arg} &
3764 sleep 1
3765 run_cmd_nsb nettest -6 ${arg} -r ${a}
3766 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3776 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3783 run_cmd ip6tables -F
3784 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
3785 run_cmd ip6tables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
3791 ip6tables -F
3798 # ns-A device enslaved to bridge. Verify traffic with and without
3806 setup_cmd ip -6 addr del dev ${NSA_DEV} ${NSA_IP6}/64
3810 setup_cmd ip -6 addr add dev br0 ${NSA_IP6}/64 nodad
3821 run_cmd ping -c1 -w1 -I br0 ${NSB_IP}
3822 log_test $? 0 "Bridge into VRF - IPv4 ping out"
3825 run_cmd ${ping6} -c1 -w1 -I br0 ${NSB_IP6}
3826 log_test $? 0 "Bridge into VRF - IPv6 ping out"
3829 run_cmd_nsb ping -c1 -w1 ${NSA_IP}
3830 log_test $? 0 "Bridge into VRF - IPv4 ping in"
3833 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
3834 log_test $? 0 "Bridge into VRF - IPv6 ping in"
3837 if [ $? -eq 0 ]; then
3839 run_cmd ping -c1 -w1 -I br0 ${NSB_IP}
3840 log_test $? 0 "Bridge into VRF with br_netfilter - IPv4 ping out"
3843 run_cmd ${ping6} -c1 -w1 -I br0 ${NSB_IP6}
3844 log_test $? 0 "Bridge into VRF with br_netfilter - IPv6 ping out"
3847 run_cmd_nsb ping -c1 -w1 ${NSA_IP}
3848 log_test $? 0 "Bridge into VRF with br_netfilter - IPv4 ping in"
3851 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
3852 log_test $? 0 "Bridge into VRF with br_netfilter - IPv6 ping in"
3859 setup_cmd ip -6 addr add dev br0.100 2001:db8:101::1/64 nodad
3863 setup_cmd_nsb ip -6 addr add dev vlan100 2001:db8:101::2/64 nodad
3865 sleep 1
3870 run_cmd ping -c1 -w1 -I br0.100 172.16.101.2
3871 log_test $? 0 "Bridge vlan into VRF - IPv4 ping out"
3874 run_cmd ${ping6} -c1 -w1 -I br0.100 2001:db8:101::2
3875 log_test $? 0 "Bridge vlan into VRF - IPv6 ping out"
3878 run_cmd_nsb ping -c1 -w1 172.16.101.1
3879 log_test $? 0 "Bridge vlan into VRF - IPv4 ping in"
3882 run_cmd_nsb ${ping6} -c1 -w1 2001:db8:101::1
3883 log_test $? 0 "Bridge vlan into VRF - IPv6 ping in"
3886 if [ $? -eq 0 ]; then
3888 run_cmd ping -c1 -w1 -I br0.100 172.16.101.2
3889 log_test $? 0 "Bridge vlan into VRF with br_netfilter - IPv4 ping out"
3892 run_cmd ${ping6} -c1 -w1 -I br0.100 2001:db8:101::2
3893 log_test $? 0 "Bridge vlan into VRF with br_netfilter - IPv6 ping out"
3896 run_cmd_nsb ping -c1 -w1 172.16.101.1
3897 log_test $? 0 "Bridge vlan into VRF - IPv4 ping in"
3900 run_cmd_nsb ${ping6} -c1 -w1 2001:db8:101::1
3901 log_test $? 0 "Bridge vlan into VRF - IPv6 ping in"
3909 # ns-A device is connected to both ns-B and ns-C on a single VRF but only has
3914 # only want reply from ns-A
3915 setup_cmd_nsb sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1
3916 setup_cmd_nsc sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1
3919 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3920 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Pre cycle, ping out ns-B"
3922 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3923 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Pre cycle, ping out ns-C"
3925 # cycle/flap the first ns-A interface
3928 sleep 1
3931 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3932 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-B"
3933 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3934 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-C"
3936 # cycle/flap the second ns-A interface
3939 sleep 1
3942 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3943 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-B"
3944 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3945 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-C"
3948 # Perform IPv{4,6} SNAT on ns-A, and verify TCP connection is successfully
3949 # established with ns-B.
3956 …run_cmd iptables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO_…
3957 …run_cmd ip6tables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO…
3959 run_cmd_nsb nettest -s -l ${NSB_IP} -p ${port} &
3960 sleep 1
3961 run_cmd nettest -d ${VRF} -r ${NSB_IP} -p ${port}
3964 run_cmd_nsb nettest -6 -s -l ${NSB_IP6} -p ${port} &
3965 sleep 1
3966 run_cmd nettest -6 -d ${VRF} -r ${NSB_IP6} -p ${port}
3970 …run_cmd iptables -t nat -D POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO_…
3971 …run_cmd ip6tables -t nat -D POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO…
3993 -4 IPv4 tests only
3994 -6 IPv6 tests only
3995 -t <test> Test name/set to run
3996 -p Pause on fail
3997 -P Pause after each test
3998 -v Be verbose
4016 6) TESTS=ipv6;;
4020 v) VERBOSE=1;;
4022 *) usage; exit 1;;
4032 if [ -z "$TESTS" ]; then
4041 if [ $? -ne 0 ]; then
4046 declare -i nfail=0
4047 declare -i nsuccess=0