Path: blob/main/tests/sys/netpfil/ipfw/ipv6-flow-id.sh
283101 views
#1# Copyright (c) 2026 Boris Lytochkin2#3# SPDX-License-Identifier: BSD-2-Clause4#56common_dir="$(atf_get_srcdir)/../common"7. ${common_dir}/utils.subr89NC="nc -w 1 -dnN"1011setup_network_v6()12{13epair="$1"1415ifconfig ${epair}a inet6 2001:db8:42::1/64 up no_dad -ifdisabled1617vnet_mkjail alcatraz ${epair}b1819ifconfig -j alcatraz ${epair}b inet6 2001:db8:42::2/64 up no_dad -ifdisabled2021jexec alcatraz /usr/sbin/inetd -p /dev/null $(atf_get_srcdir)/lookup_inetd.conf2223# Sanity checks24atf_check -s exit:0 -o ignore ping6 -i .1 -c 3 -s 1200 2001:db8:42::225atf_check -o "inline:GOOD 82\n" ${NC} 2001:db8:42::2 8226}2728atf_test_case "ipv6fl" "cleanup"2930ipv6fl_head()31{32atf_set descr 'flow-id test'33atf_set require.user root34atf_set require.progs python3 scapy35}3637ipv6fl_body()38{3940firewall_init "ipfw"4142epair=$(vnet_mkepair)4344setup_network_v6 ${epair}4546# Check if the firewall is able to match exact IPv6 flow label47firewall_config "alcatraz" ipfw ipfw \48"ipfw -q add 100 allow ip6 from any to any flow-id 0xbaad" \49"ipfw -q add 200 deny ipv6-icmp from any to any icmp6types 128 in"5051# Check Flow Label matches52atf_check -s exit:0 ${common_dir}/pft_ping.py \53--sendif ${epair}a \54--fromaddr 2001:db8:42::1 \55--to 2001:db8:42::2 \56--send-fl $((0xbaad)) \57--replyif ${epair}a5859# Check Flow Label mismatch60atf_check -s exit:1 ${common_dir}/pft_ping.py \61--sendif ${epair}a \62--fromaddr 2001:db8:42::1 \63--to 2001:db8:42::2 \64--send-fl $((0xf001)) \65--replyif ${epair}a6667}6869ipv6fl_cleanup()70{71firewall_cleanup $172}7374atf_init_test_cases()75{76atf_add_test_case "ipv6fl"77}787980