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
215 if [ "$VERBOSE" = "1" -a -n "$out" ]; then
253 read a
275 read a
297 read a
303 # set sysctl values in NS-A
311 # get sysctl values in NS-A
329 ${NSA_IP}) echo "ns-A IP";;
330 ${NSA_IP6}) echo "ns-A IPv6";;
331 ${NSA_LO_IP}) echo "ns-A loopback IP";;
332 ${NSA_LO_IP6}) echo "ns-A loopback IPv6";;
333 ${NSA_LINKIP6}|${NSA_LINKIP6}%*) echo "ns-A IPv6 LLA";;
491 # ns-B but for a device NOT in the VRF
503 # make sure we are starting with a clean slate
522 # tell ns-A how to get to remote addresses of ns-B
538 # tell ns-B how to get to remote addresses of ns-A
549 # make sure we are starting with a clean slate
586 local a
591 for a in ${NSB_IP} ${NSB_LO_IP}
594 run_cmd ping -c1 -w1 ${a}
595 log_test_addr ${a} $? 0 "ping out"
598 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
599 log_test_addr ${a} $? 0 "ping out, device bind"
602 run_cmd ping -c1 -w1 -I ${NSA_LO_IP} ${a}
603 log_test_addr ${a} $? 0 "ping out, address bind"
609 a=${NSB_IP}
611 run_cmd ping -c 1 -w 1 -r ${a}
612 log_test_addr ${a} $? 0 "ping out (don't route), peer on link"
614 a=${NSB_LO_IP}
617 run_cmd ping -c 1 -w 1 -r ${a}
618 log_test_addr ${a} $? 1 "ping out (don't route), peer not on link"
623 for a in ${NSA_IP} ${NSA_LO_IP}
626 run_cmd_nsb ping -c1 -w1 ${a}
627 log_test_addr ${a} $? 0 "ping in"
633 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
636 run_cmd ping -c1 -w1 ${a}
637 log_test_addr ${a} $? 0 "ping local"
644 a=${NSA_IP}
646 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
647 log_test_addr ${a} $? 0 "ping local, device bind"
650 # fails in a really weird way though because ipv4 special cases
652 for a in ${NSA_LO_IP} 127.0.0.1
656 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
657 log_test_addr ${a} $? 1 "ping local, device bind"
669 a=${NSB_LO_IP}
670 run_cmd ping -c1 -w1 ${a}
671 log_test_addr ${a} $? 2 "ping out, blocked by rule"
674 # a viable rtable if the oif (e.g., bind to device) is set, so this
676 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
678 a=${NSA_LO_IP}
681 run_cmd_nsb ping -c1 -w1 ${a}
682 log_test_addr ${a} $? 1 "ping in, blocked by rule"
697 a=${NSB_LO_IP}
698 run_cmd ping -c1 -w1 ${a}
699 log_test_addr ${a} $? 2 "ping out, blocked by route"
702 # a viable rtable if the oif (e.g., bind to device) is set, so this
703 # case succeeds despite not having a route for the address
704 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
706 a=${NSA_LO_IP}
709 run_cmd_nsb ping -c1 -w1 ${a}
710 log_test_addr ${a} $? 1 "ping in, blocked by route"
718 a=${NSB_LO_IP}
719 run_cmd ping -c1 -w1 ${a}
720 log_test_addr ${a} $? 2 "ping out, unreachable default route"
723 # a viable rtable if the oif (e.g., bind to device) is set, so this
724 # case succeeds despite not having a route for the address
725 # run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
730 local a
738 for a in ${NSB_IP} ${NSB_LO_IP}
741 run_cmd ping -c1 -w1 -I ${VRF} ${a}
742 log_test_addr ${a} $? 0 "ping out, VRF bind"
745 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
746 log_test_addr ${a} $? 0 "ping out, device bind"
749 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${NSA_IP} ${a}
750 log_test_addr ${a} $? 0 "ping out, vrf device + dev address bind"
753 run_cmd ip vrf exec ${VRF} ping -c1 -w1 -I ${VRF_IP} ${a}
754 log_test_addr ${a} $? 0 "ping out, vrf device + vrf address bind"
760 for a in ${NSA_IP} ${VRF_IP}
763 run_cmd_nsb ping -c1 -w1 ${a}
764 log_test_addr ${a} $? 0 "ping in"
770 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
773 show_hint "Source address should be ${a}"
774 run_cmd ping -c1 -w1 -I ${VRF} ${a}
775 log_test_addr ${a} $? 0 "ping local, VRF bind"
782 a=${NSA_IP}
784 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
785 log_test_addr ${a} $? 0 "ping local, device bind"
788 for a in ${VRF_IP} 127.0.0.1
792 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
793 log_test_addr ${a} $? 2 "ping local, device bind"
803 a=${NSB_LO_IP}
804 run_cmd ping -c1 -w1 -I ${VRF} ${a}
805 log_test_addr ${a} $? 2 "ping out, vrf bind, blocked by rule"
808 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
809 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
811 a=${NSA_LO_IP}
814 run_cmd_nsb ping -c1 -w1 ${a}
815 log_test_addr ${a} $? 1 "ping in, blocked by rule"
827 a=${NSB_LO_IP}
828 run_cmd ping -c1 -w1 -I ${VRF} ${a}
829 log_test_addr ${a} $? 2 "ping out, vrf bind, unreachable route"
832 run_cmd ping -c1 -w1 -I ${NSA_DEV} ${a}
833 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
835 a=${NSA_LO_IP}
838 run_cmd_nsb ping -c1 -w1 ${a}
839 log_test_addr ${a} $? 1 "ping in, unreachable route"
1004 # duplicate config between default VRF and a VRF
1072 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
1076 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
1139 local a
1144 # on link (doesn't need to be routed through a gateway).
1154 a=${NSB_IP}
1156 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1157 log_test_addr ${a} $? 0 "SO_DONTROUTE client, syncookies=${syncookies}"
1159 a=${NSB_IP}
1161 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -r ${a} --server-dontroute
1162 log_test_addr ${a} $? 0 "SO_DONTROUTE server, syncookies=${syncookies}"
1169 # to respond to a routed address and not a link local one).
1171 a=${NSB_LO_IP}
1174 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -c "${NSA_LO_IP}" -r ${a} --client-dontroute
1175 log_test_addr ${a} $? 1 "SO_DONTROUTE client, syncookies=${syncookies}"
1177 a=${NSB_LO_IP}
1180 do_run_cmd nettest -B -N "${NSA}" -O "${NSB}" -c "${NSA_LO_IP}" -r ${a} --server-dontroute
1181 log_test_addr ${a} $? 2 "SO_DONTROUTE server, syncookies=${syncookies}"
1189 local a
1194 for a in ${NSA_IP} ${NSA_LO_IP}
1199 run_cmd_nsb nettest -r ${a}
1200 log_test_addr ${a} $? 0 "Global server"
1203 a=${NSA_IP}
1207 run_cmd_nsb nettest -r ${a}
1208 log_test_addr ${a} $? 0 "Device server"
1211 for a in ${NSA_IP} ${NSA_LO_IP}
1215 run_cmd_nsb nettest -r ${a}
1216 log_test_addr ${a} $? 1 "No server"
1222 for a in ${NSB_IP} ${NSB_LO_IP}
1227 run_cmd nettest -r ${a} -0 ${NSA_IP}
1228 log_test_addr ${a} $? 0 "Client"
1233 run_cmd nettest -r ${a} -d ${NSA_DEV}
1234 log_test_addr ${a} $? 0 "Client, device bind"
1238 run_cmd nettest -r ${a}
1239 log_test_addr ${a} $? 1 "No server, unbound client"
1243 run_cmd nettest -r ${a} -d ${NSA_DEV}
1244 log_test_addr ${a} $? 1 "No server, device client"
1250 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
1255 run_cmd nettest -r ${a} -0 ${a} -1 ${a}
1256 log_test_addr ${a} $? 0 "Global server, local connection"
1259 a=${NSA_IP}
1263 run_cmd nettest -r ${a} -0 ${a}
1264 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
1266 for a in ${NSA_LO_IP} 127.0.0.1
1272 run_cmd nettest -r ${a}
1273 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1276 a=${NSA_IP}
1280 run_cmd nettest -r ${a} -0 ${a} -d ${NSA_DEV}
1281 log_test_addr ${a} $? 0 "Global server, device client, local connection"
1283 for a in ${NSA_LO_IP} 127.0.0.1
1289 run_cmd nettest -r ${a} -d ${NSA_DEV}
1290 log_test_addr ${a} $? 1 "Global server, device client, local connection"
1293 a=${NSA_IP}
1297 run_cmd nettest -d ${NSA_DEV} -r ${a} -0 ${a}
1298 log_test_addr ${a} $? 0 "Device server, device client, local connection"
1302 run_cmd nettest -d ${NSA_DEV} -r ${a}
1303 log_test_addr ${a} $? 1 "No server, device client, local conn"
1313 local a
1323 for a in ${NSA_IP} ${VRF_IP}
1329 run_cmd_nsb nettest -r ${a}
1330 log_test_addr ${a} $? 1 "Global server"
1335 run_cmd_nsb nettest -r ${a}
1336 log_test_addr ${a} $? 0 "VRF server"
1341 run_cmd_nsb nettest -r ${a}
1342 log_test_addr ${a} $? 0 "Device server"
1347 run_cmd_nsb nettest -r ${a}
1348 log_test_addr ${a} $? 1 "No server"
1353 a=${NSA_IP}
1358 run_cmd nettest -r ${a} -d ${NSA_DEV}
1359 log_test_addr ${a} $? 1 "Global server, local connection"
1374 for a in ${NSA_IP} ${VRF_IP}
1380 run_cmd_nsb nettest -r ${a}
1381 log_test_addr ${a} $? 0 "Global server"
1387 run_cmd_nsb nettest -r ${a}
1388 log_test_addr ${a} $? 0 "VRF server"
1393 run_cmd_nsb nettest -r ${a}
1394 log_test_addr ${a} $? 1 "No server"
1397 a=${NSA_IP}
1402 run_cmd_nsb nettest -r ${a}
1403 log_test_addr ${a} $? 0 "Device server"
1406 for a in ${NSA_IP} ${VRF_IP}
1412 run_cmd nettest -r ${a}
1413 log_test_addr ${a} $? 1 "Global server, local connection"
1419 for a in ${NSB_IP} ${NSB_LO_IP}
1424 run_cmd nettest -r ${a} -d ${VRF}
1425 log_test_addr ${a} $? 0 "Client, VRF bind"
1430 run_cmd nettest -r ${a} -d ${NSA_DEV}
1431 log_test_addr ${a} $? 0 "Client, device bind"
1435 run_cmd nettest -r ${a} -d ${VRF}
1436 log_test_addr ${a} $? 1 "No server, VRF client"
1440 run_cmd nettest -r ${a} -d ${NSA_DEV}
1441 log_test_addr ${a} $? 1 "No server, device client"
1444 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
1449 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1450 log_test_addr ${a} $? 0 "VRF server, VRF client, local connection"
1453 a=${NSA_IP}
1457 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1458 log_test_addr ${a} $? 0 "VRF server, device client, local connection"
1464 run_cmd nettest -r ${a}
1465 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
1470 run_cmd nettest -r ${a} -d ${VRF} -0 ${a}
1471 log_test_addr ${a} $? 0 "Device server, VRF client, local connection"
1476 run_cmd nettest -r ${a} -d ${NSA_DEV} -0 ${a}
1477 log_test_addr ${a} $? 0 "Device server, device client, local connection"
1505 local a
1510 for a in ${NSA_IP} ${NSA_LO_IP}
1515 run_cmd_nsb nettest -D -r ${a}
1516 log_test_addr ${a} $? 0 "Global server"
1520 run_cmd_nsb nettest -D -r ${a}
1521 log_test_addr ${a} $? 1 "No server"
1524 a=${NSA_IP}
1528 run_cmd_nsb nettest -D -r ${a}
1529 log_test_addr ${a} $? 0 "Device server"
1534 for a in ${NSB_IP} ${NSB_LO_IP}
1539 run_cmd nettest -D -r ${a} -0 ${NSA_IP}
1540 log_test_addr ${a} $? 0 "Client"
1545 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP}
1546 log_test_addr ${a} $? 0 "Client, device bind"
1551 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP}
1552 log_test_addr ${a} $? 0 "Client, device send via cmsg"
1557 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP}
1558 log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF"
1563 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP} -U
1564 log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF, with connect()"
1569 run_cmd nettest -D -r ${a}
1570 log_test_addr ${a} $? 1 "No server, unbound client"
1574 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1575 log_test_addr ${a} $? 1 "No server, device client"
1581 for a in ${NSA_IP} ${NSA_LO_IP} 127.0.0.1
1586 run_cmd nettest -D -r ${a} -0 ${a} -1 ${a}
1587 log_test_addr ${a} $? 0 "Global server, local connection"
1590 a=${NSA_IP}
1594 run_cmd nettest -D -r ${a}
1595 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
1597 for a in ${NSA_LO_IP} 127.0.0.1
1603 run_cmd nettest -D -r ${a}
1604 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
1607 a=${NSA_IP}
1611 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1612 log_test_addr ${a} $? 0 "Global server, device client, local connection"
1617 run_cmd nettest -D -d ${NSA_DEV} -C -r ${a}
1618 log_test_addr ${a} $? 0 "Global server, device send via cmsg, local connection"
1623 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a}
1624 log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection"
1629 run_cmd nettest -D -d ${NSA_DEV} -S -r ${a} -U
1630 log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection, with connect()"
1636 for a in ${NSA_LO_IP} 127.0.0.1
1642 run_cmd nettest -D -r ${a} -d ${NSA_DEV}
1643 log_test_addr ${a} $? 2 "Global server, device client, local connection"
1649 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -C
1650 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
1656 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S
1657 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
1663 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -U
1664 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with connect()"
1669 a=${NSA_IP}
1673 run_cmd nettest -D -d ${NSA_DEV} -r ${a} -0 ${a}
1674 log_test_addr ${a} $? 0 "Device server, device client, local conn"
1677 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1678 log_test_addr ${a} $? 2 "No server, device client, local conn"
1683 # on link (doesn't need to be routed through a gateway).
1686 a=${NSB_IP}
1688 do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1689 log_test_addr ${a} $? 0 "SO_DONTROUTE client"
1691 a=${NSB_LO_IP}
1694 do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
1695 log_test_addr ${a} $? 1 "SO_DONTROUTE client"
1700 local a
1709 for a in ${NSA_IP} ${VRF_IP}
1712 show_hint "Fails because ingress is in a VRF and global server is disabled"
1715 run_cmd_nsb nettest -D -r ${a}
1716 log_test_addr ${a} $? 1 "Global server"
1721 run_cmd_nsb nettest -D -r ${a}
1722 log_test_addr ${a} $? 0 "VRF server"
1727 run_cmd_nsb nettest -D -r ${a}
1728 log_test_addr ${a} $? 0 "Enslaved device server"
1732 run_cmd_nsb nettest -D -r ${a}
1733 log_test_addr ${a} $? 1 "No server"
1739 run_cmd nettest -D -d ${VRF} -r ${a}
1740 log_test_addr ${a} $? 1 "Global server, VRF client, local connection"
1743 a=${NSA_IP}
1747 run_cmd nettest -D -d ${VRF} -r ${a}
1748 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1753 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1754 log_test_addr ${a} $? 0 "VRF server, enslaved device client, local connection"
1756 a=${NSA_IP}
1760 run_cmd nettest -D -d ${VRF} -r ${a}
1761 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
1766 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1767 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
1776 for a in ${NSA_IP} ${VRF_IP}
1781 run_cmd_nsb nettest -D -r ${a}
1782 log_test_addr ${a} $? 0 "Global server"
1787 run_cmd_nsb nettest -D -r ${a}
1788 log_test_addr ${a} $? 0 "VRF server"
1793 run_cmd_nsb nettest -D -r ${a}
1794 log_test_addr ${a} $? 0 "Enslaved device server"
1798 run_cmd_nsb nettest -D -r ${a}
1799 log_test_addr ${a} $? 1 "No server"
1831 a=${NSA_IP}
1835 run_cmd nettest -D -d ${VRF} -r ${a}
1836 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
1841 run_cmd nettest -D -d ${VRF} -r ${a}
1842 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1847 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1848 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
1853 run_cmd nettest -D -d ${VRF} -r ${a}
1854 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
1859 run_cmd nettest -D -d ${NSA_DEV} -r ${a}
1860 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
1862 for a in ${VRF_IP} 127.0.0.1
1867 run_cmd nettest -D -d ${VRF} -r ${a}
1868 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
1871 for a in ${VRF_IP} 127.0.0.1
1876 run_cmd nettest -D -d ${VRF} -r ${a}
1877 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
1882 for a in ${NSA_IP} ${VRF_IP} 127.0.0.1
1886 run_cmd nettest -D -d ${VRF} -r ${a}
1887 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
1922 for a in ${NSA_IP} ${NSA_LO_IP}
1925 run_cmd nettest -s -R -P icmp -l ${a} -b
1926 log_test_addr ${a} $? 0 "Raw socket bind to local address"
1929 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1930 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
1936 a=${NL_IP}
1938 run_cmd nettest -s -R -f -l ${a} -b
1939 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address"
1942 run_cmd nettest -s -f -l ${a} -b
1943 log_test_addr ${a} $? 0 "TCP socket bind to nonlocal address"
1946 run_cmd nettest -s -D -P icmp -f -l ${a} -b
1947 log_test_addr ${a} $? 0 "ICMP socket bind to nonlocal address"
1952 a=${BCAST_IP}
1954 run_cmd nettest -s -D -P icmp -l ${a} -b
1955 log_test_addr ${a} $? 1 "ICMP socket bind to broadcast address"
1957 a=${MCAST_IP}
1959 run_cmd nettest -s -D -P icmp -l ${a} -b
1960 log_test_addr ${a} $? 1 "ICMP socket bind to multicast address"
1965 a=${NSA_IP}
1967 run_cmd nettest -c ${a} -r ${NSB_IP} -t1 -b
1968 log_test_addr ${a} $? 0 "TCP socket bind to local address"
1971 run_cmd nettest -c ${a} -r ${NSB_IP} -d ${NSA_DEV} -t1 -b
1972 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
1974 # Sadly, the kernel allows binding a socket to a device and then
1978 #a=${NSA_LO_IP}
1981 #run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
1982 #log_test_addr ${a} $? 1 "TCP socket bind to out of scope local address"
1990 for a in ${NSA_IP} ${VRF_IP}
1994 run_cmd nettest -s -R -P icmp -l ${a} -b
1995 log_test_addr ${a} $? 1 "Raw socket bind to local address"
1998 run_cmd nettest -s -R -P icmp -l ${a} -I ${NSA_DEV} -b
1999 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
2001 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
2002 log_test_addr ${a} $? 0 "Raw socket bind to local address after VRF bind"
2005 a=${NSA_LO_IP}
2008 run_cmd nettest -s -R -P icmp -l ${a} -I ${VRF} -b
2009 log_test_addr ${a} $? 1 "Raw socket bind to out of scope address after VRF bind"
2014 a=${NL_IP}
2016 run_cmd nettest -s -R -f -l ${a} -I ${VRF} -b
2017 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address after VRF bind"
2020 run_cmd nettest -s -f -l ${a} -I ${VRF} -b
2021 log_test_addr ${a} $? 0 "TCP socket bind to nonlocal address after VRF bind"
2024 run_cmd nettest -s -D -P icmp -f -l ${a} -I ${VRF} -b
2025 log_test_addr ${a} $? 0 "ICMP socket bind to nonlocal address after VRF bind"
2030 a=${BCAST_IP}
2032 run_cmd nettest -s -D -P icmp -l ${a} -I ${VRF} -b
2033 log_test_addr ${a} $? 1 "ICMP socket bind to broadcast address after VRF bind"
2035 a=${MCAST_IP}
2037 run_cmd nettest -s -D -P icmp -l ${a} -I ${VRF} -b
2038 log_test_addr ${a} $? 1 "ICMP socket bind to multicast address after VRF bind"
2043 for a in ${NSA_IP} ${VRF_IP}
2046 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
2047 log_test_addr ${a} $? 0 "TCP socket bind to local address"
2050 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
2051 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
2054 a=${NSA_LO_IP}
2057 run_cmd nettest -s -l ${a} -I ${VRF} -t1 -b
2058 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
2062 run_cmd nettest -s -l ${a} -I ${NSA_DEV} -t1 -b
2063 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
2089 local a
2094 for a in ${NSA_IP} ${VRF_IP}
2099 run_cmd_nsb nettest ${varg} -r ${a} &
2103 log_test_addr ${a} 0 0 "${desc}, global server"
2108 for a in ${NSA_IP} ${VRF_IP}
2113 run_cmd_nsb nettest ${varg} -r ${a} &
2117 log_test_addr ${a} 0 0 "${desc}, VRF server"
2122 a=${NSA_IP}
2126 run_cmd_nsb nettest ${varg} -r ${a} &
2130 log_test_addr ${a} 0 0 "${desc}, enslaved device server"
2144 log_test_addr ${a} 0 0 "${desc}, VRF client"
2155 log_test_addr ${a} 0 0 "${desc}, enslaved device client"
2162 for a in ${NSA_IP} ${VRF_IP}
2167 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
2171 log_test_addr ${a} 0 0 "${desc}, global server, VRF client, local"
2176 for a in ${NSA_IP} ${VRF_IP}
2181 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
2185 log_test_addr ${a} 0 0 "${desc}, VRF server and client, local"
2190 a=${NSA_IP}
2195 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2199 log_test_addr ${a} 0 0 "${desc}, global server, enslaved device client, local"
2206 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2210 log_test_addr ${a} 0 0 "${desc}, VRF server, enslaved device client, local"
2217 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
2221 log_test_addr ${a} 0 0 "${desc}, enslaved device server and client, local"
2227 local a
2229 for a in ${NSA_IP} ${VRF_IP}
2232 run_cmd_nsb ping -f ${a} &
2236 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
2241 a=${NSB_IP}
2243 run_cmd ping -f -I ${VRF} ${a} &
2247 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
2269 local a
2271 # should not have an impact, but make a known state
2277 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2280 run_cmd ${ping6} -c1 -w1 ${a}
2281 log_test_addr ${a} $? 0 "ping out"
2284 for a in ${NSB_IP6} ${NSB_LO_IP6}
2287 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2288 log_test_addr ${a} $? 0 "ping out, device bind"
2291 run_cmd ${ping6} -c1 -w1 -I ${NSA_LO_IP6} ${a}
2292 log_test_addr ${a} $? 0 "ping out, loopback address bind"
2298 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV} ${MCAST}%${NSB_DEV}
2301 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2302 log_test_addr ${a} $? 0 "ping in"
2308 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1 ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2311 run_cmd ${ping6} -c1 -w1 ${a}
2312 log_test_addr ${a} $? 0 "ping local, no bind"
2315 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2318 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2319 log_test_addr ${a} $? 0 "ping local, device bind"
2322 for a in ${NSA_LO_IP6} ::1
2326 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2327 log_test_addr ${a} $? 2 "ping local, device bind"
2339 a=${NSB_LO_IP6}
2340 run_cmd ${ping6} -c1 -w1 ${a}
2341 log_test_addr ${a} $? 2 "ping out, blocked by rule"
2344 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2345 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
2347 a=${NSA_LO_IP6}
2350 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2351 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2366 a=${NSB_LO_IP6}
2367 run_cmd ${ping6} -c1 -w1 ${a}
2368 log_test_addr ${a} $? 2 "ping out, blocked by route"
2371 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2372 log_test_addr ${a} $? 2 "ping out, device bind, blocked by route"
2374 a=${NSA_LO_IP6}
2377 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2378 log_test_addr ${a} $? 1 "ping in, blocked by route"
2388 a=${NSB_LO_IP6}
2389 run_cmd ${ping6} -c1 -w1 ${a}
2390 log_test_addr ${a} $? 2 "ping out, unreachable route"
2393 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2394 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
2399 local a
2407 for a in ${NSB_IP6} ${NSB_LO_IP6}
2410 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2411 log_test_addr ${a} $? 0 "ping out, VRF bind"
2414 for a in ${NSB_LINKIP6}%${VRF} ${MCAST}%${VRF}
2418 run_cmd ${ping6} -c1 -w1 ${a}
2419 log_test_addr ${a} $? 1 "ping out, VRF bind"
2422 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2425 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2426 log_test_addr ${a} $? 0 "ping out, device bind"
2429 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2432 run_cmd ip vrf exec ${VRF} ${ping6} -c1 -w1 -I ${VRF_IP6} ${a}
2433 log_test_addr ${a} $? 0 "ping out, vrf device+address bind"
2439 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV} ${MCAST}%${NSB_DEV}
2442 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2443 log_test_addr ${a} $? 0 "ping in"
2446 a=${NSA_LO_IP6}
2449 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2450 log_test_addr ${a} $? 1 "ping in"
2455 for a in ${NSA_IP6} ${VRF_IP6} ::1
2458 show_hint "Source address should be ${a}"
2459 run_cmd ${ping6} -c1 -w1 -I ${VRF} ${a}
2460 log_test_addr ${a} $? 0 "ping local, VRF bind"
2463 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSA_DEV} ${MCAST}%${NSA_DEV}
2466 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2467 log_test_addr ${a} $? 0 "ping local, device bind"
2475 for a in ${NSA_IP6} ${VRF_IP6}
2479 log_test_addr ${a} $? 0 "ping in, LLA to GUA"
2493 a=${NSB_LO_IP6}
2494 run_cmd ${ping6} -c1 -w1 ${a}
2495 log_test_addr ${a} $? 2 "ping out, blocked by rule"
2498 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2499 log_test_addr ${a} $? 2 "ping out, device bind, blocked by rule"
2501 a=${NSA_LO_IP6}
2504 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2505 log_test_addr ${a} $? 1 "ping in, blocked by rule"
2517 a=${NSB_LO_IP6}
2518 run_cmd ${ping6} -c1 -w1 ${a}
2519 log_test_addr ${a} $? 2 "ping out, unreachable route"
2522 run_cmd ${ping6} -c1 -w1 -I ${NSA_DEV} ${a}
2523 log_test_addr ${a} $? 2 "ping out, device bind, unreachable route"
2526 a=${NSA_LO_IP6}
2528 run_cmd_nsb ${ping6} -c1 -w1 ${a}
2529 log_test_addr ${a} $? 2 "ping in, unreachable route"
2690 # duplicate config between default VRF and a VRF
2758 log_test $? 1 "MD5: VRF: Device must be a VRF - single address"
2762 log_test $? 1 "MD5: VRF: Device must be a VRF - prefix"
2768 local a
2773 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2778 run_cmd_nsb nettest -6 -r ${a}
2779 log_test_addr ${a} $? 0 "Global server"
2783 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2787 run_cmd_nsb nettest -6 -r ${a}
2788 log_test_addr ${a} $? 1 "No server"
2794 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2799 run_cmd nettest -6 -r ${a}
2800 log_test_addr ${a} $? 0 "Client"
2803 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2808 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2809 log_test_addr ${a} $? 0 "Client, device bind"
2812 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
2816 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2817 log_test_addr ${a} $? 1 "No server, device client"
2823 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
2828 run_cmd nettest -6 -r ${a}
2829 log_test_addr ${a} $? 0 "Global server, local connection"
2832 a=${NSA_IP6}
2836 run_cmd nettest -6 -r ${a} -0 ${a}
2837 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
2839 for a in ${NSA_LO_IP6} ::1
2845 run_cmd nettest -6 -r ${a}
2846 log_test_addr ${a} $? 1 "Device server, unbound client, local connection"
2849 a=${NSA_IP6}
2853 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
2854 log_test_addr ${a} $? 0 "Global server, device client, local connection"
2856 for a in ${NSA_LO_IP6} ::1
2862 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2863 log_test_addr ${a} $? 1 "Global server, device client, local connection"
2866 for a in ${NSA_IP6} ${NSA_LINKIP6}
2871 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2872 log_test_addr ${a} $? 0 "Device server, device client, local conn"
2875 for a in ${NSA_IP6} ${NSA_LINKIP6}
2879 run_cmd nettest -6 -d ${NSA_DEV} -r ${a}
2880 log_test_addr ${a} $? 1 "No server, device client, local conn"
2888 local a
2898 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2904 run_cmd_nsb nettest -6 -r ${a}
2905 log_test_addr ${a} $? 1 "Global server"
2908 for a in ${NSA_IP6} ${VRF_IP6}
2913 run_cmd_nsb nettest -6 -r ${a}
2914 log_test_addr ${a} $? 0 "VRF server"
2918 a=${NSA_LINKIP6}%${NSB_DEV}
2922 run_cmd_nsb nettest -6 -r ${a}
2923 log_test_addr ${a} $? 0 "VRF server"
2925 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2930 run_cmd_nsb nettest -6 -r ${a}
2931 log_test_addr ${a} $? 0 "Device server"
2935 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
2939 run_cmd_nsb nettest -6 -r ${a}
2940 log_test_addr ${a} $? 1 "No server"
2944 a=${NSA_IP6}
2949 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
2950 log_test_addr ${a} $? 1 "Global server, local connection"
2965 for a in ${NSA_IP6} ${VRF_IP6}
2970 run_cmd_nsb nettest -6 -r ${a}
2971 log_test_addr ${a} $? 0 "Global server"
2974 for a in ${NSA_IP6} ${VRF_IP6}
2979 run_cmd_nsb nettest -6 -r ${a}
2980 log_test_addr ${a} $? 0 "VRF server"
2984 a=${NSA_LINKIP6}%${NSB_DEV}
2988 run_cmd_nsb nettest -6 -r ${a}
2989 log_test_addr ${a} $? 0 "Global server"
2994 run_cmd_nsb nettest -6 -r ${a}
2995 log_test_addr ${a} $? 0 "VRF server"
2997 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3002 run_cmd_nsb nettest -6 -r ${a}
3003 log_test_addr ${a} $? 0 "Device server"
3007 for a in ${NSA_IP6} ${VRF_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3011 run_cmd_nsb nettest -6 -r ${a}
3012 log_test_addr ${a} $? 1 "No server"
3016 for a in ${NSA_IP6} ${VRF_IP6}
3022 run_cmd nettest -6 -r ${a}
3023 log_test_addr ${a} $? 1 "Global server, local connection"
3030 for a in ${NSB_IP6} ${NSB_LO_IP6}
3035 run_cmd nettest -6 -r ${a} -d ${VRF}
3036 log_test_addr ${a} $? 0 "Client, VRF bind"
3039 a=${NSB_LINKIP6}
3044 run_cmd nettest -6 -r ${a} -d ${VRF}
3045 log_test_addr ${a} $? 1 "Client, VRF bind"
3047 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} $? 0 "Client, device bind"
3056 for a in ${NSB_IP6} ${NSB_LO_IP6}
3060 run_cmd nettest -6 -r ${a} -d ${VRF}
3061 log_test_addr ${a} $? 1 "No server, VRF client"
3064 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}
3068 run_cmd nettest -6 -r ${a} -d ${NSA_DEV}
3069 log_test_addr ${a} $? 1 "No server, device client"
3072 for a in ${NSA_IP6} ${VRF_IP6} ::1
3077 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
3078 log_test_addr ${a} $? 0 "VRF server, VRF client, local connection"
3081 a=${NSA_IP6}
3085 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
3086 log_test_addr ${a} $? 0 "VRF server, device client, local connection"
3088 a=${NSA_IP6}
3093 run_cmd nettest -6 -r ${a}
3094 log_test_addr ${a} $? 1 "VRF server, unbound client, local connection"
3099 run_cmd nettest -6 -r ${a} -d ${VRF} -0 ${a}
3100 log_test_addr ${a} $? 0 "Device server, VRF client, local connection"
3102 for a in ${NSA_IP6} ${NSA_LINKIP6}
3107 run_cmd nettest -6 -r ${a} -d ${NSA_DEV} -0 ${a}
3108 log_test_addr ${a} $? 0 "Device server, device client, local connection"
3137 local a
3142 for a in ${NSA_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3147 run_cmd_nsb nettest -6 -D -r ${a}
3148 log_test_addr ${a} $? 0 "Global server"
3153 run_cmd_nsb nettest -6 -D -r ${a}
3154 log_test_addr ${a} $? 0 "Device server"
3157 a=${NSA_LO_IP6}
3161 run_cmd_nsb nettest -6 -D -r ${a}
3162 log_test_addr ${a} $? 0 "Global server"
3164 # should fail since loopback address is out of scope for a device
3171 #run_cmd_nsb nettest -6 -D -r ${a}
3172 #log_test_addr ${a} $? 1 "Device server"
3175 for a in ${NSA_IP6} ${NSA_LO_IP6} ${NSA_LINKIP6}%${NSB_DEV}
3179 run_cmd_nsb nettest -6 -D -r ${a}
3180 log_test_addr ${a} $? 1 "No server"
3186 for a in ${NSB_IP6} ${NSB_LO_IP6} ${NSB_LINKIP6}%${NSA_DEV}
3191 run_cmd nettest -6 -D -r ${a} -0 ${NSA_IP6}
3192 log_test_addr ${a} $? 0 "Client"
3197 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -0 ${NSA_IP6}
3198 log_test_addr ${a} $? 0 "Client, device bind"
3203 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C -0 ${NSA_IP6}
3204 log_test_addr ${a} $? 0 "Client, device send via cmsg"
3209 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP6}
3210 log_test_addr ${a} $? 0 "Client, device bind via IPV6_UNICAST_IF"
3214 run_cmd nettest -6 -D -r ${a}
3215 log_test_addr ${a} $? 1 "No server, unbound client"
3219 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3220 log_test_addr ${a} $? 1 "No server, device client"
3226 for a in ${NSA_IP6} ${NSA_LO_IP6} ::1
3231 run_cmd nettest -6 -D -r ${a} -0 ${a} -1 ${a}
3232 log_test_addr ${a} $? 0 "Global server, local connection"
3235 a=${NSA_IP6}
3239 run_cmd nettest -6 -D -r ${a}
3240 log_test_addr ${a} $? 0 "Device server, unbound client, local connection"
3242 for a in ${NSA_LO_IP6} ::1
3248 run_cmd nettest -6 -D -r ${a}
3249 log_test_addr ${a} $? 1 "Device server, local connection"
3252 a=${NSA_IP6}
3256 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3257 log_test_addr ${a} $? 0 "Global server, device client, local connection"
3262 run_cmd nettest -6 -D -d ${NSA_DEV} -C -r ${a}
3263 log_test_addr ${a} $? 0 "Global server, device send via cmsg, local connection"
3268 run_cmd nettest -6 -D -d ${NSA_DEV} -S -r ${a}
3269 log_test_addr ${a} $? 0 "Global server, device client via IPV6_UNICAST_IF, local connection"
3271 for a in ${NSA_LO_IP6} ::1
3277 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV}
3278 log_test_addr ${a} $? 1 "Global server, device client, local connection"
3284 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -C
3285 log_test_addr ${a} $? 1 "Global server, device send via cmsg, local connection"
3291 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S
3292 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection"
3298 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -U
3299 log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with connect()"
3302 a=${NSA_IP6}
3306 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a} -0 ${a}
3307 log_test_addr ${a} $? 0 "Device server, device client, local conn"
3311 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3312 log_test_addr ${a} $? 1 "No server, device client, local conn"
3329 local a
3338 for a in ${NSA_IP6} ${VRF_IP6}
3344 run_cmd_nsb nettest -6 -D -r ${a}
3345 log_test_addr ${a} $? 1 "Global server"
3348 for a in ${NSA_IP6} ${VRF_IP6}
3353 run_cmd_nsb nettest -6 -D -r ${a}
3354 log_test_addr ${a} $? 0 "VRF server"
3357 for a in ${NSA_IP6} ${VRF_IP6}
3362 run_cmd_nsb nettest -6 -D -r ${a}
3363 log_test_addr ${a} $? 0 "Enslaved device server"
3367 for a in ${NSA_IP6} ${VRF_IP6}
3371 run_cmd_nsb nettest -6 -D -r ${a}
3372 log_test_addr ${a} $? 1 "No server"
3378 for a in ${NSA_IP6} ${VRF_IP6}
3384 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3385 log_test_addr ${a} $? 1 "Global server, VRF client, local conn"
3388 for a in ${NSA_IP6} ${VRF_IP6}
3393 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3394 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3397 a=${NSA_IP6}
3402 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3403 log_test_addr ${a} $? 1 "Global server, device client, local conn"
3408 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3409 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
3414 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3415 log_test_addr ${a} $? 0 "Enslaved device server, VRF client, local conn"
3420 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3421 log_test_addr ${a} $? 0 "Enslaved device server, device client, local conn"
3430 for a in ${NSA_IP6} ${VRF_IP6}
3435 run_cmd_nsb nettest -6 -D -r ${a}
3436 log_test_addr ${a} $? 0 "Global server"
3439 for a in ${NSA_IP6} ${VRF_IP6}
3444 run_cmd_nsb nettest -6 -D -r ${a}
3445 log_test_addr ${a} $? 0 "VRF server"
3448 for a in ${NSA_IP6} ${VRF_IP6}
3453 run_cmd_nsb nettest -6 -D -r ${a}
3454 log_test_addr ${a} $? 0 "Enslaved device server"
3458 for a in ${NSA_IP6} ${VRF_IP6}
3461 run_cmd_nsb nettest -6 -D -r ${a}
3462 log_test_addr ${a} $? 1 "No server"
3493 a=${NSA_IP6}
3497 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3498 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
3503 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3504 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3507 a=${VRF_IP6}
3511 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3512 log_test_addr ${a} $? 0 "Global server, VRF client, local conn"
3517 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3518 log_test_addr ${a} $? 0 "VRF server, VRF client, local conn"
3521 for a in ${NSA_IP6} ${VRF_IP6}
3524 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3525 log_test_addr ${a} $? 1 "No server, VRF client, local conn"
3529 a=${NSA_IP6}
3533 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3534 log_test_addr ${a} $? 0 "Global server, device client, local conn"
3539 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3540 log_test_addr ${a} $? 0 "VRF server, device client, local conn"
3545 run_cmd nettest -6 -D -d ${VRF} -r ${a}
3546 log_test_addr ${a} $? 0 "Device server, VRF client, local conn"
3551 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3552 log_test_addr ${a} $? 0 "Device server, device client, local conn"
3555 run_cmd nettest -6 -D -d ${NSA_DEV} -r ${a}
3556 log_test_addr ${a} $? 1 "No server, device client, local conn"
3636 for a in ${NSA_IP6} ${NSA_LO_IP6}
3639 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -b
3640 log_test_addr ${a} $? 0 "Raw socket bind to local address"
3643 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3644 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
3650 a=${NL_IP6}
3652 run_cmd nettest -6 -s -R -P icmp -f -l ${a} -I ${NSA_DEV} -b
3653 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address"
3658 a=${NSA_IP6}
3660 run_cmd nettest -6 -s -l ${a} -t1 -b
3661 log_test_addr ${a} $? 0 "TCP socket bind to local address"
3664 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3665 log_test_addr ${a} $? 0 "TCP socket bind to local address after device bind"
3667 # Sadly, the kernel allows binding a socket to a device and then
3670 a=${NSA_LO_IP6}
3673 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3674 log_test_addr ${a} $? 0 "TCP socket bind to out of scope local address"
3682 for a in ${NSA_IP6} ${VRF_IP6}
3685 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3686 log_test_addr ${a} $? 0 "Raw socket bind to local address after vrf bind"
3689 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${NSA_DEV} -b
3690 log_test_addr ${a} $? 0 "Raw socket bind to local address after device bind"
3693 a=${NSA_LO_IP6}
3696 run_cmd nettest -6 -s -R -P ipv6-icmp -l ${a} -I ${VRF} -b
3697 log_test_addr ${a} $? 1 "Raw socket bind to invalid local address after vrf bind"
3702 a=${NL_IP6}
3704 run_cmd nettest -6 -s -R -P icmp -f -l ${a} -I ${VRF} -b
3705 log_test_addr ${a} $? 0 "Raw socket bind to nonlocal address after VRF bind"
3710 # address on enslaved device is valid for the VRF or device in a VRF
3711 for a in ${NSA_IP6} ${VRF_IP6}
3714 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3715 log_test_addr ${a} $? 0 "TCP socket bind to local address with VRF bind"
3718 a=${NSA_IP6}
3720 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3721 log_test_addr ${a} $? 0 "TCP socket bind to local address with device bind"
3723 # Sadly, the kernel allows binding a socket to a device and then
3727 a=${VRF_IP6}
3730 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3731 log_test_addr ${a} $? 0 "TCP socket bind to VRF address with device bind"
3733 a=${NSA_LO_IP6}
3736 run_cmd nettest -6 -s -l ${a} -I ${VRF} -t1 -b
3737 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for VRF"
3741 run_cmd nettest -6 -s -l ${a} -I ${NSA_DEV} -t1 -b
3742 log_test_addr ${a} $? 1 "TCP socket bind to invalid local address for device bind"
3767 local a
3772 for a in ${NSA_IP6} ${VRF_IP6}
3777 run_cmd_nsb nettest ${varg} -r ${a} &
3781 log_test_addr ${a} 0 0 "${desc}, global server"
3786 for a in ${NSA_IP6} ${VRF_IP6}
3791 run_cmd_nsb nettest ${varg} -r ${a} &
3795 log_test_addr ${a} 0 0 "${desc}, VRF server"
3800 for a in ${NSA_IP6} ${VRF_IP6}
3805 run_cmd_nsb nettest ${varg} -r ${a} &
3809 log_test_addr ${a} 0 0 "${desc}, enslaved device server"
3843 for a in ${NSA_IP6} ${VRF_IP6}
3848 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3852 log_test_addr ${a} 0 0 "${desc}, global server, VRF client"
3857 for a in ${NSA_IP6} ${VRF_IP6}
3862 run_cmd nettest ${varg} -d ${VRF} -r ${a} &
3866 log_test_addr ${a} 0 0 "${desc}, VRF server and client"
3871 a=${NSA_IP6}
3875 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3879 log_test_addr ${a} 0 0 "${desc}, global server, device client"
3886 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3890 log_test_addr ${a} 0 0 "${desc}, VRF server, device client"
3897 run_cmd nettest ${varg} -d ${NSA_DEV} -r ${a} &
3901 log_test_addr ${a} 0 0 "${desc}, device server, device client"
3907 local a
3909 a=${NSA_IP6}
3911 run_cmd_nsb ${ping6} -f ${a} &
3915 log_test_addr ${a} 0 0 "Device delete with active traffic - ping in"
3924 log_test_addr ${a} 0 0 "Device delete with active traffic - ping out"
3949 local a
3951 for a in ${NSA_IP} ${VRF_IP}
3956 run_cmd_nsb nettest -r ${a}
3957 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
3965 local a
3969 for a in ${NSA_IP} ${VRF_IP}
3974 run_cmd_nsb nettest ${arg} -r ${a}
3975 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
3985 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
3994 run_cmd iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
3995 run_cmd iptables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp-port-unreachable
4006 local a
4008 for a in ${NSA_IP6} ${VRF_IP6}
4013 run_cmd_nsb nettest -6 -r ${a}
4014 log_test_addr ${a} $? 1 "Global server, reject with TCP-reset on Rx"
4022 local a
4026 for a in ${NSA_IP6} ${VRF_IP6}
4031 run_cmd_nsb nettest -6 ${arg} -r ${a}
4032 log_test_addr ${a} $? 1 "Global ${stype} server, Rx reject icmp-port-unreach"
4042 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
4050 run_cmd ip6tables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
4051 run_cmd ip6tables -A INPUT -p udp --dport 12345 -j REJECT --reject-with icmp6-port-unreachable
4064 # ns-A device enslaved to bridge. Verify traffic with and without
4175 # ns-A device is connected to both ns-B and ns-C on a single VRF but only has
4180 # only want reply from ns-A
4191 # cycle/flap the first ns-A interface
4202 # cycle/flap the second ns-A interface
4214 # Perform IPv{4,6} SNAT on ns-A, and verify TCP connection is successfully
4222 run_cmd iptables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO_IP} -o ${VRF}
4223 run_cmd ip6tables -t nat -A POSTROUTING -p tcp -m tcp --dport ${port} -j SNAT --to-source ${NSA_LO_IP6} -o ${VRF}
4277 # note: each TEST_ group needs a dedicated runner, e.g. fcnal-ipv4.sh