1b800be97SKajetan Staszkiewicz# 24d846d26SWarner Losh# SPDX-License-Identifier: BSD-2-Clause 3b800be97SKajetan Staszkiewicz# 4b800be97SKajetan Staszkiewicz# Copyright (c) 2017 Kristof Provost <kp@FreeBSD.org> 5b800be97SKajetan Staszkiewicz# 6b800be97SKajetan Staszkiewicz# Redistribution and use in source and binary forms, with or without 7b800be97SKajetan Staszkiewicz# modification, are permitted provided that the following conditions 8b800be97SKajetan Staszkiewicz# are met: 9b800be97SKajetan Staszkiewicz# 1. Redistributions of source code must retain the above copyright 10b800be97SKajetan Staszkiewicz# notice, this list of conditions and the following disclaimer. 11b800be97SKajetan Staszkiewicz# 2. Redistributions in binary form must reproduce the above copyright 12b800be97SKajetan Staszkiewicz# notice, this list of conditions and the following disclaimer in the 13b800be97SKajetan Staszkiewicz# documentation and/or other materials provided with the distribution. 14b800be97SKajetan Staszkiewicz# 15b800be97SKajetan Staszkiewicz# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16b800be97SKajetan Staszkiewicz# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17b800be97SKajetan Staszkiewicz# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18b800be97SKajetan Staszkiewicz# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19b800be97SKajetan Staszkiewicz# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20b800be97SKajetan Staszkiewicz# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21b800be97SKajetan Staszkiewicz# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22b800be97SKajetan Staszkiewicz# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23b800be97SKajetan Staszkiewicz# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24b800be97SKajetan Staszkiewicz# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25b800be97SKajetan Staszkiewicz# SUCH DAMAGE. 26b800be97SKajetan Staszkiewicz 27b800be97SKajetan Staszkiewicz. $(atf_get_srcdir)/utils.subr 28b800be97SKajetan Staszkiewicz 29b800be97SKajetan Staszkiewiczatf_test_case "too_many_fragments" "cleanup" 30b800be97SKajetan Staszkiewicz 31b800be97SKajetan Staszkiewicztoo_many_fragments_head() 32b800be97SKajetan Staszkiewicz{ 33b800be97SKajetan Staszkiewicz atf_set descr 'IPv4 fragment limitation test' 34b800be97SKajetan Staszkiewicz atf_set require.user root 35b800be97SKajetan Staszkiewicz} 36b800be97SKajetan Staszkiewicz 37b800be97SKajetan Staszkiewicztoo_many_fragments_body() 38b800be97SKajetan Staszkiewicz{ 39b800be97SKajetan Staszkiewicz pft_init 40b800be97SKajetan Staszkiewicz 41b800be97SKajetan Staszkiewicz epair=$(vnet_mkepair) 42b800be97SKajetan Staszkiewicz vnet_mkjail alcatraz ${epair}a 43b800be97SKajetan Staszkiewicz 44b800be97SKajetan Staszkiewicz ifconfig ${epair}b inet 192.0.2.1/24 up 45b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair}a 192.0.2.2/24 up 46b800be97SKajetan Staszkiewicz 47b800be97SKajetan Staszkiewicz ifconfig ${epair}b mtu 200 48b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair}a mtu 200 49b800be97SKajetan Staszkiewicz 50b800be97SKajetan Staszkiewicz jexec alcatraz pfctl -e 51b800be97SKajetan Staszkiewicz pft_set_rules alcatraz \ 52b800be97SKajetan Staszkiewicz "scrub all fragment reassemble" 53b800be97SKajetan Staszkiewicz 54b800be97SKajetan Staszkiewicz # So we know pf is limiting things 55b800be97SKajetan Staszkiewicz jexec alcatraz sysctl net.inet.ip.maxfragsperpacket=1024 56b800be97SKajetan Staszkiewicz 57b800be97SKajetan Staszkiewicz # Sanity check 58b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 59b800be97SKajetan Staszkiewicz 60b800be97SKajetan Staszkiewicz # We can ping with < 64 fragments 61b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 -s 800 192.0.2.2 62b800be97SKajetan Staszkiewicz 63b800be97SKajetan Staszkiewicz # Too many fragments should fail 64b800be97SKajetan Staszkiewicz atf_check -s exit:2 -o ignore ping -c 1 -s 20000 192.0.2.2 65b800be97SKajetan Staszkiewicz} 66b800be97SKajetan Staszkiewicz 67b800be97SKajetan Staszkiewicztoo_many_fragments_cleanup() 68b800be97SKajetan Staszkiewicz{ 69b800be97SKajetan Staszkiewicz pft_cleanup 70b800be97SKajetan Staszkiewicz} 71b800be97SKajetan Staszkiewicz 72b800be97SKajetan Staszkiewiczatf_test_case "v6" "cleanup" 73b800be97SKajetan Staszkiewiczv6_head() 74b800be97SKajetan Staszkiewicz{ 75b800be97SKajetan Staszkiewicz atf_set descr 'IPv6 fragmentation test' 76b800be97SKajetan Staszkiewicz atf_set require.user root 77*c46af893SJose Luis Duran atf_set require.progs python3 scapy 78b800be97SKajetan Staszkiewicz} 79b800be97SKajetan Staszkiewicz 80b800be97SKajetan Staszkiewiczv6_body() 81b800be97SKajetan Staszkiewicz{ 82b800be97SKajetan Staszkiewicz pft_init 83b800be97SKajetan Staszkiewicz 84b800be97SKajetan Staszkiewicz epair_send=$(vnet_mkepair) 85b800be97SKajetan Staszkiewicz epair_link=$(vnet_mkepair) 86b800be97SKajetan Staszkiewicz 87b800be97SKajetan Staszkiewicz vnet_mkjail alcatraz ${epair_send}b ${epair_link}a 88b800be97SKajetan Staszkiewicz vnet_mkjail singsing ${epair_link}b 89b800be97SKajetan Staszkiewicz 90b800be97SKajetan Staszkiewicz ifconfig ${epair_send}a inet6 2001:db8:42::1/64 no_dad up 91b800be97SKajetan Staszkiewicz 92b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair_send}b inet6 2001:db8:42::2/64 no_dad up 93b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair_link}a inet6 2001:db8:43::2/64 no_dad up 94b800be97SKajetan Staszkiewicz jexec alcatraz sysctl net.inet6.ip6.forwarding=1 95b800be97SKajetan Staszkiewicz 96b800be97SKajetan Staszkiewicz jexec singsing ifconfig ${epair_link}b inet6 2001:db8:43::3/64 no_dad up 97b800be97SKajetan Staszkiewicz jexec singsing route add -6 2001:db8:42::/64 2001:db8:43::2 98b800be97SKajetan Staszkiewicz route add -6 2001:db8:43::/64 2001:db8:42::2 99b800be97SKajetan Staszkiewicz 100b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair_send}b inet6 -ifdisabled 101b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair_link}a inet6 -ifdisabled 102b800be97SKajetan Staszkiewicz jexec singsing ifconfig ${epair_link}b inet6 -ifdisabled 103b800be97SKajetan Staszkiewicz ifconfig ${epair_send}a inet6 -ifdisabled 104b800be97SKajetan Staszkiewicz 105b800be97SKajetan Staszkiewicz ifconfig ${epair_send}a 106b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair_send}b 107b800be97SKajetan Staszkiewicz lladdr=$(jexec alcatraz ifconfig ${epair_send}b | awk '/ scopeid / { print($2); }' | cut -f 1 -d %) 108b800be97SKajetan Staszkiewicz 109b800be97SKajetan Staszkiewicz jexec alcatraz pfctl -e 110b800be97SKajetan Staszkiewicz pft_set_rules alcatraz \ 111b800be97SKajetan Staszkiewicz "scrub fragment reassemble" \ 112b800be97SKajetan Staszkiewicz "block in" \ 113b800be97SKajetan Staszkiewicz "pass in inet6 proto icmp6 icmp6-type { neighbrsol, neighbradv }" \ 1143a1f834bSDoug Rabson "pass in inet6 proto icmp6 icmp6-type { echoreq, echorep }" \ 1153a1f834bSDoug Rabson "set skip on lo" 116b800be97SKajetan Staszkiewicz 117b800be97SKajetan Staszkiewicz # Host test 118b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore \ 119b800be97SKajetan Staszkiewicz ping -6 -c 1 2001:db8:42::2 120b800be97SKajetan Staszkiewicz 121b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore \ 122b800be97SKajetan Staszkiewicz ping -6 -c 1 -s 4500 2001:db8:42::2 123b800be97SKajetan Staszkiewicz 124b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore\ 125b800be97SKajetan Staszkiewicz ping -6 -c 1 -b 70000 -s 65000 2001:db8:42::2 126b800be97SKajetan Staszkiewicz 127b800be97SKajetan Staszkiewicz # Force an NDP lookup 128b800be97SKajetan Staszkiewicz ping -6 -c 1 ${lladdr}%${epair_send}a 129b800be97SKajetan Staszkiewicz 130b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore\ 131b800be97SKajetan Staszkiewicz ping -6 -c 1 -b 70000 -s 65000 ${lladdr}%${epair_send}a 132b800be97SKajetan Staszkiewicz 133b800be97SKajetan Staszkiewicz # Forwarding test 134b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore \ 135b800be97SKajetan Staszkiewicz ping -6 -c 1 2001:db8:43::3 136b800be97SKajetan Staszkiewicz 137b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore \ 138b800be97SKajetan Staszkiewicz ping -6 -c 1 -s 4500 2001:db8:43::3 139b800be97SKajetan Staszkiewicz 140b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore\ 141b800be97SKajetan Staszkiewicz ping -6 -c 1 -b 70000 -s 65000 2001:db8:43::3 142b800be97SKajetan Staszkiewicz 143b800be97SKajetan Staszkiewicz $(atf_get_srcdir)/CVE-2019-5597.py \ 144b800be97SKajetan Staszkiewicz ${epair_send}a \ 145b800be97SKajetan Staszkiewicz 2001:db8:42::1 \ 146b800be97SKajetan Staszkiewicz 2001:db8:43::3 147b800be97SKajetan Staszkiewicz} 148b800be97SKajetan Staszkiewicz 149b800be97SKajetan Staszkiewiczv6_cleanup() 150b800be97SKajetan Staszkiewicz{ 151b800be97SKajetan Staszkiewicz pft_cleanup 152b800be97SKajetan Staszkiewicz} 153b800be97SKajetan Staszkiewicz 154b800be97SKajetan Staszkiewiczatf_test_case "mtu_diff" "cleanup" 155b800be97SKajetan Staszkiewiczmtu_diff_head() 156b800be97SKajetan Staszkiewicz{ 157b800be97SKajetan Staszkiewicz atf_set descr 'Test reassembly across different MTUs, PR #255432' 158b800be97SKajetan Staszkiewicz atf_set require.user root 159b800be97SKajetan Staszkiewicz} 160b800be97SKajetan Staszkiewicz 161b800be97SKajetan Staszkiewiczmtu_diff_body() 162b800be97SKajetan Staszkiewicz{ 163b800be97SKajetan Staszkiewicz pft_init 164b800be97SKajetan Staszkiewicz 165b800be97SKajetan Staszkiewicz epair_small=$(vnet_mkepair) 166b800be97SKajetan Staszkiewicz epair_large=$(vnet_mkepair) 167b800be97SKajetan Staszkiewicz 168b800be97SKajetan Staszkiewicz vnet_mkjail first ${epair_small}b ${epair_large}a 169b800be97SKajetan Staszkiewicz vnet_mkjail second ${epair_large}b 170b800be97SKajetan Staszkiewicz 171b800be97SKajetan Staszkiewicz ifconfig ${epair_small}a 192.0.2.1/25 up 172b800be97SKajetan Staszkiewicz jexec first ifconfig ${epair_small}b 192.0.2.2/25 up 173b800be97SKajetan Staszkiewicz 174b800be97SKajetan Staszkiewicz jexec first sysctl net.inet.ip.forwarding=1 175b800be97SKajetan Staszkiewicz jexec first ifconfig ${epair_large}a 192.0.2.130/25 up 176b800be97SKajetan Staszkiewicz jexec first ifconfig ${epair_large}a mtu 9000 177b800be97SKajetan Staszkiewicz jexec second ifconfig ${epair_large}b 192.0.2.131/25 up 178b800be97SKajetan Staszkiewicz jexec second ifconfig ${epair_large}b mtu 9000 179b800be97SKajetan Staszkiewicz jexec second route add default 192.0.2.130 180b800be97SKajetan Staszkiewicz 181b800be97SKajetan Staszkiewicz route add 192.0.2.128/25 192.0.2.2 182b800be97SKajetan Staszkiewicz 183b800be97SKajetan Staszkiewicz jexec first pfctl -e 184b800be97SKajetan Staszkiewicz pft_set_rules first \ 185b800be97SKajetan Staszkiewicz "scrub all fragment reassemble" 186b800be97SKajetan Staszkiewicz 187b800be97SKajetan Staszkiewicz # Sanity checks 188b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 189b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.130 190b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.131 191b800be97SKajetan Staszkiewicz 192b800be97SKajetan Staszkiewicz # Large packet that'll get reassembled and sent out in one on the large 193b800be97SKajetan Staszkiewicz # epair 194b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 -s 8000 192.0.2.131 195b800be97SKajetan Staszkiewicz} 196b800be97SKajetan Staszkiewicz 197b800be97SKajetan Staszkiewiczmtu_diff_cleanup() 198b800be97SKajetan Staszkiewicz{ 199b800be97SKajetan Staszkiewicz pft_cleanup 200b800be97SKajetan Staszkiewicz} 201b800be97SKajetan Staszkiewicz 202b800be97SKajetan Staszkiewiczfrag_common() 203b800be97SKajetan Staszkiewicz{ 204b800be97SKajetan Staszkiewicz name=$1 205b800be97SKajetan Staszkiewicz 206b800be97SKajetan Staszkiewicz pft_init 207b800be97SKajetan Staszkiewicz 208b800be97SKajetan Staszkiewicz epair=$(vnet_mkepair) 209b800be97SKajetan Staszkiewicz vnet_mkjail alcatraz ${epair}a 210b800be97SKajetan Staszkiewicz 211b800be97SKajetan Staszkiewicz ifconfig ${epair}b inet 192.0.2.1/24 up 212b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair}a 192.0.2.2/24 up 213b800be97SKajetan Staszkiewicz 214b800be97SKajetan Staszkiewicz jexec alcatraz pfctl -e 215b800be97SKajetan Staszkiewicz pft_set_rules alcatraz \ 216b800be97SKajetan Staszkiewicz "scrub all fragment reassemble" 217b800be97SKajetan Staszkiewicz 218b800be97SKajetan Staszkiewicz # Sanity check 219b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 220b800be97SKajetan Staszkiewicz 221b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore $(atf_get_srcdir)/frag-${1}.py \ 222b800be97SKajetan Staszkiewicz --to 192.0.2.2 \ 223b800be97SKajetan Staszkiewicz --fromaddr 192.0.2.1 \ 224b800be97SKajetan Staszkiewicz --sendif ${epair}b \ 225b800be97SKajetan Staszkiewicz --recvif ${epair}b 226b800be97SKajetan Staszkiewicz} 227b800be97SKajetan Staszkiewicz 228b800be97SKajetan Staszkiewiczatf_test_case "overreplace" "cleanup" 229b800be97SKajetan Staszkiewiczoverreplace_head() 230b800be97SKajetan Staszkiewicz{ 231b800be97SKajetan Staszkiewicz atf_set descr 'ping fragment that overlaps fragment at index boundary and replace it' 232b800be97SKajetan Staszkiewicz atf_set require.user root 233*c46af893SJose Luis Duran atf_set require.progs python3 scapy 234b800be97SKajetan Staszkiewicz} 235b800be97SKajetan Staszkiewicz 236b800be97SKajetan Staszkiewiczoverreplace_body() 237b800be97SKajetan Staszkiewicz{ 238b800be97SKajetan Staszkiewicz frag_common overreplace 239b800be97SKajetan Staszkiewicz} 240b800be97SKajetan Staszkiewicz 241b800be97SKajetan Staszkiewiczoverreplace_cleanup() 242b800be97SKajetan Staszkiewicz{ 243b800be97SKajetan Staszkiewicz pft_cleanup 244b800be97SKajetan Staszkiewicz} 245b800be97SKajetan Staszkiewicz 246b800be97SKajetan Staszkiewiczatf_test_case "overindex" "cleanup" 247b800be97SKajetan Staszkiewiczoverindex_head() 248b800be97SKajetan Staszkiewicz{ 249b800be97SKajetan Staszkiewicz atf_set descr 'ping fragment that overlaps the first fragment at index boundary' 250b800be97SKajetan Staszkiewicz atf_set require.user root 251*c46af893SJose Luis Duran atf_set require.progs python3 scapy 252b800be97SKajetan Staszkiewicz} 253b800be97SKajetan Staszkiewicz 254b800be97SKajetan Staszkiewiczoverindex_body() 255b800be97SKajetan Staszkiewicz{ 256b800be97SKajetan Staszkiewicz frag_common overindex 257b800be97SKajetan Staszkiewicz} 258b800be97SKajetan Staszkiewicz 259b800be97SKajetan Staszkiewiczoverindex_cleanup() 260b800be97SKajetan Staszkiewicz{ 261b800be97SKajetan Staszkiewicz pft_cleanup 262b800be97SKajetan Staszkiewicz} 263b800be97SKajetan Staszkiewicz 264b800be97SKajetan Staszkiewiczatf_test_case "overlimit" "cleanup" 265b800be97SKajetan Staszkiewiczoverlimit_head() 266b800be97SKajetan Staszkiewicz{ 267b800be97SKajetan Staszkiewicz atf_set descr 'ping fragment at index boundary that cannot be requeued' 268b800be97SKajetan Staszkiewicz atf_set require.user root 269*c46af893SJose Luis Duran atf_set require.progs python3 scapy 270b800be97SKajetan Staszkiewicz} 271b800be97SKajetan Staszkiewicz 272b800be97SKajetan Staszkiewiczoverlimit_body() 273b800be97SKajetan Staszkiewicz{ 274b800be97SKajetan Staszkiewicz frag_common overlimit 275b800be97SKajetan Staszkiewicz} 276b800be97SKajetan Staszkiewicz 277b800be97SKajetan Staszkiewiczoverlimit_cleanup() 278b800be97SKajetan Staszkiewicz{ 279b800be97SKajetan Staszkiewicz pft_cleanup 280b800be97SKajetan Staszkiewicz} 281b800be97SKajetan Staszkiewicz 282b800be97SKajetan Staszkiewiczatf_test_case "reassemble" "cleanup" 283b800be97SKajetan Staszkiewiczreassemble_head() 284b800be97SKajetan Staszkiewicz{ 285b800be97SKajetan Staszkiewicz atf_set descr 'Test reassembly' 286b800be97SKajetan Staszkiewicz atf_set require.user root 287b800be97SKajetan Staszkiewicz} 288b800be97SKajetan Staszkiewicz 289b800be97SKajetan Staszkiewiczreassemble_body() 290b800be97SKajetan Staszkiewicz{ 291b800be97SKajetan Staszkiewicz pft_init 292b800be97SKajetan Staszkiewicz 293b800be97SKajetan Staszkiewicz epair=$(vnet_mkepair) 294b800be97SKajetan Staszkiewicz vnet_mkjail alcatraz ${epair}a 295b800be97SKajetan Staszkiewicz 296b800be97SKajetan Staszkiewicz ifconfig ${epair}b inet 192.0.2.1/24 up 297b800be97SKajetan Staszkiewicz jexec alcatraz ifconfig ${epair}a 192.0.2.2/24 up 298b800be97SKajetan Staszkiewicz 299b800be97SKajetan Staszkiewicz # Sanity check 300b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 301b800be97SKajetan Staszkiewicz 302b800be97SKajetan Staszkiewicz jexec alcatraz pfctl -e 303b800be97SKajetan Staszkiewicz pft_set_rules alcatraz \ 304b800be97SKajetan Staszkiewicz "scrub in" \ 305b800be97SKajetan Staszkiewicz "pass out" \ 306b800be97SKajetan Staszkiewicz "block in" \ 307b800be97SKajetan Staszkiewicz "pass in inet proto icmp all icmp-type echoreq" 308b800be97SKajetan Staszkiewicz 309b800be97SKajetan Staszkiewicz # Both single packet & fragmented pass when we scrub 310b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 311b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 -s 2000 192.0.2.2 312b800be97SKajetan Staszkiewicz 313b800be97SKajetan Staszkiewicz pft_set_rules alcatraz \ 314b800be97SKajetan Staszkiewicz "scrub in fragment no reassemble" \ 315b800be97SKajetan Staszkiewicz "pass out" \ 316b800be97SKajetan Staszkiewicz "block in" \ 317b800be97SKajetan Staszkiewicz "pass in inet proto icmp all icmp-type echoreq" 318b800be97SKajetan Staszkiewicz 319b800be97SKajetan Staszkiewicz # And the fragmented ping doesn't pass if we do not reassemble 320b800be97SKajetan Staszkiewicz atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 321b800be97SKajetan Staszkiewicz atf_check -s exit:2 -o ignore ping -c 1 -s 2000 192.0.2.2 322b800be97SKajetan Staszkiewicz} 323b800be97SKajetan Staszkiewicz 324b800be97SKajetan Staszkiewiczreassemble_cleanup() 325b800be97SKajetan Staszkiewicz{ 326b800be97SKajetan Staszkiewicz pft_cleanup 327b800be97SKajetan Staszkiewicz} 328b800be97SKajetan Staszkiewicz 329b800be97SKajetan Staszkiewiczatf_init_test_cases() 330b800be97SKajetan Staszkiewicz{ 331b800be97SKajetan Staszkiewicz atf_add_test_case "too_many_fragments" 332b800be97SKajetan Staszkiewicz atf_add_test_case "v6" 333b800be97SKajetan Staszkiewicz atf_add_test_case "mtu_diff" 334b800be97SKajetan Staszkiewicz atf_add_test_case "overreplace" 335b800be97SKajetan Staszkiewicz atf_add_test_case "overindex" 336b800be97SKajetan Staszkiewicz atf_add_test_case "overlimit" 337b800be97SKajetan Staszkiewicz atf_add_test_case "reassemble" 338b800be97SKajetan Staszkiewicz} 339