diff options
author | Kristof Provost <kp@FreeBSD.org> | 2021-06-14 19:24:59 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-09-14 20:00:24 +0000 |
commit | c7e240092435d713981f45ddc615bf876d607a76 (patch) | |
tree | ca775a2782cb7ea5440f1c9b3afe17d5b1a99e01 | |
parent | 34055dacee7fb5c3ab38f226b1930ee32e056551 (diff) |
dummynet tests: pipe test for IPv6
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D31787
(cherry picked from commit 5fda5913e16afac72f3f420e227803e33d4c1542)
-rw-r--r-- | tests/sys/netpfil/common/dummynet.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/sys/netpfil/common/dummynet.sh b/tests/sys/netpfil/common/dummynet.sh index 82cd22b77fef..42fbd83f297e 100644 --- a/tests/sys/netpfil/common/dummynet.sh +++ b/tests/sys/netpfil/common/dummynet.sh @@ -70,6 +70,50 @@ pipe_cleanup() firewall_cleanup $1 } +pipe_v6_head() +{ + atf_set descr 'Basic IPv6 pipe test' + atf_set require.user root +} + +pipe_v6_body() +{ + fw=$1 + firewall_init $fw + dummynet_init $fw + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + + ifconfig ${epair}a inet6 2001:db8:42::1/64 up no_dad + jexec alcatraz ifconfig ${epair}b inet6 2001:db8:42::2/64 up no_dad + + # Sanity check + atf_check -s exit:0 -o ignore ping6 -i .1 -c 3 -s 1200 2001:db8:42::2 + + jexec alcatraz dnctl pipe 1 config bw 100Byte/s + + firewall_config alcatraz ${fw} \ + "ipfw" \ + "ipfw add 1000 pipe 1 ip6 from any to any" + + # Single ping succeeds + atf_check -s exit:0 -o ignore ping6 -c 1 2001:db8:42::2 + + # Saturate the link + ping6 -i .1 -c 5 -s 1200 2001:db8:42::2 + + # We should now be hitting the limit and get this packet dropped. + atf_check -s exit:2 -o ignore ping6 -c 1 -s 1200 2001:db8:42::2 +} + +pipe_v6_cleanup() +{ + firewall_cleanup $1 +} + setup_tests \ pipe \ + ipfw \ + pipe_v6 \ ipfw |