Lines Matching full:a
16 # ns-A | ns-B
23 # ns-A:
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
112 read a
113 [ "$a" = "q" ] && exit 1
120 read a
121 [ "$a" = "q" ] && exit 1
201 if [ "$VERBOSE" = "1" -a -n "$out" ]; then
239 read a
261 read a
283 read a
289 # set sysctl values in NS-A
297 # get sysctl values in NS-A
315 ${NSA_IP}) echo "ns-A IP";;
316 ${NSA_IP6}) echo "ns-A IPv6";;
317 ${NSA_LO_IP}) echo "ns-A loopback IP";;
318 ${NSA_LO_IP6}) echo "ns-A loopback IPv6";;
319 ${NSA_LINKIP6}|${NSA_LINKIP6}%*) echo "ns-A IPv6 LLA";;
475 # ns-B but for a device NOT in the VRF
487 # make sure we are starting with a clean slate
506 # tell ns-A how to get to remote addresses of ns-B
522 # tell ns-B how to get to remote addresses of ns-A
533 # make sure we are starting with a clean slate
570 local a
575 for a in ${NSB_IP} ${NSB_LO_IP}
578 run_cmd ping -c1 -w1 ${a}
579 log_test_addr ${a} $? 0 "ping out"
582 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
583 log_test_addr ${a} $? 0 "ping out, device bind"
586 run_cmd ping -c1 -w1 -I ${NSA_LO_IP} ${a}
587 log_test_addr ${a} $? 0 "ping out, address bind"
593 a=${NSB_IP}
595 run_cmd ping -c 1 -w 1 -r ${a}
596 log_test_addr ${a} $? 0 "ping out (don't route), peer on link"
598 a=${NSB_LO_IP}
601 run_cmd ping -c 1 -w 1 -r ${a}
602 log_test_addr ${a} $? 1 "ping out (don't route), peer not on link"
607 for a in ${NSA_IP} ${NSA_LO_IP}
610 run_cmd_nsb ping -c1 -w1 ${a}
611 log_test_addr ${a} $? 0 "ping in"
617 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
620 run_cmd ping -c1 -w1 ${a}
621 log_test_addr ${a} $? 0 "ping local"
628 a=${NSA_IP}
630 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
631 log_test_addr ${a} $? 0 "ping local, device bind"
634 # fails in a really weird way though because ipv4 special cases
636 for a in ${NSA_LO_IP} 127.0.0.1
640 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
641 log_test_addr ${a} $? 1 "ping local, device bind"
653 a=${NSB_LO_IP}
654 run_cmd ping -c1 -w1 ${a}
655 log_test_addr ${a} $? 2 "ping out, blocked by rule"
658 # a viable rtable if the oif (e.g., bind to device) is set, so this
660 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
662 a=${NSA_LO_IP}
665 run_cmd_nsb ping -c1 -w1 ${a}
666 log_test_addr ${a} $? 1 "ping in, blocked by rule"
681 a=${NSB_LO_IP}
682 run_cmd ping -c1 -w1 ${a}
683 log_test_addr ${a} $? 2 "ping out, blocked by route"
686 # a viable rtable if the oif (e.g., bind to device) is set, so this
687 # case succeeds despite not having a route for the address
688 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
690 a=${NSA_LO_IP}
693 run_cmd_nsb ping -c1 -w1 ${a}
694 log_test_addr ${a} $? 1 "ping in, blocked by route"
702 a=${NSB_LO_IP}
703 run_cmd ping -c1 -w1 ${a}
704 log_test_addr ${a} $? 2 "ping out, unreachable default route"
707 # a viable rtable if the oif (e.g., bind to device) is set, so this
708 # case succeeds despite not having a route for the address
709 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
714 local a
722 for a in ${NSB_IP} ${NSB_LO_IP}
725 run_cmd ping -c1 -w1 -I ${VRF} ${a}
726 log_test_addr ${a} $? 0 "ping out, VRF bind"
729 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
730 log_test_addr ${a} $? 0 "ping out, device bind"
733 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${NSA_IP} ${a}
734 log_test_addr ${a} $? 0 "ping out, vrf device + dev address bind"
737 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${VRF_IP} ${a}
738 log_test_addr ${a} $? 0 "ping out, vrf device + vrf address bind"
744 for a in ${NSA_IP} ${VRF_IP}
747 run_cmd_nsb ping -c1 -w1 ${a}
748 log_test_addr ${a} $? 0 "ping in"
754 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
757 show_hint "Source address should be ${a}"
758 run_cmd ping -c1 -w1 -I ${VRF} ${a}
759 log_test_addr ${a} $? 0 "ping local, VRF bind"
766 a=${NSA_IP}
768 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
769 log_test_addr ${a} $? 0 "ping local, device bind"
772 for a in ${VRF_IP} 127.0.0.1
776 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
777 log_test_addr ${a} $? 2 "ping local, device bind"
787 a=${NSB_LO_IP}
788 run_cmd ping -c1 -w1 -I ${VRF} ${a}
789 log_test_addr ${a} $? 2 "ping out, vrf bind, blocked by rule"
792 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
793 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
795 a=${NSA_LO_IP}
798 run_cmd_nsb ping -c1 -w1 ${a}
799 log_test_addr ${a} $? 1 "ping in, blocked by rule"
811 a=${NSB_LO_IP}
812 run_cmd ping -c1 -w1 -I ${VRF} ${a}
813 log_test_addr ${a} $? 2 "ping out, vrf bind, unreachable route"
816 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
817 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
819 a=${NSA_LO_IP}
822 run_cmd_nsb ping -c1 -w1 ${a}
823 log_test_addr ${a} $? 1 "ping in, unreachable route"
988 # duplicate config between default VRF and a VRF
1056 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
1060 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
1123 local a
1128 # on link (doesn't need to be routed through a gateway).
1138 a=${NSB_IP}
1140 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1141 log_test_addr ${a} $? 0 "SO_DONTROUTE client, syncookies=${syncookies}"
1143 a=${NSB_IP}
1145 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -r ${a} --server-dontroute
1146 log_test_addr ${a} $? 0 "SO_DONTROUTE server, syncookies=${syncookies}"
1153 # to respond to a routed address and not a link local one).
1155 a=${NSB_LO_IP}
1158 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -c "${NSA_LO_IP}" -r ${a} --client-dontroute
1159 log_test_addr ${a} $? 1 "SO_DONTROUTE client, syncookies=${syncookies}"
1161 a=${NSB_LO_IP}
1164 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -c "${NSA_LO_IP}" -r ${a} --server-dontroute
1165 log_test_addr ${a} $? 2 "SO_DONTROUTE server, syncookies=${syncookies}"
1173 local a
1178 for a in ${NSA_IP} ${NSA_LO_IP}
1183 run_cmd_nsb nettest -r ${a}
1184 log_test_addr ${a} $? 0 "Global server"
1187 a=${NSA_IP}
1191 run_cmd_nsb nettest -r ${a}
1192 log_test_addr ${a} $? 0 "Device server"
1195 for a in ${NSA_IP} ${NSA_LO_IP}
1199 run_cmd_nsb nettest -r ${a}
1200 log_test_addr ${a} $? 1 "No server"
1206 for a in ${NSB_IP} ${NSB_LO_IP}
1211 run_cmd nettest -r ${a} -0 ${NSA_IP}
1212 log_test_addr ${a} $? 0 "Client"
1217 run_cmd nettest -r ${a} -d ${NSA_DEV}
1218 log_test_addr ${a} $? 0 "Client, device bind"
1222 run_cmd nettest -r ${a}
1223 log_test_addr ${a} $? 1 "No server, unbound client"
1227 run_cmd nettest -r ${a} -d ${NSA_DEV}
1228 log_test_addr ${a} $? 1 "No server, device client"
1234 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
1239 run_cmd nettest -r ${a} -0 ${a} -1 ${a}
1240 log_test_addr ${a} $? 0 "Global server, local connection"
1243 a=${NSA_IP}
1247 run_cmd nettest -r ${a} -0 ${a}
1248 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
1250 for a in ${NSA_LO_IP} 127.0.0.1
1256 run_cmd nettest -r ${a}
1257 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1260 a=${NSA_IP}
1264 run_cmd nettest -r ${a} -0 ${a} -d ${NSA_DEV}
1265 log_test_addr ${a} $? 0 "Global server, device client, local connection"
1267 for a in ${NSA_LO_IP} 127.0.0.1
1273 run_cmd nettest -r ${a} -d ${NSA_DEV}
1274 log_test_addr ${a} $? 1 "Global server, device client, local connection"
1277 a=${NSA_IP}
1281 run_cmd nettest -d ${NSA_DEV} -r ${a} -0 ${a}
1282 log_test_addr ${a} $? 0 "Device server, device client, local connection"
1286 run_cmd nettest -d ${NSA_DEV} -r ${a}
1287 log_test_addr ${a} $? 1 "No server, device client, local conn"
1297 local a
1307 for a in ${NSA_IP} ${VRF_IP}
1313 run_cmd_nsb nettest -r ${a}
1314 log_test_addr ${a} $? 1 "Global server"
1319 run_cmd_nsb nettest -r ${a}
1320 log_test_addr ${a} $? 0 "VRF server"
1325 run_cmd_nsb nettest -r ${a}
1326 log_test_addr ${a} $? 0 "Device server"
1331 run_cmd_nsb nettest -r ${a}
1332 log_test_addr ${a} $? 1 "No server"
1337 a=${NSA_IP}
1342 run_cmd nettest -r ${a} -d ${NSA_DEV}
1343 log_test_addr ${a} $? 1 "Global server, local connection"
1358 for a in ${NSA_IP} ${VRF_IP}
1364 run_cmd_nsb nettest -r ${a}
1365 log_test_addr ${a} $? 0 "Global server"
1371 run_cmd_nsb nettest -r ${a}
1372 log_test_addr ${a} $? 0 "VRF server"
1377 run_cmd_nsb nettest -r ${a}
1378 log_test_addr ${a} $? 1 "No server"
1381 a=${NSA_IP}
1386 run_cmd_nsb nettest -r ${a}
1387 log_test_addr ${a} $? 0 "Device server"
1390 for a in ${NSA_IP} ${VRF_IP}
1396 run_cmd nettest -r ${a}
1397 log_test_addr ${a} $? 1 "Global server, local connection"
1403 for a in ${NSB_IP} ${NSB_LO_IP}
1408 run_cmd nettest -r ${a} -d ${VRF}
1409 log_test_addr ${a} $? 0 "Client, VRF bind"
1414 run_cmd nettest -r ${a} -d ${NSA_DEV}
1415 log_test_addr ${a} $? 0 "Client, device bind"
1419 run_cmd nettest -r ${a} -d ${VRF}
1420 log_test_addr ${a} $? 1 "No server, VRF client"
1424 run_cmd nettest -r ${a} -d ${NSA_DEV}
1425 log_test_addr ${a} $? 1 "No server, device client"
1428 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
1433 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1434 log_test_addr ${a} $? 0 "VRF server, VRF client, local connection"
1437 a=${NSA_IP}
1441 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1442 log_test_addr ${a} $? 0 "VRF server, device client, local connection"
1448 run_cmd nettest -r ${a}
1449 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
1454 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1455 log_test_addr ${a} $? 0 "Device server, VRF client, local connection"
1460 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1461 log_test_addr ${a} $? 0 "Device server, device client, local connection"
1489 local a
1494 for a in ${NSA_IP} ${NSA_LO_IP}
1499 run_cmd_nsb nettest -D -r ${a}
1500 log_test_addr ${a} $? 0 "Global server"
1504 run_cmd_nsb nettest -D -r ${a}
1505 log_test_addr ${a} $? 1 "No server"
1508 a=${NSA_IP}
1512 run_cmd_nsb nettest -D -r ${a}
1513 log_test_addr ${a} $? 0 "Device server"
1518 for a in ${NSB_IP} ${NSB_LO_IP}
1523 run_cmd nettest -D -r ${a} -0 ${NSA_IP}
1524 log_test_addr ${a} $? 0 "Client"
1529 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP}
1530 log_test_addr ${a} $? 0 "Client, device bind"
1535 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP}
1536 log_test_addr ${a} $? 0 "Client, device send via cmsg"
1541 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP}
1542 log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF"
1547 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP} -U
1548 log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF, with connect()"
1553 run_cmd nettest -D -r ${a}
1554 log_test_addr ${a} $? 1 "No server, unbound client"
1558 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1559 log_test_addr ${a} $? 1 "No server, device client"
1565 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
1570 run_cmd nettest -D -r ${a} -0 ${a} -1 ${a}
1571 log_test_addr ${a} $? 0 "Global server, local connection"
1574 a=${NSA_IP}
1578 run_cmd nettest -D -r ${a}
1579 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
1581 for a in ${NSA_LO_IP} 127.0.0.1
1587 run_cmd nettest -D -r ${a}
1588 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1591 a=${NSA_IP}
1595 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1596 log_test_addr ${a} $? 0 "Global server, device client, local connection"
1601 run_cmd nettest -D -d ${NSA_DEV} -C -r ${a}
1602 log_test_addr ${a} $? 0 "Global server, device send via cmsg, local connection"
1607 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a}
1608 log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection"
1613 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a} -U
1614 …log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection, with co…
1620 for a in ${NSA_LO_IP} 127.0.0.1
1626 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1627 log_test_addr ${a} $? 2 "Global server, device client, local connection"
1633 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C
1634 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
1640 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S
1641 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
1647 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -U
1648 …log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with co…
1653 a=${NSA_IP}
1657 run_cmd nettest -D -d ${NSA_DEV} -r ${a} -0 ${a}
1658 log_test_addr ${a} $? 0 "Device server, device client, local conn"
1661 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1662 log_test_addr ${a} $? 2 "No server, device client, local conn"
1667 # on link (doesn't need to be routed through a gateway).
1670 a=${NSB_IP}
1672 do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1673 log_test_addr ${a} $? 0 "SO_DONTROUTE client"
1675 a=${NSB_LO_IP}
1678 do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1679 log_test_addr ${a} $? 1 "SO_DONTROUTE client"
1684 local a
1693 for a in ${NSA_IP} ${VRF_IP}
1696 show_hint "Fails because ingress is in a VRF and global server is disabled"
1699 run_cmd_nsb nettest -D -r ${a}
1700 log_test_addr ${a} $? 1 "Global server"
1705 run_cmd_nsb nettest -D -r ${a}
1706 log_test_addr ${a} $? 0 "VRF server"
1711 run_cmd_nsb nettest -D -r ${a}
1712 log_test_addr ${a} $? 0 "Enslaved device server"
1716 run_cmd_nsb nettest -D -r ${a}
1717 log_test_addr ${a} $? 1 "No server"
1723 run_cmd nettest -D -d ${VRF} -r ${a}
1724 log_test_addr ${a} $? 1 "Global server, VRF client, local connection"
1727 a=${NSA_IP}
1731 run_cmd nettest -D -d ${VRF} -r ${a}
1732 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1737 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1738 log_test_addr ${a} $? 0 "VRF server, enslaved device client, local connection"
1740 a=${NSA_IP}
1744 run_cmd nettest -D -d ${VRF} -r ${a}
1745 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
1750 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1751 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
1760 for a in ${NSA_IP} ${VRF_IP}
1765 run_cmd_nsb nettest -D -r ${a}
1766 log_test_addr ${a} $? 0 "Global server"
1771 run_cmd_nsb nettest -D -r ${a}
1772 log_test_addr ${a} $? 0 "VRF server"
1777 run_cmd_nsb nettest -D -r ${a}
1778 log_test_addr ${a} $? 0 "Enslaved device server"
1782 run_cmd_nsb nettest -D -r ${a}
1783 log_test_addr ${a} $? 1 "No server"
1815 a=${NSA_IP}
1819 run_cmd nettest -D -d ${VRF} -r ${a}
1820 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
1825 run_cmd nettest -D -d ${VRF} -r ${a}
1826 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1831 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1832 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
1837 run_cmd nettest -D -d ${VRF} -r ${a}
1838 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
1843 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1844 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
1846 for a in ${VRF_IP} 127.0.0.1
1851 run_cmd nettest -D -d ${VRF} -r ${a}
1852 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
1855 for a in ${VRF_IP} 127.0.0.1
1860 run_cmd nettest -D -d ${VRF} -r ${a}
1861 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1866 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
1870 run_cmd nettest -D -d ${VRF} -r ${a}
1871 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
1906 for a in ${NSA_IP} ${NSA_LO_IP}
1909 run_cmd nettest -s -R -P icmp -l ${a} -b
1910 log_test_addr ${a} $? 0 "Raw socket bind to local address"
1913 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1914 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
1920 a=${NL_IP}
1922 run_cmd nettest -s -R -f -l ${a} -b
1923 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address"
1926 run_cmd nettest -s -f -l ${a} -b
1927 log_test_addr ${a} $? 0 "TCP socket bind to nonlocal address"
1930 run_cmd nettest -s -D -P icmp -f -l ${a} -b
1931 log_test_addr ${a} $? 0 "ICMP socket bind to nonlocal address"
1936 a=${BCAST_IP}
1938 run_cmd nettest -s -D -P icmp -l ${a} -b
1939 log_test_addr ${a} $? 1 "ICMP socket bind to broadcast address"
1941 a=${MCAST_IP}
1943 run_cmd nettest -s -D -P icmp -l ${a} -b
1944 log_test_addr ${a} $? 1 "ICMP socket bind to multicast address"
1949 a=${NSA_IP}
1951 run_cmd nettest -c ${a} -r ${NSB_IP} -t1 -b
1952 log_test_addr ${a} $? 0 "TCP socket bind to local address"
1955 run_cmd nettest -c ${a} -r ${NSB_IP} -d ${NSA_DEV} -t1 -b
1956 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
1958 # Sadly, the kernel allows binding a socket to a device and then
1962 #a=${NSA_LO_IP}
1965 #run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
1966 #log_test_addr ${a} $? 1 "TCP socket bind to out of scope local address"
1974 for a in ${NSA_IP} ${VRF_IP}
1978 run_cmd nettest -s -R -P icmp -l ${a} -b
1979 log_test_addr ${a} $? 1 "Raw socket bind to local address"
1982 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1983 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
1985 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
1986 log_test_addr ${a} $? 0 "Raw socket bind to local address after VRF bind"
1989 a=${NSA_LO_IP}
1992 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
1993 log_test_addr ${a} $? 1 "Raw socket bind to out of scope address after VRF bind"
1998 a=${NL_IP}
2000 run_cmd nettest -s -R -f -l ${a} -I ${VRF} -b
2001 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address after VRF bind"
2004 run_cmd nettest -s -f -l ${a} -I ${VRF} -b
2005 log_test_addr ${a} $? 0 "TCP socket bind to nonlocal address after VRF bind"
2008 run_cmd nettest -s -D -P icmp -f -l ${a} -I ${VRF} -b
2009 log_test_addr ${a} $? 0 "ICMP socket bind to nonlocal address after VRF bind"
2014 a=${BCAST_IP}
2016 run_cmd nettest -s -D -P icmp -l ${a} -I ${VRF} -b
2017 log_test_addr ${a} $? 1 "ICMP socket bind to broadcast address after VRF bind"
2019 a=${MCAST_IP}
2021 run_cmd nettest -s -D -P icmp -l ${a} -I ${VRF} -b
2022 log_test_addr ${a} $? 1 "ICMP socket bind to multicast address after VRF bind"
2027 for a in ${NSA_IP} ${VRF_IP}
2030 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
2031 log_test_addr ${a} $? 0 "TCP socket bind to local address"
2034 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
2035 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
2038 a=${NSA_LO_IP}
2041 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
2042 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
2046 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
2047 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
2073 local a
2078 for a in ${NSA_IP} ${VRF_IP}
2083 run_cmd_nsb nettest ${varg} -r ${a} &
2087 log_test_addr ${a} 0 0 "${desc}, global server"
2092 for a in ${NSA_IP} ${VRF_IP}
2097 run_cmd_nsb nettest ${varg} -r ${a} &
2101 log_test_addr ${a} 0 0 "${desc}, VRF server"
2106 a=${NSA_IP}
2110 run_cmd_nsb nettest ${varg} -r ${a} &
2114 log_test_addr ${a} 0 0 "${desc}, enslaved device server"
2128 log_test_addr ${a} 0 0 "${desc}, VRF client"
2139 log_test_addr ${a} 0 0 "${desc}, enslaved device client"
2146 for a in ${NSA_IP} ${VRF_IP}
2151 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
2155 log_test_addr ${a} 0 0 "${desc}, global server, VRF client, local"
2160 for a in ${NSA_IP} ${VRF_IP}
2165 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
2169 log_test_addr ${a} 0 0 "${desc}, VRF server and client, local"
2174 a=${NSA_IP}
2179 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2183 log_test_addr ${a} 0 0 "${desc}, global server, enslaved device client, local"
2190 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2194 log_test_addr ${a} 0 0 "${desc}, VRF server, enslaved device client, local"
2201 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2205 log_test_addr ${a} 0 0 "${desc}, enslaved device server and client, local"
2211 local a
2213 for a in ${NSA_IP} ${VRF_IP}
2216 run_cmd_nsb ping -f ${a} &
2220 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
2225 a=${NSB_IP}
2227 run_cmd ping -f -I ${VRF} ${a} &
2231 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
2253 local a
2255 # should not have an impact, but make a known state
2261 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2264 run_cmd ${ping6} -c1 -w1 ${a}
2265 log_test_addr ${a} $? 0 "ping out"
2268 for a in ${NSB_IP6} ${NSB_LO_IP6}
2271 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2272 log_test_addr ${a} $? 0 "ping out, device bind"
2275 run_cmd ${ping6} -c1 -w1 -I ${NSA_LO_IP6} ${a}
2276 log_test_addr ${a} $? 0 "ping out, loopback address bind"
2282 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV} ${MCAST}%${NSB_DEV}
2285 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2286 log_test_addr ${a} $? 0 "ping in"
2292 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1 ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2295 run_cmd ${ping6} -c1 -w1 ${a}
2296 log_test_addr ${a} $? 0 "ping local, no bind"
2299 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2302 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2303 log_test_addr ${a} $? 0 "ping local, device bind"
2306 for a in ${NSA_LO_IP6} ::1
2310 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2311 log_test_addr ${a} $? 2 "ping local, device bind"
2323 a=${NSB_LO_IP6}
2324 run_cmd ${ping6} -c1 -w1 ${a}
2325 log_test_addr ${a} $? 2 "ping out, blocked by rule"
2328 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2329 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
2331 a=${NSA_LO_IP6}
2334 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2335 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2350 a=${NSB_LO_IP6}
2351 run_cmd ${ping6} -c1 -w1 ${a}
2352 log_test_addr ${a} $? 2 "ping out, blocked by route"
2355 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2356 log_test_addr ${a} $? 2 "ping out, device bind, blocked by route"
2358 a=${NSA_LO_IP6}
2361 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2362 log_test_addr ${a} $? 1 "ping in, blocked by route"
2372 a=${NSB_LO_IP6}
2373 run_cmd ${ping6} -c1 -w1 ${a}
2374 log_test_addr ${a} $? 2 "ping out, unreachable route"
2377 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2378 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
2383 local a
2391 for a in ${NSB_IP6} ${NSB_LO_IP6}
2394 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2395 log_test_addr ${a} $? 0 "ping out, VRF bind"
2398 for a in ${NSB_LINKIP6}%${VRF} ${MCAST}%${VRF}
2402 run_cmd ${ping6} -c1 -w1 ${a}
2403 log_test_addr ${a} $? 1 "ping out, VRF bind"
2406 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2409 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2410 log_test_addr ${a} $? 0 "ping out, device bind"
2413 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2416 run_cmd ip vrf exec ${VRF} ${ping6} -c1 -w1 -I ${VRF_IP6} ${a}
2417 log_test_addr ${a} $? 0 "ping out, vrf device+address bind"
2423 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV} ${MCAST}%${NSB_DEV}
2426 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2427 log_test_addr ${a} $? 0 "ping in"
2430 a=${NSA_LO_IP6}
2433 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2434 log_test_addr ${a} $? 1 "ping in"
2439 for a in ${NSA_IP6} ${VRF_IP6} ::1
2442 show_hint "Source address should be ${a}"
2443 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2444 log_test_addr ${a} $? 0 "ping local, VRF bind"
2447 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2450 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2451 log_test_addr ${a} $? 0 "ping local, device bind"
2459 for a in ${NSA_IP6} ${VRF_IP6}
2463 log_test_addr ${a} $? 0 "ping in, LLA to GUA"
2477 a=${NSB_LO_IP6}
2478 run_cmd ${ping6} -c1 -w1 ${a}
2479 log_test_addr ${a} $? 2 "ping out, blocked by rule"
2482 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2483 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
2485 a=${NSA_LO_IP6}
2488 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2489 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2501 a=${NSB_LO_IP6}
2502 run_cmd ${ping6} -c1 -w1 ${a}
2503 log_test_addr ${a} $? 2 "ping out, unreachable route"
2506 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2507 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
2510 a=${NSA_LO_IP6}
2512 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2513 log_test_addr ${a} $? 2 "ping in, unreachable route"
2674 # duplicate config between default VRF and a VRF
2742 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
2746 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
2752 local a
2757 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2762 run_cmd_nsb nettest -6 -r ${a}
2763 log_test_addr ${a} $? 0 "Global server"
2767 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2771 run_cmd_nsb nettest -6 -r ${a}
2772 log_test_addr ${a} $? 1 "No server"
2778 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2783 run_cmd nettest -6 -r ${a}
2784 log_test_addr ${a} $? 0 "Client"
2787 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2792 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2793 log_test_addr ${a} $? 0 "Client, device bind"
2796 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2800 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2801 log_test_addr ${a} $? 1 "No server, device client"
2807 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2812 run_cmd nettest -6 -r ${a}
2813 log_test_addr ${a} $? 0 "Global server, local connection"
2816 a=${NSA_IP6}
2820 run_cmd nettest -6 -r ${a} -0 ${a}
2821 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
2823 for a in ${NSA_LO_IP6} ::1
2829 run_cmd nettest -6 -r ${a}
2830 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
2833 a=${NSA_IP6}
2837 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2838 log_test_addr ${a} $? 0 "Global server, device client, local connection"
2840 for a in ${NSA_LO_IP6} ::1
2846 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2847 log_test_addr ${a} $? 1 "Global server, device client, local connection"
2850 for a in ${NSA_IP6} ${NSA_LINKIP6}
2855 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2856 log_test_addr ${a} $? 0 "Device server, device client, local conn"
2859 for a in ${NSA_IP6} ${NSA_LINKIP6}
2863 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2864 log_test_addr ${a} $? 1 "No server, device client, local conn"
2872 local a
2882 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2888 run_cmd_nsb nettest -6 -r ${a}
2889 log_test_addr ${a} $? 1 "Global server"
2892 for a in ${NSA_IP6} ${VRF_IP6}
2897 run_cmd_nsb nettest -6 -r ${a}
2898 log_test_addr ${a} $? 0 "VRF server"
2902 a=${NSA_LINKIP6}%${NSB_DEV}
2906 run_cmd_nsb nettest -6 -r ${a}
2907 log_test_addr ${a} $? 0 "VRF server"
2909 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2914 run_cmd_nsb nettest -6 -r ${a}
2915 log_test_addr ${a} $? 0 "Device server"
2919 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2923 run_cmd_nsb nettest -6 -r ${a}
2924 log_test_addr ${a} $? 1 "No server"
2928 a=${NSA_IP6}
2933 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2934 log_test_addr ${a} $? 1 "Global server, local connection"
2949 for a in ${NSA_IP6} ${VRF_IP6}
2954 run_cmd_nsb nettest -6 -r ${a}
2955 log_test_addr ${a} $? 0 "Global server"
2958 for a in ${NSA_IP6} ${VRF_IP6}
2963 run_cmd_nsb nettest -6 -r ${a}
2964 log_test_addr ${a} $? 0 "VRF server"
2968 a=${NSA_LINKIP6}%${NSB_DEV}
2972 run_cmd_nsb nettest -6 -r ${a}
2973 log_test_addr ${a} $? 0 "Global server"
2978 run_cmd_nsb nettest -6 -r ${a}
2979 log_test_addr ${a} $? 0 "VRF server"
2981 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2986 run_cmd_nsb nettest -6 -r ${a}
2987 log_test_addr ${a} $? 0 "Device server"
2991 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2995 run_cmd_nsb nettest -6 -r ${a}
2996 log_test_addr ${a} $? 1 "No server"
3000 for a in ${NSA_IP6} ${VRF_IP6}
3006 run_cmd nettest -6 -r ${a}
3007 log_test_addr ${a} $? 1 "Global server, local connection"
3014 for a in ${NSB_IP6} ${NSB_LO_IP6}
3019 run_cmd nettest -6 -r ${a} -d ${VRF}
3020 log_test_addr ${a} $? 0 "Client, VRF bind"
3023 a=${NSB_LINKIP6}
3028 run_cmd nettest -6 -r ${a} -d ${VRF}
3029 log_test_addr ${a} $? 1 "Client, VRF bind"
3031 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}
3036 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
3037 log_test_addr ${a} $? 0 "Client, device bind"
3040 for a in ${NSB_IP6} ${NSB_LO_IP6}
3044 run_cmd nettest -6 -r ${a} -d ${VRF}
3045 log_test_addr ${a} $? 1 "No server, VRF client"
3048 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}
3052 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
3053 log_test_addr ${a} $? 1 "No server, device client"
3056 for a in ${NSA_IP6} ${VRF_IP6} ::1
3061 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
3062 log_test_addr ${a} $? 0 "VRF server, VRF client, local connection"
3065 a=${NSA_IP6}
3069 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
3070 log_test_addr ${a} $? 0 "VRF server, device client, local connection"
3072 a=${NSA_IP6}
3077 run_cmd nettest -6 -r ${a}
3078 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
3083 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
3084 log_test_addr ${a} $? 0 "Device server, VRF client, local connection"
3086 for a in ${NSA_IP6} ${NSA_LINKIP6}
3091 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
3092 log_test_addr ${a} $? 0 "Device server, device client, local connection"
3121 local a
3126 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3131 run_cmd_nsb nettest -6 -D -r ${a}
3132 log_test_addr ${a} $? 0 "Global server"
3137 run_cmd_nsb nettest -6 -D -r ${a}
3138 log_test_addr ${a} $? 0 "Device server"
3141 a=${NSA_LO_IP6}
3145 run_cmd_nsb nettest -6 -D -r ${a}
3146 log_test_addr ${a} $? 0 "Global server"
3148 # should fail since loopback address is out of scope for a device
3155 #run_cmd_nsb nettest -6 -D -r ${a}
3156 #log_test_addr ${a} $? 1 "Device server"
3159 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3163 run_cmd_nsb nettest -6 -D -r ${a}
3164 log_test_addr ${a} $? 1 "No server"
3170 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
3175 run_cmd nettest -6 -D -r ${a} -0 ${NSA_IP6}
3176 log_test_addr ${a} $? 0 "Client"
3181 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP6}
3182 log_test_addr ${a} $? 0 "Client, device bind"
3187 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP6}
3188 log_test_addr ${a} $? 0 "Client, device send via cmsg"
3193 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP6}
3194 log_test_addr ${a} $? 0 "Client, device bind via IPV6_UNICAST_IF"
3198 run_cmd nettest -6 -D -r ${a}
3199 log_test_addr ${a} $? 1 "No server, unbound client"
3203 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3204 log_test_addr ${a} $? 1 "No server, device client"
3210 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
3215 run_cmd nettest -6 -D -r ${a} -0 ${a} -1 ${a}
3216 log_test_addr ${a} $? 0 "Global server, local connection"
3219 a=${NSA_IP6}
3223 run_cmd nettest -6 -D -r ${a}
3224 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
3226 for a in ${NSA_LO_IP6} ::1
3232 run_cmd nettest -6 -D -r ${a}
3233 log_test_addr ${a} $? 1 "Device server, local connection"
3236 a=${NSA_IP6}
3240 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3241 log_test_addr ${a} $? 0 "Global server, device client, local connection"
3246 run_cmd nettest -6 -D -d ${NSA_DEV} -C -r ${a}
3247 log_test_addr ${a} $? 0 "Global server, device send via cmsg, local connection"
3252 run_cmd nettest -6 -D -d ${NSA_DEV} -S -r ${a}
3253 log_test_addr ${a} $? 0 "Global server, device client via IPV6_UNICAST_IF, local connection"
3255 for a in ${NSA_LO_IP6} ::1
3261 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3262 log_test_addr ${a} $? 1 "Global server, device client, local connection"
3268 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C
3269 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
3275 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S
3276 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
3282 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -U
3283 …log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with co…
3286 a=${NSA_IP6}
3290 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a} -0 ${a}
3291 log_test_addr ${a} $? 0 "Device server, device client, local conn"
3295 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3296 log_test_addr ${a} $? 1 "No server, device client, local conn"
3313 local a
3322 for a in ${NSA_IP6} ${VRF_IP6}
3328 run_cmd_nsb nettest -6 -D -r ${a}
3329 log_test_addr ${a} $? 1 "Global server"
3332 for a in ${NSA_IP6} ${VRF_IP6}
3337 run_cmd_nsb nettest -6 -D -r ${a}
3338 log_test_addr ${a} $? 0 "VRF server"
3341 for a in ${NSA_IP6} ${VRF_IP6}
3346 run_cmd_nsb nettest -6 -D -r ${a}
3347 log_test_addr ${a} $? 0 "Enslaved device server"
3351 for a in ${NSA_IP6} ${VRF_IP6}
3355 run_cmd_nsb nettest -6 -D -r ${a}
3356 log_test_addr ${a} $? 1 "No server"
3362 for a in ${NSA_IP6} ${VRF_IP6}
3368 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3369 log_test_addr ${a} $? 1 "Global server, VRF client, local conn"
3372 for a in ${NSA_IP6} ${VRF_IP6}
3377 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3378 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3381 a=${NSA_IP6}
3386 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3387 log_test_addr ${a} $? 1 "Global server, device client, local conn"
3392 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3393 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
3398 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3399 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
3404 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3405 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
3414 for a in ${NSA_IP6} ${VRF_IP6}
3419 run_cmd_nsb nettest -6 -D -r ${a}
3420 log_test_addr ${a} $? 0 "Global server"
3423 for a in ${NSA_IP6} ${VRF_IP6}
3428 run_cmd_nsb nettest -6 -D -r ${a}
3429 log_test_addr ${a} $? 0 "VRF server"
3432 for a in ${NSA_IP6} ${VRF_IP6}
3437 run_cmd_nsb nettest -6 -D -r ${a}
3438 log_test_addr ${a} $? 0 "Enslaved device server"
3442 for a in ${NSA_IP6} ${VRF_IP6}
3445 run_cmd_nsb nettest -6 -D -r ${a}
3446 log_test_addr ${a} $? 1 "No server"
3477 a=${NSA_IP6}
3481 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3482 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
3487 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3488 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3491 a=${VRF_IP6}
3495 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3496 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
3501 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3502 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3505 for a in ${NSA_IP6} ${VRF_IP6}
3508 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3509 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
3513 a=${NSA_IP6}
3517 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3518 log_test_addr ${a} $? 0 "Global server, device client, local conn"
3523 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3524 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
3529 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3530 log_test_addr ${a} $? 0 "Device server, VRF client, local conn"
3535 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3536 log_test_addr ${a} $? 0 "Device server, device client, local conn"
3539 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3540 log_test_addr ${a} $? 1 "No server, device client, local conn"
3620 for a in ${NSA_IP6} ${NSA_LO_IP6}
3623 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -b
3624 log_test_addr ${a} $? 0 "Raw socket bind to local address"
3627 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3628 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
3634 a=${NL_IP6}
3636 run_cmd nettest -6 -s -R -P icmp -f -l ${a} -I ${NSA_DEV} -b
3637 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address"
3642 a=${NSA_IP6}
3644 run_cmd nettest -6 -s -l ${a} -t1 -b
3645 log_test_addr ${a} $? 0 "TCP socket bind to local address"
3648 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3649 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
3651 # Sadly, the kernel allows binding a socket to a device and then
3654 a=${NSA_LO_IP6}
3657 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3658 log_test_addr ${a} $? 0 "TCP socket bind to out of scope local address"
3666 for a in ${NSA_IP6} ${VRF_IP6}
3669 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3670 log_test_addr ${a} $? 0 "Raw socket bind to local address after vrf bind"
3673 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3674 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
3677 a=${NSA_LO_IP6}
3680 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3681 log_test_addr ${a} $? 1 "Raw socket bind to invalid local address after vrf bind"
3686 a=${NL_IP6}
3688 run_cmd nettest -6 -s -R -P icmp -f -l ${a} -I ${VRF} -b
3689 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address after VRF bind"
3694 # address on enslaved device is valid for the VRF or device in a VRF
3695 for a in ${NSA_IP6} ${VRF_IP6}
3698 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3699 log_test_addr ${a} $? 0 "TCP socket bind to local address with VRF bind"
3702 a=${NSA_IP6}
3704 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3705 log_test_addr ${a} $? 0 "TCP socket bind to local address with device bind"
3707 # Sadly, the kernel allows binding a socket to a device and then
3711 a=${VRF_IP6}
3714 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3715 log_test_addr ${a} $? 0 "TCP socket bind to VRF address with device bind"
3717 a=${NSA_LO_IP6}
3720 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3721 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
3725 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3726 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
3751 local a
3756 for a in ${NSA_IP6} ${VRF_IP6}
3761 run_cmd_nsb nettest ${varg} -r ${a} &
3765 log_test_addr ${a} 0 0 "${desc}, global server"
3770 for a in ${NSA_IP6} ${VRF_IP6}
3775 run_cmd_nsb nettest ${varg} -r ${a} &
3779 log_test_addr ${a} 0 0 "${desc}, VRF server"
3784 for a in ${NSA_IP6} ${VRF_IP6}
3789 run_cmd_nsb nettest ${varg} -r ${a} &
3793 log_test_addr ${a} 0 0 "${desc}, enslaved device server"
3827 for a in ${NSA_IP6} ${VRF_IP6}
3832 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3836 log_test_addr ${a} 0 0 "${desc}, global server, VRF client"
3841 for a in ${NSA_IP6} ${VRF_IP6}
3846 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3850 log_test_addr ${a} 0 0 "${desc}, VRF server and client"
3855 a=${NSA_IP6}
3859 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3863 log_test_addr ${a} 0 0 "${desc}, global server, device client"
3870 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3874 log_test_addr ${a} 0 0 "${desc}, VRF server, device client"
3881 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3885 log_test_addr ${a} 0 0 "${desc}, device server, device client"
3891 local a
3893 a=${NSA_IP6}
3895 run_cmd_nsb ${ping6} -f ${a} &
3899 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
3908 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
3933 local a
3935 for a in ${NSA_IP} ${VRF_IP}
3940 run_cmd_nsb nettest -r ${a}
3941 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3949 local a
3953 for a in ${NSA_IP} ${VRF_IP}
3958 run_cmd_nsb nettest ${arg} -r ${a}
3959 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3969 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3978 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3979 run_cmd iptables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3990 local a
3992 for a in ${NSA_IP6} ${VRF_IP6}
3997 run_cmd_nsb nettest -6 -r ${a}
3998 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
4006 local a
4010 for a in ${NSA_IP6} ${VRF_IP6}
4015 run_cmd_nsb nettest -6 ${arg} -r ${a}
4016 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
4026 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
4034 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
4035 run_cmd ip6tables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
4048 # ns-A device enslaved to bridge. Verify traffic with and without
4159 # ns-A device is connected to both ns-B and ns-C on a single VRF but only has
4164 # only want reply from ns-A
4175 # cycle/flap the first ns-A interface
4186 # cycle/flap the second ns-A interface
4198 # Perform IPv{4,6} SNAT on ns-A, and verify TCP connection is successfully
4206 …run_cmd iptables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO_…
4207 …run_cmd ip6tables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO…