• Home
  • Raw
  • Download

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
56 NSA_IP6=2001:db8:1::1
57 NSB_IP6=2001:db8:1::2
58 VRF_IP6=2001:db8:3::1
59 NS_NET6=2001:db8:1::/120
63 NSA_LO_IP6=2001:db8:2::1
69 MCAST=ff02::1
74 NSA=ns-A
75 NSB=ns-B
76 NSC=ns-C
82 which ping6 > /dev/null 2>&1 && ping6=$(which ping6) || ping6=$(which ping)
85 if [ -f /proc/sys/crypto/fips_enabled ]; then
96 local rc=$1
100 [ "${VERBOSE}" = "1" ] && echo
102 if [ ${rc} -eq ${expected} ]; then
103 nsuccess=$((nsuccess+1))
104 printf "TEST: %-70s [ OK ]\n" "${msg}"
106 nfail=$((nfail+1))
107 printf "TEST: %-70s [FAIL]\n" "${msg}"
112 [ "$a" = "q" ] && exit 1
120 [ "$a" = "q" ] && exit 1
128 local addr=$1
135 log_test $rc $expected "$msg - ${astr}"
160 if [ "${VERBOSE}" = "1" ]; then
168 if [ "${VERBOSE}" = "1" ]; then
177 if [ "${VERBOSE}" = "1" ]; then
185 killall nettest ping ping6 >/dev/null 2>&1
186 sleep 1
194 if [ "$VERBOSE" = "1" ]; then
198 out=$($cmd 2>&1)
200 if [ "$VERBOSE" = "1" -a -n "$out" ]; then
229 if [ $rc -ne 0 ]; then
251 if [ $rc -ne 0 ]; then
273 if [ $rc -ne 0 ]; then
288 # set sysctl values in NS-A
293 run_cmd sysctl -q -w $*
301 case "$1" in
303 ::1) echo "IPv6 loopback";;
305 ${NSA_IP}) echo "ns-A IP";;
306 ${NSA_IP6}) echo "ns-A IPv6";;
307 ${NSA_LO_IP}) echo "ns-A loopback IP";;
308 ${NSA_LO_IP6}) echo "ns-A loopback IPv6";;
309 ${NSA_LINKIP6}|${NSA_LINKIP6}%*) echo "ns-A IPv6 LLA";;
311 ${NSB_IP}) echo "ns-B IP";;
312 ${NSB_IP6}) echo "ns-B IPv6";;
313 ${NSB_LO_IP}) echo "ns-B loopback IP";;
314 ${NSB_LO_IP6}) echo "ns-B loopback IPv6";;
315 ${NSB_LINKIP6}|${NSB_LINKIP6}%*) echo "ns-B IPv6 LLA";;
328 local ns=$1
332 addr=$(ip -netns ${ns} -6 -br addr show dev ${dev} | \
342 [ -z "$addr" ] && return 1
354 local ns=$1
360 ip -netns ${ns} link add ${vrf} type vrf table ${table}
361 ip -netns ${ns} link set ${vrf} up
362 ip -netns ${ns} route add vrf ${vrf} unreachable default metric 8192
363 ip -netns ${ns} -6 route add vrf ${vrf} unreachable default metric 8192
365 ip -netns ${ns} addr add 127.0.0.1/8 dev ${vrf}
366 ip -netns ${ns} -6 addr add ::1 dev ${vrf} nodad
367 if [ "${addr}" != "-" ]; then
368 ip -netns ${ns} addr add dev ${vrf} ${addr}
370 if [ "${addr6}" != "-" ]; then
371 ip -netns ${ns} -6 addr add dev ${vrf} ${addr6}
374 ip -netns ${ns} ru del pref 0
375 ip -netns ${ns} ru add pref 32765 from all lookup local
376 ip -netns ${ns} -6 ru del pref 0
377 ip -netns ${ns} -6 ru add pref 32765 from all lookup local
382 local ns=$1
388 ip -netns ${ns} link set lo up
389 if [ "${addr}" != "-" ]; then
390 ip -netns ${ns} addr add dev lo ${addr}
392 if [ "${addr6}" != "-" ]; then
393 ip -netns ${ns} -6 addr add dev lo ${addr6}
396 ip -netns ${ns} ro add unreachable default metric 8192
397 ip -netns ${ns} -6 ro add unreachable default metric 8192
399 ip netns exec ${ns} sysctl -qw net.ipv4.ip_forward=1
400 ip netns exec ${ns} sysctl -qw net.ipv6.conf.all.keep_addr_on_down=1
401 ip netns exec ${ns} sysctl -qw net.ipv6.conf.all.forwarding=1
402 ip netns exec ${ns} sysctl -qw net.ipv6.conf.default.forwarding=1
408 local ns1=$1
413 local ns2_dev=$6
417 ip -netns ${ns1} li add ${ns1_dev} type veth peer name tmp
418 ip -netns ${ns1} li set ${ns1_dev} up
419 ip -netns ${ns1} li set tmp netns ${ns2} name ${ns2_dev}
420 ip -netns ${ns2} li set ${ns2_dev} up
422 if [ "${ns1_addr}" != "-" ]; then
423 ip -netns ${ns1} addr add dev ${ns1_dev} ${ns1_addr}
424 ip -netns ${ns2} addr add dev ${ns2_dev} ${ns2_addr}
427 if [ "${ns1_addr6}" != "-" ]; then
428 ip -netns ${ns1} addr add dev ${ns1_dev} ${ns1_addr6}
429 ip -netns ${ns2} addr add dev ${ns2_dev} ${ns2_addr6}
436 ip netns | grep -q ${NSA}
437 if [ $? -eq 0 ]; then
438 ip -netns ${NSA} link delete ${VRF}
439 ip -netns ${NSA} ro flush table ${VRF_TABLE}
441 ip -netns ${NSA} addr flush dev ${NSA_DEV}
442 ip -netns ${NSA} -6 addr flush dev ${NSA_DEV}
443 ip -netns ${NSA} link set dev ${NSA_DEV} down
444 ip -netns ${NSA} link del dev ${NSA_DEV}
453 ip netns del ${NSC} >/dev/null 2>&1
458 ip link del ${NSA_DEV2} >/dev/null 2>&1
460 ip netns del ${NSC} >/dev/null 2>&1
465 # some VRF tests use ns-C which has the same config as
466 # ns-B but for a device NOT in the VRF
467 create_ns ${NSC} "-" "-"
474 local with_vrf=${1}
481 set -e
491 # tell ns-A how to get to remote addresses of ns-B
495 ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF}
496 ip -netns ${NSA} ro add vrf ${VRF} ${NSB_LO_IP}/32 via ${NSB_IP} dev ${NSA_DEV}
497 ip -netns ${NSA} -6 ro add vrf ${VRF} ${NSB_LO_IP6}/128 via ${NSB_IP6} dev ${NSA_DEV}
499 ip -netns ${NSB} ro add ${VRF_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
500 ip -netns ${NSB} -6 ro add ${VRF_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}
502 ip -netns ${NSA} ro add ${NSB_LO_IP}/32 via ${NSB_IP} dev ${NSA_DEV}
503 ip -netns ${NSA} ro add ${NSB_LO_IP6}/128 via ${NSB_IP6} dev ${NSA_DEV}
507 # tell ns-B how to get to remote addresses of ns-A
508 ip -netns ${NSB} ro add ${NSA_LO_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
509 ip -netns ${NSB} ro add ${NSA_LO_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}
513 sleep 1
523 set -e
525 create_ns ${NSA} "-" "-"
526 create_ns ${NSB} "-" "-"
527 create_ns ${NSC} "-" "-"
528 connect_ns ${NSA} ${NSA_DEV} "-" "-" \
529 ${NSB} ${NSB_DEV} "-" "-"
530 connect_ns ${NSA} ${NSA_DEV2} "-" "-" \
531 ${NSC} ${NSC_DEV} "-" "-"
537 create_vrf ${NSA} ${VRF} ${VRF_TABLE} "-" "-"
538 ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF}
539 ip -netns ${NSA} link set dev ${NSA_DEV2} vrf ${VRF}
543 sleep 1
559 run_cmd ping -c1 -w1 ${a}
563 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
567 run_cmd ping -c1 -w1 -I ${NSA_LO_IP} ${a}
577 run_cmd_nsb ping -c1 -w1 ${a}
587 run_cmd ping -c1 -w1 ${a}
597 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
607 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
608 log_test_addr ${a} $? 1 "ping local, device bind"
621 run_cmd ping -c1 -w1 ${a}
627 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
632 run_cmd_nsb ping -c1 -w1 ${a}
633 log_test_addr ${a} $? 1 "ping in, blocked by rule"
635 [ "$VERBOSE" = "1" ] && echo
649 run_cmd ping -c1 -w1 ${a}
655 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
660 run_cmd_nsb ping -c1 -w1 ${a}
661 log_test_addr ${a} $? 1 "ping in, blocked by route"
670 run_cmd ping -c1 -w1 ${a}
676 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
684 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
692 run_cmd ping -c1 -w1 -I ${VRF} ${a}
696 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
700 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${NSA_IP} ${a}
704 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${VRF_IP} ${a}
714 run_cmd_nsb ping -c1 -w1 ${a}
725 run_cmd ping -c1 -w1 -I ${VRF} ${a}
735 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
743 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
744 log_test_addr ${a} $? 1 "ping local, device bind"
755 run_cmd ping -c1 -w1 -I ${VRF} ${a}
759 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
765 run_cmd_nsb ping -c1 -w1 ${a}
766 log_test_addr ${a} $? 1 "ping in, blocked by rule"
768 [ "$VERBOSE" = "1" ] && echo
779 run_cmd ping -c1 -w1 -I ${VRF} ${a}
783 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
789 run_cmd_nsb ping -c1 -w1 ${a}
790 log_test_addr ${a} $? 1 "ping in, unreachable route"
802 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
830 run_cmd nettest -s -M ${MD5_PW} -r ${NSB_IP} &
831 sleep 1
832 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
838 run_cmd nettest -s &
839 sleep 1
840 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
846 run_cmd nettest -s -M ${MD5_PW} -r ${NSB_IP} &
847 sleep 1
848 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
854 run_cmd nettest -s -M ${MD5_PW} -r ${NSB_LO_IP} &
855 sleep 1
856 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
860 # MD5 extension - prefix length
865 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
866 sleep 1
867 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
873 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
874 sleep 1
875 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
881 run_cmd nettest -s -M ${MD5_PW} -m ${NS_NET} &
882 sleep 1
883 run_cmd_nsb nettest -l ${NSB_LO_IP} -r ${NSA_IP} -M ${MD5_PW}
898 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
899 sleep 1
900 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
906 run_cmd nettest -s -d ${VRF} &
907 sleep 1
908 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
914 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
915 sleep 1
916 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
922 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_LO_IP} &
923 sleep 1
924 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
928 # MD5 extension - prefix length
933 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
934 sleep 1
935 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
941 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
942 sleep 1
943 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
949 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
950 sleep 1
951 run_cmd_nsb nettest -l ${NSB_LO_IP} -r ${NSA_IP} -M ${MD5_PW}
959 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
960 run_cmd nettest -s -M ${MD5_WRONG_PW} -r ${NSB_IP} &
961 sleep 1
962 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
966 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
967 run_cmd nettest -s -M ${MD5_WRONG_PW} -r ${NSB_IP} &
968 sleep 1
969 run_cmd_nsc nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
974 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
975 run_cmd nettest -s -M ${MD5_WRONG_PW} -r ${NSB_IP} &
976 sleep 1
977 run_cmd_nsc nettest -r ${NSA_IP} -M ${MD5_PW}
982 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP} &
983 run_cmd nettest -s -M ${MD5_WRONG_PW} -r ${NSB_IP} &
984 sleep 1
985 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
989 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
990 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
991 sleep 1
992 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_PW}
996 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
997 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
998 sleep 1
999 run_cmd_nsc nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
1004 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
1005 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
1006 sleep 1
1007 run_cmd_nsc nettest -r ${NSA_IP} -M ${MD5_PW}
1012 run_cmd nettest -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET} &
1013 run_cmd nettest -s -M ${MD5_WRONG_PW} -m ${NS_NET} &
1014 sleep 1
1015 run_cmd_nsb nettest -r ${NSA_IP} -M ${MD5_WRONG_PW}
1022 run_cmd nettest -s -d ${NSA_DEV} -M ${MD5_PW} -r ${NSB_IP}
1023 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
1026 run_cmd nettest -s -d ${NSA_DEV} -M ${MD5_PW} -m ${NS_NET}
1027 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
1041 run_cmd nettest -s &
1042 sleep 1
1043 run_cmd_nsb nettest -r ${a}
1049 run_cmd nettest -s -d ${NSA_DEV} &
1050 sleep 1
1051 run_cmd_nsb nettest -r ${a}
1059 run_cmd_nsb nettest -r ${a}
1060 log_test_addr ${a} $? 1 "No server"
1069 run_cmd_nsb nettest -s &
1070 sleep 1
1071 run_cmd nettest -r ${a} -0 ${NSA_IP}
1075 run_cmd_nsb nettest -s &
1076 sleep 1
1077 run_cmd nettest -r ${a} -d ${NSA_DEV}
1082 run_cmd nettest -r ${a}
1083 log_test_addr ${a} $? 1 "No server, unbound client"
1087 run_cmd nettest -r ${a} -d ${NSA_DEV}
1088 log_test_addr ${a} $? 1 "No server, device client"
1097 run_cmd nettest -s &
1098 sleep 1
1099 run_cmd nettest -r ${a} -0 ${a} -1 ${a}
1105 run_cmd nettest -s -d ${NSA_DEV} &
1106 sleep 1
1107 run_cmd nettest -r ${a} -0 ${a}
1114 run_cmd nettest -s -d ${NSA_DEV} &
1115 sleep 1
1116 run_cmd nettest -r ${a}
1117 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1122 run_cmd nettest -s &
1123 sleep 1
1124 run_cmd nettest -r ${a} -0 ${a} -d ${NSA_DEV}
1131 run_cmd nettest -s &
1132 sleep 1
1133 run_cmd nettest -r ${a} -d ${NSA_DEV}
1134 log_test_addr ${a} $? 1 "Global server, device client, local connection"
1139 run_cmd nettest -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1140 sleep 1
1141 run_cmd nettest -d ${NSA_DEV} -r ${a} -0 ${a}
1146 run_cmd nettest -d ${NSA_DEV} -r ${a}
1147 log_test_addr ${a} $? 1 "No server, device client, local conn"
1149 [ "$fips_enabled" = "1" ] || ipv4_tcp_md5_novrf
1168 run_cmd nettest -s &
1169 sleep 1
1170 run_cmd_nsb nettest -r ${a}
1171 log_test_addr ${a} $? 1 "Global server"
1174 run_cmd nettest -s -d ${VRF} -2 ${VRF} &
1175 sleep 1
1176 run_cmd_nsb nettest -r ${a}
1180 run_cmd nettest -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1181 sleep 1
1182 run_cmd_nsb nettest -r ${a}
1188 run_cmd_nsb nettest -r ${a}
1189 log_test_addr ${a} $? 1 "No server"
1197 run_cmd nettest -s &
1198 sleep 1
1199 run_cmd nettest -r ${a} -d ${NSA_DEV}
1200 log_test_addr ${a} $? 1 "Global server, local connection"
1213 set_sysctl net.ipv4.tcp_l3mdev_accept=1
1219 run_cmd nettest -s -2 ${VRF} &
1220 sleep 1
1221 run_cmd_nsb nettest -r ${a}
1226 run_cmd nettest -s -d ${VRF} -2 ${VRF} &
1227 sleep 1
1228 run_cmd_nsb nettest -r ${a}
1234 run_cmd_nsb nettest -r ${a}
1235 log_test_addr ${a} $? 1 "No server"
1241 run_cmd nettest -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1242 sleep 1
1243 run_cmd_nsb nettest -r ${a}
1251 run_cmd nettest -s -d ${VRF} &
1252 sleep 1
1253 run_cmd nettest -r ${a}
1254 log_test_addr ${a} $? 1 "Global server, local connection"
1263 run_cmd_nsb nettest -s &
1264 sleep 1
1265 run_cmd nettest -r ${a} -d ${VRF}
1269 run_cmd_nsb nettest -s &
1270 sleep 1
1271 run_cmd nettest -r ${a} -d ${NSA_DEV}
1276 run_cmd nettest -r ${a} -d ${VRF}
1277 log_test_addr ${a} $? 1 "No server, VRF client"
1281 run_cmd nettest -r ${a} -d ${NSA_DEV}
1282 log_test_addr ${a} $? 1 "No server, device client"
1288 run_cmd nettest -s -d ${VRF} -2 ${VRF} &
1289 sleep 1
1290 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1296 run_cmd nettest -s -d ${VRF} -2 ${VRF} &
1297 sleep 1
1298 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1303 run_cmd nettest -s -d ${VRF} &
1304 sleep 1
1305 run_cmd nettest -r ${a}
1306 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
1309 run_cmd nettest -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1310 sleep 1
1311 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1315 run_cmd nettest -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1316 sleep 1
1317 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1333 set_sysctl net.ipv4.tcp_l3mdev_accept=1
1354 run_cmd nettest -D -s -2 ${NSA_DEV} &
1355 sleep 1
1356 run_cmd_nsb nettest -D -r ${a}
1361 run_cmd_nsb nettest -D -r ${a}
1362 log_test_addr ${a} $? 1 "No server"
1367 run_cmd nettest -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
1368 sleep 1
1369 run_cmd_nsb nettest -D -r ${a}
1378 run_cmd_nsb nettest -D -s &
1379 sleep 1
1380 run_cmd nettest -D -r ${a} -0 ${NSA_IP}
1384 run_cmd_nsb nettest -D -s &
1385 sleep 1
1386 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP}
1390 run_cmd_nsb nettest -D -s &
1391 sleep 1
1392 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP}
1396 run_cmd_nsb nettest -D -s &
1397 sleep 1
1398 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP}
1403 run_cmd nettest -D -r ${a}
1404 log_test_addr ${a} $? 1 "No server, unbound client"
1408 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1409 log_test_addr ${a} $? 1 "No server, device client"
1418 run_cmd nettest -D -s &
1419 sleep 1
1420 run_cmd nettest -D -r ${a} -0 ${a} -1 ${a}
1426 run_cmd nettest -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
1427 sleep 1
1428 run_cmd nettest -D -r ${a}
1435 run_cmd nettest -s -D -d ${NSA_DEV} &
1436 sleep 1
1437 run_cmd nettest -D -r ${a}
1438 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1443 run_cmd nettest -s -D &
1444 sleep 1
1445 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1449 run_cmd nettest -s -D &
1450 sleep 1
1451 run_cmd nettest -D -d ${NSA_DEV} -C -r ${a}
1455 run_cmd nettest -s -D &
1456 sleep 1
1457 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a}
1460 # IPv4 with device bind has really weird behavior - it overrides the
1467 run_cmd nettest -D -s &
1468 sleep 1
1469 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1474 run_cmd nettest -D -s &
1475 sleep 1
1476 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C
1477 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
1481 run_cmd nettest -D -s &
1482 sleep 1
1483 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S
1484 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
1489 run_cmd nettest -D -s -d ${NSA_DEV} -2 ${NSA_DEV} &
1490 sleep 1
1491 run_cmd nettest -D -d ${NSA_DEV} -r ${a} -0 ${a}
1495 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1514 run_cmd nettest -D -s &
1515 sleep 1
1516 run_cmd_nsb nettest -D -r ${a}
1517 log_test_addr ${a} $? 1 "Global server"
1520 run_cmd nettest -D -d ${VRF} -s -2 ${NSA_DEV} &
1521 sleep 1
1522 run_cmd_nsb nettest -D -r ${a}
1526 run_cmd nettest -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
1527 sleep 1
1528 run_cmd_nsb nettest -D -r ${a}
1533 run_cmd_nsb nettest -D -r ${a}
1534 log_test_addr ${a} $? 1 "No server"
1538 run_cmd nettest -D -s &
1539 sleep 1
1540 run_cmd nettest -D -d ${VRF} -r ${a}
1541 log_test_addr ${a} $? 1 "Global server, VRF client, local connection"
1546 run_cmd nettest -s -D -d ${VRF} -2 ${NSA_DEV} &
1547 sleep 1
1548 run_cmd nettest -D -d ${VRF} -r ${a}
1552 run_cmd nettest -s -D -d ${VRF} -2 ${NSA_DEV} &
1553 sleep 1
1554 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1559 run_cmd nettest -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
1560 sleep 1
1561 run_cmd nettest -D -d ${VRF} -r ${a}
1565 run_cmd nettest -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
1566 sleep 1
1567 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1572 set_sysctl net.ipv4.udp_l3mdev_accept=1
1580 run_cmd nettest -D -s -2 ${NSA_DEV} &
1581 sleep 1
1582 run_cmd_nsb nettest -D -r ${a}
1586 run_cmd nettest -D -d ${VRF} -s -2 ${NSA_DEV} &
1587 sleep 1
1588 run_cmd_nsb nettest -D -r ${a}
1592 run_cmd nettest -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
1593 sleep 1
1594 run_cmd_nsb nettest -D -r ${a}
1599 run_cmd_nsb nettest -D -r ${a}
1600 log_test_addr ${a} $? 1 "No server"
1607 run_cmd_nsb nettest -D -s &
1608 sleep 1
1609 run_cmd nettest -d ${VRF} -D -r ${NSB_IP} -1 ${NSA_IP}
1613 run_cmd_nsb nettest -D -s &
1614 sleep 1
1615 run_cmd nettest -d ${NSA_DEV} -D -r ${NSB_IP} -1 ${NSA_IP}
1618 # negative test - should fail
1621 run_cmd nettest -D -d ${VRF} -r ${NSB_IP}
1622 log_test $? 1 "No server, VRF client"
1626 run_cmd nettest -D -d ${NSA_DEV} -r ${NSB_IP}
1627 log_test $? 1 "No server, enslaved device client"
1634 run_cmd nettest -D -s -2 ${NSA_DEV} &
1635 sleep 1
1636 run_cmd nettest -D -d ${VRF} -r ${a}
1640 run_cmd nettest -s -D -d ${VRF} -2 ${NSA_DEV} &
1641 sleep 1
1642 run_cmd nettest -D -d ${VRF} -r ${a}
1646 run_cmd nettest -s -D -d ${VRF} -2 ${NSA_DEV} &
1647 sleep 1
1648 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1652 run_cmd nettest -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
1653 sleep 1
1654 run_cmd nettest -D -d ${VRF} -r ${a}
1658 run_cmd nettest -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
1659 sleep 1
1660 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1666 run_cmd nettest -D -s -2 ${VRF} &
1667 sleep 1
1668 run_cmd nettest -D -d ${VRF} -r ${a}
1675 run_cmd nettest -s -D -d ${VRF} -2 ${VRF} &
1676 sleep 1
1677 run_cmd nettest -D -d ${VRF} -r ${a}
1681 # negative test - should fail
1687 run_cmd nettest -D -d ${VRF} -r ${a}
1688 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
1705 set_sysctl net.ipv4.udp_l3mdev_accept=1
1726 run_cmd nettest -s -R -P icmp -l ${a} -b
1730 run_cmd nettest -s -R -P icmp -l ${a} -d ${NSA_DEV} -b
1739 run_cmd nettest -l ${a} -r ${NSB_IP} -t1 -b
1743 run_cmd nettest -l ${a} -r ${NSB_IP} -d ${NSA_DEV} -t1 -b
1753 #run_cmd nettest -s -l ${a} -d ${NSA_DEV} -t1 -b
1754 #log_test_addr ${a} $? 1 "TCP socket bind to out of scope local address"
1766 run_cmd nettest -s -R -P icmp -l ${a} -b
1767 log_test_addr ${a} $? 1 "Raw socket bind to local address"
1770 run_cmd nettest -s -R -P icmp -l ${a} -d ${NSA_DEV} -b
1773 run_cmd nettest -s -R -P icmp -l ${a} -d ${VRF} -b
1780 run_cmd nettest -s -R -P icmp -l ${a} -d ${VRF} -b
1781 log_test_addr ${a} $? 1 "Raw socket bind to out of scope address after VRF bind"
1789 run_cmd nettest -s -l ${a} -d ${VRF} -t1 -b
1793 run_cmd nettest -s -l ${a} -d ${NSA_DEV} -t1 -b
1800 run_cmd nettest -s -l ${a} -d ${VRF} -t1 -b
1801 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
1805 run_cmd nettest -s -l ${a} -d ${NSA_DEV} -t1 -b
1806 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
1827 local desc="$1"
1838 run_cmd nettest ${varg} -s &
1839 sleep 1
1840 run_cmd_nsb nettest ${varg} -r ${a} &
1843 sleep 1
1852 run_cmd nettest ${varg} -s -d ${VRF} &
1853 sleep 1
1854 run_cmd_nsb nettest ${varg} -r ${a} &
1857 sleep 1
1865 run_cmd nettest ${varg} -s -d ${NSA_DEV} &
1866 sleep 1
1867 run_cmd_nsb nettest ${varg} -r ${a} &
1870 sleep 1
1879 run_cmd_nsb nettest ${varg} -s &
1880 sleep 1
1881 run_cmd nettest ${varg} -d ${VRF} -r ${NSB_IP} &
1884 sleep 1
1890 run_cmd_nsb nettest ${varg} -s &
1891 sleep 1
1892 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${NSB_IP} &
1895 sleep 1
1906 run_cmd nettest ${varg} -s &
1907 sleep 1
1908 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
1911 sleep 1
1920 run_cmd nettest ${varg} -d ${VRF} -s &
1921 sleep 1
1922 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
1925 sleep 1
1933 run_cmd nettest ${varg} -s &
1934 sleep 1
1935 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1938 sleep 1
1944 run_cmd nettest ${varg} -d ${VRF} -s &
1945 sleep 1
1946 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1949 sleep 1
1955 run_cmd nettest ${varg} -d ${NSA_DEV} -s &
1956 sleep 1
1957 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
1960 sleep 1
1972 run_cmd_nsb ping -f ${a} &
1975 sleep 1
1976 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
1983 run_cmd ping -f -I ${VRF} ${a} &
1986 sleep 1
1987 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
1992 log_section "Run time tests - ipv4"
1998 ipv4_rt "TCP active socket" "-n -1"
2001 ipv4_rt "TCP passive socket" "-i"
2020 run_cmd ${ping6} -c1 -w1 ${a}
2027 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2031 run_cmd ${ping6} -c1 -w1 -I ${NSA_LO_IP6} ${a}
2041 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2048 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1 ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2051 run_cmd ${ping6} -c1 -w1 ${a}
2058 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2062 for a in ${NSA_LO_IP6} ::1
2066 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2074 setup_cmd ip -6 rule add pref 32765 from all lookup local
2075 setup_cmd ip -6 rule del pref 0 from all lookup local
2076 setup_cmd ip -6 rule add pref 50 to ${NSB_LO_IP6} prohibit
2077 setup_cmd ip -6 rule add pref 51 from ${NSB_IP6} prohibit
2080 run_cmd ${ping6} -c1 -w1 ${a}
2084 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2090 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2091 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2093 setup_cmd ip -6 rule add pref 0 from all lookup local
2094 setup_cmd ip -6 rule del pref 32765 from all lookup local
2095 setup_cmd ip -6 rule del pref 50 to ${NSB_LO_IP6} prohibit
2096 setup_cmd ip -6 rule del pref 51 from ${NSB_IP6} prohibit
2102 setup_cmd ip -6 route del ${NSB_LO_IP6}
2103 setup_cmd ip -6 route add unreachable ${NSB_LO_IP6} metric 10
2104 setup_cmd ip -6 route add unreachable ${NSB_IP6} metric 10
2107 run_cmd ${ping6} -c1 -w1 ${a}
2111 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2117 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2118 log_test_addr ${a} $? 1 "ping in, blocked by route"
2125 setup_cmd ip -6 ro del unreachable ${NSB_LO_IP6}
2126 setup_cmd ip -6 ro del unreachable ${NSB_IP6}
2129 run_cmd ${ping6} -c1 -w1 ${a}
2133 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2142 set_sysctl net.ipv4.raw_l3mdev_accept=1 2>/dev/null
2150 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2158 run_cmd ${ping6} -c1 -w1 ${a}
2159 log_test_addr ${a} $? 1 "ping out, VRF bind"
2165 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2172 run_cmd ip vrf exec ${VRF} ${ping6} -c1 -w1 -I ${VRF_IP6} ${a}
2182 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2189 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2190 log_test_addr ${a} $? 1 "ping in"
2195 for a in ${NSA_IP6} ${VRF_IP6} ::1
2199 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2206 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2210 # LLA to GUA - remove ipv6 global addresses from ns-B
2211 setup_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
2212 setup_cmd_nsb ip -6 addr del ${NSB_LO_IP6}/128 dev lo
2213 setup_cmd_nsb ip -6 ro add ${NSA_IP6}/128 via ${NSA_LINKIP6} dev ${NSB_DEV}
2218 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
2222 setup_cmd_nsb ip -6 ro del ${NSA_IP6}/128 via ${NSA_LINKIP6} dev ${NSB_DEV}
2223 setup_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV}
2224 setup_cmd_nsb ip -6 addr add ${NSB_LO_IP6}/128 dev lo
2230 setup_cmd ip -6 rule add pref 50 to ${NSB_LO_IP6} prohibit
2231 setup_cmd ip -6 rule add pref 51 from ${NSB_IP6} prohibit
2234 run_cmd ${ping6} -c1 -w1 ${a}
2238 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2244 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2245 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2248 setup_cmd ip -6 rule del pref 50 to ${NSB_LO_IP6} prohibit
2249 setup_cmd ip -6 rule del pref 51 from ${NSB_IP6} prohibit
2255 setup_cmd ip -6 ro del ${NSB_LO_IP6} vrf ${VRF}
2258 run_cmd ${ping6} -c1 -w1 ${a}
2262 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2265 ip -netns ${NSB} -6 ro del ${NSA_LO_IP6}
2268 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2305 run_cmd nettest -6 -s -M ${MD5_PW} -r ${NSB_IP6} &
2306 sleep 1
2307 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2313 run_cmd nettest -6 -s &
2314 sleep 1
2315 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2321 run_cmd nettest -6 -s -M ${MD5_PW} -r ${NSB_IP6} &
2322 sleep 1
2323 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2329 run_cmd nettest -6 -s -M ${MD5_PW} -r ${NSB_LO_IP6} &
2330 sleep 1
2331 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2335 # MD5 extension - prefix length
2340 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2341 sleep 1
2342 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2348 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2349 sleep 1
2350 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2356 run_cmd nettest -6 -s -M ${MD5_PW} -m ${NS_NET6} &
2357 sleep 1
2358 run_cmd_nsb nettest -6 -l ${NSB_LO_IP6} -r ${NSA_IP6} -M ${MD5_PW}
2373 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2374 sleep 1
2375 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2381 run_cmd nettest -6 -s -d ${VRF} &
2382 sleep 1
2383 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2389 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2390 sleep 1
2391 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2397 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_LO_IP6} &
2398 sleep 1
2399 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2403 # MD5 extension - prefix length
2408 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2409 sleep 1
2410 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2416 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2417 sleep 1
2418 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2424 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2425 sleep 1
2426 run_cmd_nsb nettest -6 -l ${NSB_LO_IP6} -r ${NSA_IP6} -M ${MD5_PW}
2434 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2435 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -r ${NSB_IP6} &
2436 sleep 1
2437 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2441 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2442 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -r ${NSB_IP6} &
2443 sleep 1
2444 run_cmd_nsc nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2449 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2450 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -r ${NSB_IP6} &
2451 sleep 1
2452 run_cmd_nsc nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2457 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -r ${NSB_IP6} &
2458 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -r ${NSB_IP6} &
2459 sleep 1
2460 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2464 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2465 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2466 sleep 1
2467 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2471 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2472 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2473 sleep 1
2474 run_cmd_nsc nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2479 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2480 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2481 sleep 1
2482 run_cmd_nsc nettest -6 -r ${NSA_IP6} -M ${MD5_PW}
2487 run_cmd nettest -6 -s -d ${VRF} -M ${MD5_PW} -m ${NS_NET6} &
2488 run_cmd nettest -6 -s -M ${MD5_WRONG_PW} -m ${NS_NET6} &
2489 sleep 1
2490 run_cmd_nsb nettest -6 -r ${NSA_IP6} -M ${MD5_WRONG_PW}
2497 run_cmd nettest -6 -s -d ${NSA_DEV} -M ${MD5_PW} -r ${NSB_IP6}
2498 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
2501 run_cmd nettest -6 -s -d ${NSA_DEV} -M ${MD5_PW} -m ${NS_NET6}
2502 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
2516 run_cmd nettest -6 -s &
2517 sleep 1
2518 run_cmd_nsb nettest -6 -r ${a}
2527 run_cmd_nsb nettest -6 -r ${a}
2528 log_test_addr ${a} $? 1 "No server"
2537 run_cmd_nsb nettest -6 -s &
2538 sleep 1
2539 run_cmd nettest -6 -r ${a}
2546 run_cmd_nsb nettest -6 -s &
2547 sleep 1
2548 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2556 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2557 log_test_addr ${a} $? 1 "No server, device client"
2563 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2566 run_cmd nettest -6 -s &
2567 sleep 1
2568 run_cmd nettest -6 -r ${a}
2574 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2575 sleep 1
2576 run_cmd nettest -6 -r ${a} -0 ${a}
2579 for a in ${NSA_LO_IP6} ::1
2583 run_cmd nettest -6 -s -d ${NSA_DEV} &
2584 sleep 1
2585 run_cmd nettest -6 -r ${a}
2586 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
2591 run_cmd nettest -6 -s &
2592 sleep 1
2593 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2596 for a in ${NSA_LO_IP6} ::1
2600 run_cmd nettest -6 -s &
2601 sleep 1
2602 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2603 log_test_addr ${a} $? 1 "Global server, device client, local connection"
2609 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2610 sleep 1
2611 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2619 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2620 log_test_addr ${a} $? 1 "No server, device client, local conn"
2623 [ "$fips_enabled" = "1" ] || ipv6_tcp_md5_novrf
2642 run_cmd nettest -6 -s &
2643 sleep 1
2644 run_cmd_nsb nettest -6 -r ${a}
2645 log_test_addr ${a} $? 1 "Global server"
2651 run_cmd nettest -6 -s -d ${VRF} -2 ${VRF} &
2652 sleep 1
2653 run_cmd_nsb nettest -6 -r ${a}
2660 run_cmd nettest -6 -s -d ${VRF} -2 ${NSA_DEV} &
2661 sleep 1
2662 run_cmd_nsb nettest -6 -r ${a}
2668 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2669 sleep 1
2670 run_cmd_nsb nettest -6 -r ${a}
2679 run_cmd_nsb nettest -6 -r ${a}
2680 log_test_addr ${a} $? 1 "No server"
2687 run_cmd nettest -6 -s &
2688 sleep 1
2689 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2690 log_test_addr ${a} $? 1 "Global server, local connection"
2703 set_sysctl net.ipv4.tcp_l3mdev_accept=1
2708 run_cmd nettest -6 -s -2 ${VRF} &
2709 sleep 1
2710 run_cmd_nsb nettest -6 -r ${a}
2717 run_cmd nettest -6 -s -d ${VRF} -2 ${VRF} &
2718 sleep 1
2719 run_cmd_nsb nettest -6 -r ${a}
2726 run_cmd nettest -6 -s -2 ${NSA_DEV} &
2727 sleep 1
2728 run_cmd_nsb nettest -6 -r ${a}
2732 run_cmd nettest -6 -s -d ${VRF} -2 ${NSA_DEV} &
2733 sleep 1
2734 run_cmd_nsb nettest -6 -r ${a}
2740 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2741 sleep 1
2742 run_cmd_nsb nettest -6 -r ${a}
2751 run_cmd_nsb nettest -6 -r ${a}
2752 log_test_addr ${a} $? 1 "No server"
2760 run_cmd nettest -6 -s -d ${VRF} &
2761 sleep 1
2762 run_cmd nettest -6 -r ${a}
2763 log_test_addr ${a} $? 1 "Global server, local connection"
2773 run_cmd_nsb nettest -6 -s &
2774 sleep 1
2775 run_cmd nettest -6 -r ${a} -d ${VRF}
2782 run_cmd_nsb nettest -6 -s &
2783 sleep 1
2784 run_cmd nettest -6 -r ${a} -d ${VRF}
2785 log_test_addr ${a} $? 1 "Client, VRF bind"
2790 run_cmd_nsb nettest -6 -s &
2791 sleep 1
2792 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2800 run_cmd nettest -6 -r ${a} -d ${VRF}
2801 log_test_addr ${a} $? 1 "No server, VRF client"
2808 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2809 log_test_addr ${a} $? 1 "No server, device client"
2812 for a in ${NSA_IP6} ${VRF_IP6} ::1
2815 run_cmd nettest -6 -s -d ${VRF} -2 ${VRF} &
2816 sleep 1
2817 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
2823 run_cmd nettest -6 -s -d ${VRF} -2 ${VRF} &
2824 sleep 1
2825 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2831 run_cmd nettest -6 -s -d ${VRF} &
2832 sleep 1
2833 run_cmd nettest -6 -r ${a}
2834 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
2837 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2838 sleep 1
2839 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
2845 run_cmd nettest -6 -s -d ${NSA_DEV} -2 ${NSA_DEV} &
2846 sleep 1
2847 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2864 set_sysctl net.ipv4.tcp_l3mdev_accept=1
2885 run_cmd nettest -6 -D -s -2 ${NSA_DEV} &
2886 sleep 1
2887 run_cmd_nsb nettest -6 -D -r ${a}
2891 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
2892 sleep 1
2893 run_cmd_nsb nettest -6 -D -r ${a}
2899 run_cmd nettest -6 -D -s -2 ${NSA_DEV} &
2900 sleep 1
2901 run_cmd_nsb nettest -6 -D -r ${a}
2905 # bound server, but it does not - hence this is more documenting
2909 #run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
2910 #sleep 1
2911 #run_cmd_nsb nettest -6 -D -r ${a}
2912 #log_test_addr ${a} $? 1 "Device server"
2914 # negative test - should fail
2919 run_cmd_nsb nettest -6 -D -r ${a}
2920 log_test_addr ${a} $? 1 "No server"
2929 run_cmd_nsb nettest -6 -D -s &
2930 sleep 1
2931 run_cmd nettest -6 -D -r ${a} -0 ${NSA_IP6}
2935 run_cmd_nsb nettest -6 -D -s &
2936 sleep 1
2937 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP6}
2941 run_cmd_nsb nettest -6 -D -s &
2942 sleep 1
2943 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP6}
2947 run_cmd_nsb nettest -6 -D -s &
2948 sleep 1
2949 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP6}
2954 run_cmd nettest -6 -D -r ${a}
2955 log_test_addr ${a} $? 1 "No server, unbound client"
2959 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
2960 log_test_addr ${a} $? 1 "No server, device client"
2966 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2969 run_cmd nettest -6 -D -s &
2970 sleep 1
2971 run_cmd nettest -6 -D -r ${a} -0 ${a} -1 ${a}
2977 run_cmd nettest -6 -s -D -d ${NSA_DEV} -2 ${NSA_DEV} &
2978 sleep 1
2979 run_cmd nettest -6 -D -r ${a}
2982 for a in ${NSA_LO_IP6} ::1
2986 run_cmd nettest -6 -s -D -d ${NSA_DEV} &
2987 sleep 1
2988 run_cmd nettest -6 -D -r ${a}
2989 log_test_addr ${a} $? 1 "Device server, local connection"
2994 run_cmd nettest -6 -s -D &
2995 sleep 1
2996 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3000 run_cmd nettest -6 -s -D &
3001 sleep 1
3002 run_cmd nettest -6 -D -d ${NSA_DEV} -C -r ${a}
3006 run_cmd nettest -6 -s -D &
3007 sleep 1
3008 run_cmd nettest -6 -D -d ${NSA_DEV} -S -r ${a}
3011 for a in ${NSA_LO_IP6} ::1
3015 run_cmd nettest -6 -D -s &
3016 sleep 1
3017 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3018 log_test_addr ${a} $? 1 "Global server, device client, local connection"
3022 run_cmd nettest -6 -D -s &
3023 sleep 1
3024 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C
3025 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
3029 run_cmd nettest -6 -D -s &
3030 sleep 1
3031 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S
3032 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
3037 run_cmd nettest -6 -D -s -d ${NSA_DEV} -2 ${NSA_DEV} &
3038 sleep 1
3039 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a} -0 ${a}
3044 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3045 log_test_addr ${a} $? 1 "No server, device client, local conn"
3048 run_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
3049 run_cmd_nsb ip -6 ro add ${NSA_IP6}/128 dev ${NSB_DEV}
3051 run_cmd nettest -6 -s -D &
3052 sleep 1
3053 run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
3054 log_test $? 0 "UDP in - LLA to GUA"
3056 run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
3057 run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
3075 run_cmd nettest -6 -D -s &
3076 sleep 1
3077 run_cmd_nsb nettest -6 -D -r ${a}
3078 log_test_addr ${a} $? 1 "Global server"
3084 run_cmd nettest -6 -D -d ${VRF} -s -2 ${NSA_DEV} &
3085 sleep 1
3086 run_cmd_nsb nettest -6 -D -r ${a}
3093 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3094 sleep 1
3095 run_cmd_nsb nettest -6 -D -r ${a}
3099 # negative test - should fail
3104 run_cmd_nsb nettest -6 -D -r ${a}
3105 log_test_addr ${a} $? 1 "No server"
3115 run_cmd nettest -6 -D -s &
3116 sleep 1
3117 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3118 log_test_addr ${a} $? 1 "Global server, VRF client, local conn"
3124 run_cmd nettest -6 -D -d ${VRF} -s &
3125 sleep 1
3126 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3133 run_cmd nettest -6 -D -s &
3134 sleep 1
3135 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3136 log_test_addr ${a} $? 1 "Global server, device client, local conn"
3139 run_cmd nettest -6 -D -d ${VRF} -s -2 ${NSA_DEV} &
3140 sleep 1
3141 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3145 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3146 sleep 1
3147 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3151 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3152 sleep 1
3153 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3158 set_sysctl net.ipv4.udp_l3mdev_accept=1
3166 run_cmd nettest -6 -D -s -2 ${NSA_DEV} &
3167 sleep 1
3168 run_cmd_nsb nettest -6 -D -r ${a}
3175 run_cmd nettest -6 -D -d ${VRF} -s -2 ${NSA_DEV} &
3176 sleep 1
3177 run_cmd_nsb nettest -6 -D -r ${a}
3184 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3185 sleep 1
3186 run_cmd_nsb nettest -6 -D -r ${a}
3190 # negative test - should fail
3194 run_cmd_nsb nettest -6 -D -r ${a}
3195 log_test_addr ${a} $? 1 "No server"
3202 run_cmd_nsb nettest -6 -D -s &
3203 sleep 1
3204 run_cmd nettest -6 -D -d ${VRF} -r ${NSB_IP6}
3207 # negative test - should fail
3209 run_cmd nettest -6 -D -d ${VRF} -r ${NSB_IP6}
3210 log_test $? 1 "No server, VRF client"
3213 run_cmd_nsb nettest -6 -D -s &
3214 sleep 1
3215 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_IP6}
3218 # negative test - should fail
3220 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_IP6}
3221 log_test $? 1 "No server, enslaved device client"
3228 run_cmd nettest -6 -D -s -2 ${NSA_DEV} &
3229 sleep 1
3230 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3234 run_cmd nettest -6 -D -d ${VRF} -s -2 ${NSA_DEV} &
3235 sleep 1
3236 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3242 run_cmd nettest -6 -D -s -2 ${VRF} &
3243 sleep 1
3244 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3248 run_cmd nettest -6 -D -d ${VRF} -s -2 ${VRF} &
3249 sleep 1
3250 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3253 # negative test - should fail
3257 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3258 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
3264 run_cmd nettest -6 -D -s -2 ${NSA_DEV} &
3265 sleep 1
3266 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3270 run_cmd nettest -6 -D -d ${VRF} -s -2 ${NSA_DEV} &
3271 sleep 1
3272 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3276 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3277 sleep 1
3278 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3282 run_cmd nettest -6 -D -d ${NSA_DEV} -s -2 ${NSA_DEV} &
3283 sleep 1
3284 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3288 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3289 log_test_addr ${a} $? 1 "No server, device client, local conn"
3294 run_cmd nettest -6 -D -s &
3295 sleep 1
3296 run_cmd_nsb nettest -6 -D -d ${NSB_DEV} -r ${NSA_LINKIP6}
3300 run_cmd_nsb nettest -6 -D -d ${NSB_DEV} -r ${NSA_LINKIP6}
3301 log_test $? 1 "No server, linklocal IP"
3305 run_cmd_nsb nettest -6 -D -s &
3306 sleep 1
3307 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_LINKIP6}
3311 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSB_LINKIP6}
3312 log_test $? 1 "No server, device client, peer linklocal IP"
3316 run_cmd nettest -6 -D -s &
3317 sleep 1
3318 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSA_LINKIP6}
3319 log_test $? 0 "Enslaved device client, local conn - linklocal IP"
3322 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${NSA_LINKIP6}
3323 log_test $? 1 "No server, device client, local conn - linklocal IP"
3326 run_cmd_nsb ip -6 addr del ${NSB_IP6}/64 dev ${NSB_DEV}
3327 run_cmd_nsb ip -6 ro add ${NSA_IP6}/128 dev ${NSB_DEV}
3329 run_cmd nettest -6 -s -D &
3330 sleep 1
3331 run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
3332 log_test $? 0 "UDP in - LLA to GUA"
3334 run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
3335 run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
3341 set_sysctl net.ipv4.udp_early_demux=1
3353 set_sysctl net.ipv4.udp_l3mdev_accept=1
3372 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -b
3376 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -d ${NSA_DEV} -b
3385 run_cmd nettest -6 -s -l ${a} -t1 -b
3389 run_cmd nettest -6 -s -l ${a} -d ${NSA_DEV} -t1 -b
3398 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3410 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -d ${VRF} -b
3414 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -d ${NSA_DEV} -b
3421 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -d ${VRF} -b
3422 log_test_addr ${a} $? 1 "Raw socket bind to invalid local address after vrf bind"
3431 run_cmd nettest -6 -s -l ${a} -d ${VRF} -t1 -b
3437 run_cmd nettest -6 -s -l ${a} -d ${NSA_DEV} -t1 -b
3447 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3453 run_cmd nettest -6 -s -l ${a} -d ${VRF} -t1 -b
3454 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
3458 run_cmd nettest -6 -s -l ${a} -d ${NSA_DEV} -t1 -b
3459 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
3481 local desc="$1"
3482 local varg="-6 $2"
3492 run_cmd nettest ${varg} -s &
3493 sleep 1
3494 run_cmd_nsb nettest ${varg} -r ${a} &
3497 sleep 1
3506 run_cmd nettest ${varg} -d ${VRF} -s &
3507 sleep 1
3508 run_cmd_nsb nettest ${varg} -r ${a} &
3511 sleep 1
3520 run_cmd nettest ${varg} -d ${NSA_DEV} -s &
3521 sleep 1
3522 run_cmd_nsb nettest ${varg} -r ${a} &
3525 sleep 1
3535 run_cmd_nsb nettest ${varg} -s &
3536 sleep 1
3537 run_cmd nettest ${varg} -d ${VRF} -r ${NSB_IP6} &
3540 sleep 1
3546 run_cmd_nsb nettest ${varg} -s &
3547 sleep 1
3548 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${NSB_IP6} &
3551 sleep 1
3563 run_cmd nettest ${varg} -s &
3564 sleep 1
3565 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3568 sleep 1
3577 run_cmd nettest ${varg} -d ${VRF} -s &
3578 sleep 1
3579 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3582 sleep 1
3590 run_cmd nettest ${varg} -s &
3591 sleep 1
3592 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3595 sleep 1
3601 run_cmd nettest ${varg} -d ${VRF} -s &
3602 sleep 1
3603 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3606 sleep 1
3612 run_cmd nettest ${varg} -d ${NSA_DEV} -s &
3613 sleep 1
3614 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3617 sleep 1
3628 run_cmd_nsb ${ping6} -f ${a} &
3631 sleep 1
3632 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
3637 run_cmd ${ping6} -f ${NSB_IP6} -I ${VRF} &
3638 sleep 1
3640 sleep 1
3641 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
3646 log_section "Run time tests - ipv6"
3652 ipv6_rt "TCP active socket" "-n -1"
3655 ipv6_rt "TCP passive socket" "-i"
3658 ipv6_rt "UDP active socket" "-D -n -1"
3671 run_cmd nettest -s &
3672 sleep 1
3673 run_cmd_nsb nettest -r ${a}
3674 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3680 local stype="$1"
3684 [ "${stype}" = "UDP" ] && arg="-D"
3689 run_cmd nettest ${arg} -s &
3690 sleep 1
3691 run_cmd_nsb nettest ${arg} -r ${a}
3692 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3702 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3710 run_cmd iptables -F
3711 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3712 run_cmd iptables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3718 iptables -F
3728 run_cmd nettest -6 -s &
3729 sleep 1
3730 run_cmd_nsb nettest -6 -r ${a}
3731 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3737 local stype="$1"
3741 [ "${stype}" = "UDP" ] && arg="$arg -D"
3746 run_cmd nettest -6 -s ${arg} &
3747 sleep 1
3748 run_cmd_nsb nettest -6 ${arg} -r ${a}
3749 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3759 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3766 run_cmd ip6tables -F
3767 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
3768 run_cmd ip6tables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
3774 ip6tables -F
3781 # ns-A device enslaved to bridge. Verify traffic with and without
3789 setup_cmd ip -6 addr del dev ${NSA_DEV} ${NSA_IP6}/64
3793 setup_cmd ip -6 addr add dev br0 ${NSA_IP6}/64 nodad
3804 run_cmd ping -c1 -w1 -I br0 ${NSB_IP}
3805 log_test $? 0 "Bridge into VRF - IPv4 ping out"
3808 run_cmd ${ping6} -c1 -w1 -I br0 ${NSB_IP6}
3809 log_test $? 0 "Bridge into VRF - IPv6 ping out"
3812 run_cmd_nsb ping -c1 -w1 ${NSA_IP}
3813 log_test $? 0 "Bridge into VRF - IPv4 ping in"
3816 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
3817 log_test $? 0 "Bridge into VRF - IPv6 ping in"
3820 if [ $? -eq 0 ]; then
3822 run_cmd ping -c1 -w1 -I br0 ${NSB_IP}
3823 log_test $? 0 "Bridge into VRF with br_netfilter - IPv4 ping out"
3826 run_cmd ${ping6} -c1 -w1 -I br0 ${NSB_IP6}
3827 log_test $? 0 "Bridge into VRF with br_netfilter - IPv6 ping out"
3830 run_cmd_nsb ping -c1 -w1 ${NSA_IP}
3831 log_test $? 0 "Bridge into VRF with br_netfilter - IPv4 ping in"
3834 run_cmd_nsb ${ping6} -c1 -w1 ${NSA_IP6}
3835 log_test $? 0 "Bridge into VRF with br_netfilter - IPv6 ping in"
3842 setup_cmd ip -6 addr add dev br0.100 2001:db8:101::1/64 nodad
3846 setup_cmd_nsb ip -6 addr add dev vlan100 2001:db8:101::2/64 nodad
3848 sleep 1
3853 run_cmd ping -c1 -w1 -I br0.100 172.16.101.2
3854 log_test $? 0 "Bridge vlan into VRF - IPv4 ping out"
3857 run_cmd ${ping6} -c1 -w1 -I br0.100 2001:db8:101::2
3858 log_test $? 0 "Bridge vlan into VRF - IPv6 ping out"
3861 run_cmd_nsb ping -c1 -w1 172.16.101.1
3862 log_test $? 0 "Bridge vlan into VRF - IPv4 ping in"
3865 run_cmd_nsb ${ping6} -c1 -w1 2001:db8:101::1
3866 log_test $? 0 "Bridge vlan into VRF - IPv6 ping in"
3869 if [ $? -eq 0 ]; then
3871 run_cmd ping -c1 -w1 -I br0.100 172.16.101.2
3872 log_test $? 0 "Bridge vlan into VRF with br_netfilter - IPv4 ping out"
3875 run_cmd ${ping6} -c1 -w1 -I br0.100 2001:db8:101::2
3876 log_test $? 0 "Bridge vlan into VRF with br_netfilter - IPv6 ping out"
3879 run_cmd_nsb ping -c1 -w1 172.16.101.1
3880 log_test $? 0 "Bridge vlan into VRF - IPv4 ping in"
3883 run_cmd_nsb ${ping6} -c1 -w1 2001:db8:101::1
3884 log_test $? 0 "Bridge vlan into VRF - IPv6 ping in"
3892 # ns-A device is connected to both ns-B and ns-C on a single VRF but only has
3897 # only want reply from ns-A
3898 setup_cmd_nsb sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1
3899 setup_cmd_nsc sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1
3902 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3903 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Pre cycle, ping out ns-B"
3905 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3906 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Pre cycle, ping out ns-C"
3908 # cycle/flap the first ns-A interface
3911 sleep 1
3914 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3915 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-B"
3916 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3917 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-C"
3919 # cycle/flap the second ns-A interface
3922 sleep 1
3925 run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV}
3926 log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-B"
3927 run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV}
3928 log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-C"
3948 -4 IPv4 tests only
3949 -6 IPv6 tests only
3950 -t <test> Test name/set to run
3951 -p Pause on fail
3952 -P Pause after each test
3953 -v Be verbose
3971 6) TESTS=ipv6;;
3975 v) VERBOSE=1;;
3977 *) usage; exit 1;;
3987 if [ -z "$TESTS" ]; then
3996 if [ $? -ne 0 ]; then
4001 declare -i nfail=0
4002 declare -i nsuccess=0