3 . $(atf_get_srcdir)/utils.subr
5 atf_test_case "v6" "cleanup"
8 atf_set descr 'IPv6 fragmentation test'
9 atf_set require.user root
10 atf_set require.progs scapy
17 epair_send=$(pft_mkepair)
18 epair_link=$(pft_mkepair)
20 pft_mkjail alcatraz ${epair_send}b ${epair_link}a
21 pft_mkjail singsing ${epair_link}b
23 ifconfig ${epair_send}a inet6 2001:db8:42::1/64 no_dad up
25 jexec alcatraz ifconfig ${epair_send}b inet6 2001:db8:42::2/64 no_dad up
26 jexec alcatraz ifconfig ${epair_link}a inet6 2001:db8:43::2/64 no_dad up
27 jexec alcatraz sysctl net.inet6.ip6.forwarding=1
29 jexec singsing ifconfig ${epair_link}b inet6 2001:db8:43::3/64 no_dad up
30 jexec singsing route add -6 2001:db8:42::/64 2001:db8:43::2
31 route add -6 2001:db8:43::/64 2001:db8:42::2
33 jexec alcatraz ifconfig ${epair_send}b inet6 -ifdisabled
34 jexec alcatraz ifconfig ${epair_link}a inet6 -ifdisabled
35 jexec singsing ifconfig ${epair_link}b inet6 -ifdisabled
36 ifconfig ${epair_send}a inet6 -ifdisabled
38 jexec alcatraz pfctl -e
39 pft_set_rules alcatraz \
40 "scrub fragment reassemble" \
42 "pass in inet6 proto icmp6 icmp6-type { neighbrsol, neighbradv }" \
43 "pass in inet6 proto icmp6 icmp6-type { echoreq, echorep }"
46 atf_check -s exit:0 -o ignore \
47 ping6 -c 1 2001:db8:42::2
49 atf_check -s exit:0 -o ignore \
50 ping6 -c 1 -s 4500 2001:db8:42::2
52 atf_check -s exit:0 -o ignore\
53 ping6 -c 1 -b 70000 -s 65000 2001:db8:42::2
56 atf_check -s exit:0 -o ignore \
57 ping6 -c 1 2001:db8:43::3
59 atf_check -s exit:0 -o ignore \
60 ping6 -c 1 -s 4500 2001:db8:43::3
62 atf_check -s exit:0 -o ignore\
63 ping6 -c 1 -b 70000 -s 65000 2001:db8:43::3
73 atf_add_test_case "v6"