Lines Matching +full:6 +full:a

10 #	Set up two namespaces, A and B, with two paths between them over routers
15 # A B a_r2: 2000
21 # A to R1, checking that route exception PMTU changes accordingly over
23 # message advertising a PMTU smaller than net.ipv4.route.min_pmtu is
31 # routing table in A. A fib-rule is used to jump to this routing table
39 # Set up the same network topology as pmtu_ipv4, create a VXLAN tunnel
40 # over IPv4 between A and B, routed via R1. On the link between R1 and B,
41 # set a MTU lower than the VXLAN MTU and the MTU on the link between A and
43 # from A to B and check that the PMTU exception is created with the right
44 # value on A
47 # Same as pmtu_ipv4_vxlan4_exception, but send IPv6 packets from A to B
50 # Same as pmtu_ipv4_vxlan4_exception, but use IPv6 transport from A to B
53 # Same as pmtu_ipv4_vxlan6_exception, but send IPv6 packets from A to B
56 # Same as pmtu_ipv4_vxlan4_exception, but using a GENEVE tunnel instead of
60 # Same as pmtu_ipv6_vxlan4_exception, but using a GENEVE tunnel instead of
64 # Same as pmtu_ipv4_vxlan6_exception, but using a GENEVE tunnel instead of
68 # Same as pmtu_ipv6_vxlan6_exception, but using a GENEVE tunnel instead of
71 # - pmtu_ipv{4,6}_br_vxlan{4,6}_exception
72 # Set up three namespaces, A, B, and C, with routing between A and B over
73 # R1. R2 is unused in these tests. A has a veth connection to C, and is
74 # connected to B via a VXLAN endpoint, which is directly bridged to C.
77 # Check that both C and A are able to communicate with B over the VXLAN
82 # C---veth A B else: 5000
86 # - pmtu_ipv{4,6}_br_geneve{4,6}_exception
87 # Same as pmtu_ipv{4,6}_br_vxlan{4,6}_exception, with a GENEVE tunnel
90 # - pmtu_ipv{4,6}_ovs_vxlan{4,6}_exception
92 # and B over R1. A and R2 are unused in these tests. The init namespace
93 # has a veth connection to C, and is connected to B via a VXLAN endpoint,
106 # - pmtu_ipv{4,6}_ovs_geneve{4,6}_exception
107 # Same as pmtu_ipv{4,6}_ovs_vxlan{4,6}_exception, with a GENEVE tunnel
110 # - pmtu_ipv{4,6}_fou{4,6}_exception
111 # Same as pmtu_ipv4_vxlan4, but using a direct IPv4/IPv6 encapsulation
114 # - pmtu_ipv{4,6}_fou{4,6}_exception
115 # Same as pmtu_ipv4_vxlan4, but using a generic UDP IPv4/IPv6
118 # - pmtu_ipv{4,6}_ipv{4,6}_exception
119 # Same as pmtu_ipv4_vxlan4, but using a IPv4/IPv6 tunnel over IPv4/IPv6,
171 # Set up two dummy interfaces with different MTUs, create a vti6 tunnel
179 # happens in a timely manner
182 # Same as above, but use IPv6 transport from A to B
193 # Use the same topology as in pmtu_ipv4, but issue a route replacement
208 # Some systems don't have a ping6 binary anymore
271 NS_A="ns-A"
282 # index SEGMENT between 1 and 4, a common prefix (PREFIX4 or PREFIX6) and an
283 # identifier ID, which is 1 for hosts (A and B), 2 for routers (R1 and R2).
295 A R1 ${a_r1}
296 A R2 ${a_r2}
300 # Traffic from A to B goes through R1 by default, and through R2, if destined to
302 # Traffic from B to A goes through R1.
305 A default ${prefix4}.${a_r1}.2
306 A ${prefix4}.${b_r2}.1 ${prefix4}.${a_r2}.2
309 A default ${prefix6}:${a_r1}::2
310 A ${prefix6}:${b_r2}::1 ${prefix6}:${a_r2}::2
316 A 4 41 ${prefix4}.${a_r1}.2 veth_A-R1
317 A 4 42 ${prefix4}.${a_r2}.2 veth_A-R2
320 A 6 61 ${prefix6}:${a_r1}::2 veth_A-R1
321 A 6 62 ${prefix6}:${a_r2}::2 veth_A-R2
322 B 6 61 ${prefix6}:${b_r1}::2 veth_B-R1
328 A 4 default 41
329 A 4 ${prefix4}.${b_r2}.1 42
332 A 6 default 61
333 A 6 ${prefix6}:${b_r2}::1 62
334 B 6 default 61
344 veth6_a_addr="fd00:1::a"
352 tunnel6_a_addr="fd00:2::a"
385 if [ "$VERBOSE" = "1" -a -n "$out" ]; then
431 ipproto="4 -6"
435 ipproto="41 -6"
462 setup_fou_or_gue 4 6 fou
466 setup_fou_or_gue 6 4 fou
470 setup_fou_or_gue 6 6 fou
478 setup_fou_or_gue 4 6 gue
482 setup_fou_or_gue 6 4 gue
486 setup_fou_or_gue 6 6 gue
534 setup_ipvX_over_ipvY 6 4
538 setup_ipvX_over_ipvY 4 6
542 setup_ipvX_over_ipvY 6 6
575 vti_mask=${6}
577 [ ${proto} -eq 6 ] && vti_type="vti6" || vti_type="vti"
594 setup_vti 6 ${veth6_a_addr} ${veth6_b_addr} ${tunnel6_a_addr} ${tunnel6_b_addr} ${tunnel6_mask}
602 …setup_vti 6 ${prefix6}:${a_r1}::1 ${prefix6}:${b_r1}::1 ${tunnel6_a_addr} ${tunnel6_b_addr} ${tunn…
698 [ ${1} -eq 6 ] && proto="-6" || proto=""
713 setup_xfrm 6 ${veth6_a_addr} ${veth6_b_addr}
722 setup_xfrm 6 ${veth6_a_addr} ${veth6_b_addr} "encap espinudp 4500 4500 0.0.0.0"
723 setup_nettest_xfrm 6 4500
732 setup_xfrm 6 ${prefix6}:${a_r1}::1 ${prefix6}:${b_r1}::1 "encap espinudp 4500 4500 0.0.0.0"
733 setup_nettest_xfrm 6 4500
841 run_cmd ${ns_c} ip link add veth_C-A type veth peer name veth_A-C
842 run_cmd ${ns_c} ip link set veth_A-C netns ns-A
845 run_cmd ${ns_c} ip link set veth_C-A up
846 run_cmd ${ns_c} ip addr add ${veth4_c_addr}/${veth4_mask} dev veth_C-A
847 run_cmd ${ns_c} ip addr add ${veth6_c_addr}/${veth6_mask} dev veth_C-A
893 run_cmd ${ns_c} ip link add veth_C-A type veth peer name veth_A-C
897 run_cmd ${ns_c} ip link set veth_C-A up
898 run_cmd ${ns_c} ip addr add ${veth4_c_addr}/${veth4_mask} dev veth_C-A
899 run_cmd ${ns_c} ip addr add ${veth6_c_addr}/${veth6_mask} dev veth_C-A
971 [ ${next} -eq 1 -a "${i}" = "lock" ] && next=2 && continue
1029 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1031 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
1046 mtu "${ns_r1}" veth_R1-A 2000
1051 mtu "${ns_r2}" veth_R2-A 2000
1067 mtu "${ns_r1}" veth_R1-A 1300
1072 check_pmtu_value "1500" "${pmtu_2}" "changing local MTU on a link not on this path" || return 1
1076 mtu "${ns_r1}" veth_R1-A 1700
1081 check_pmtu_value "1500" "${pmtu_2}" "changing local MTU on a link not on this path" || return 1
1084 [ $family -eq 6 ] && return 0
1095 mtu "${ns_r2}" veth_R2-A 500
1101 mtu "${ns_r2}" veth_R2-A 1500
1116 test_pmtu_ipvX 6
1123 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1125 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
1130 mtu "${ns_r1}" veth_R1-A 2000
1135 mtu "${ns_r2}" veth_R2-A 2000
1168 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1170 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
1175 mtu "${ns_r1}" veth_R1-A 2000
1180 mtu "${ns_r2}" veth_R2-A 2000
1219 setup namespaces routing ${type}6 || return $ksft_skip
1225 "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1238 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1256 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception vxlan 6 4
1264 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception geneve 6 4
1268 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception vxlan 4 6
1272 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception vxlan 6 6
1276 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception geneve 4 6
1280 test_pmtu_ipvX_over_vxlanY_or_geneveY_exception geneve 6 6
1294 setup namespaces routing bridge bridged_${type}6 || return $ksft_skip
1300 "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1302 "${ns_a}" br0 "${ns_a}" veth-A-C \
1303 "${ns_c}" veth_C-A
1317 mtu "${ns_c}" veth_C-A $((${ll_mtu} + 1000))
1318 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1347 ${ns_b} socat -T 3 -u -6 TCP-LISTEN:50000 STDOUT > $tmpoutfile &
1373 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception vxlan 6 4
1381 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception geneve 6 4
1385 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception vxlan 4 6
1389 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception vxlan 6 6
1393 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception geneve 4 6
1397 test_pmtu_ipvX_over_bridged_vxlanY_or_geneveY_exception geneve 6 6
1411 setup namespaces routing ovs_bridge ovs_${type}6 || return $ksft_skip
1423 "" veth_A-R1 "${ns_r1}" veth_R1-A \
1425 "" ovs_br0 "" veth-A-C \
1426 "${ns_c}" veth_C-A
1440 mtu "${ns_c}" veth_C-A $((${ll_mtu} + 1000))
1441 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1460 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception vxlan 6 4
1468 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception geneve 6 4
1472 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception vxlan 4 6
1476 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception vxlan 6 6
1480 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception geneve 4 6
1484 test_pmtu_ipvX_over_ovs_vxlanY_or_geneveY_exception geneve 6 6
1495 "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1522 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1540 test_pmtu_ipvX_over_fouY_or_gueY 6 4 fou
1544 test_pmtu_ipvX_over_fouY_or_gueY 4 6 fou
1548 test_pmtu_ipvX_over_fouY_or_gueY 6 6 fou
1556 test_pmtu_ipvX_over_fouY_or_gueY 6 4 gue
1560 test_pmtu_ipvX_over_fouY_or_gueY 4 6 gue
1564 test_pmtu_ipvX_over_fouY_or_gueY 6 6 gue
1575 "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1596 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1614 test_pmtu_ipvX_over_ipvY_exception 6 4
1618 test_pmtu_ipvX_over_ipvY_exception 4 6
1622 test_pmtu_ipvX_over_ipvY_exception 6 6
1758 mtu "${ns_r1}" veth_R1-A ${veth_mtu}
1792 mtu "${ns_r1}" veth_R1-A ${veth_mtu}
1852 # This can fail, or MTU can be adjusted to a proper value
1890 # This can fail, or MTU can be adjusted to a proper value
1976 "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
1981 mtu "${ns_r1}" veth_R1-A $((${ll_mtu} + 1000))
1998 err " can't delete veth device in a timely manner, PMTU dst likely leaked"
2004 test_cleanup_vxlanX_exception 6
2036 read a
2076 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
2078 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
2086 mtu "${ns_r1}" veth_R1-A 2000
2091 mtu "${ns_r2}" veth_R2-A 2000
2097 # Add 100 addresses for veth endpoint on B reached by default A route
2103 # that with IPv4 we need to actually cause a route lookup that matches
2104 # the exception caused by ICMP, in order to actually have a cached
2130 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
2132 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
2140 mtu "${ns_r1}" veth_R1-A 2000
2145 mtu "${ns_r2}" veth_R2-A 2000
2151 # Add 100 addresses for veth endpoint on B reached by default A route
2161 if [ "$(${ns_a} ip -oneline -6 route list cache | wc -l)" -ne 101 ]; then
2166 run_cmd ${ns_a} ip -6 route flush cache
2170 [ -n "$(${ns_a} ip -6 route list cache)" ]; then
2182 trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \
2184 "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \
2201 mtu "${ns_r1}" veth_R1-A 2000
2206 mtu "${ns_r2}" veth_R2-A 2000
2220 # Replace the route from A to R1
2223 # Delete the device in A
2232 test_pmtu_ipvX_route_change 6