START	sys/net/pf_opts	2025-03-08T05:31:29Z

==== busy-rdomains ====
# Check if rdomains are busy.

==== ifconfig ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'
*** Error 1 in target 'stamp-stop' (ignored)
rm -f stamp-bpf*
# Destroy interfaces.
/sbin/ifconfig lo11 rdomain 11
/sbin/ifconfig lo11 inet 127.0.0.1 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
/sbin/ifconfig lo11 inet 127.0.0.11 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
/sbin/ifconfig lo11 inet6 ::1 delete
/sbin/ifconfig lo11 inet6 fe80::11/64 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
/sbin/ifconfig lo12 rdomain 12
/sbin/ifconfig lo12 inet 127.0.0.1 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
/sbin/ifconfig lo12 inet 127.0.0.12 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
/sbin/ifconfig lo12 inet6 ::1 delete
/sbin/ifconfig lo12 inet6 fe80::12/64 delete
ifconfig: SIOCDIFADDR: Can't assign requested address
*** Error 1 in target 'unconfig' (ignored)
rm -f stamp-ifconfig
# Create and configure loopback interfaces.
/sbin/ifconfig lo11 rdomain 11
/sbin/ifconfig lo11 inet 127.0.0.1/8
/sbin/ifconfig lo11 inet 127.0.0.11 alias
/sbin/ifconfig lo11 inet6 ::1/128
/sbin/ifconfig lo11 inet6 fe80::11/64
/sbin/route -n -T 11 add -inet 224.0.0.0/4 127.0.0.1
add net 224.0.0.0/4: gateway 127.0.0.1
/sbin/ifconfig lo12 rdomain 12
/sbin/ifconfig lo12 inet 127.0.0.1/8
/sbin/ifconfig lo12 inet 127.0.0.12 alias
/sbin/ifconfig lo12 inet6 ::1/128
/sbin/ifconfig lo12 inet6 fe80::12/64
/sbin/route -n -T 12 add -inet 224.0.0.0/4 127.0.0.1
add net 224.0.0.0/4: gateway 127.0.0.1
# Wait until IPv6 addresses are no longer tentative.
for i in `jot 50`; do if ! { /sbin/ifconfig lo11; /sbin/ifconfig lo12; } | fgrep -q tentative; then break; fi; sleep .1; done
! { /sbin/ifconfig lo11; /sbin/ifconfig lo12; } | fgrep tentative

==== pfctl ====
# Create python include file containing the addresses.
rm -f addr.py addr.py.tmp
echo 'N1="11"' >>addr.py.tmp
echo 'IF_N1="lo11"' >>addr.py.tmp
echo 'ADDR_N1="127.0.0.11"' >>addr.py.tmp
echo 'ADDR6_N1="fe80::11"' >>addr.py.tmp
echo 'N2="12"' >>addr.py.tmp
echo 'IF_N2="lo12"' >>addr.py.tmp
echo 'ADDR_N2="127.0.0.12"' >>addr.py.tmp
echo 'ADDR6_N2="fe80::12"' >>addr.py.tmp
mv addr.py.tmp addr.py
# Load the pf rules into the kernel.
cat addr.py /usr/src/regress/sys/net/pf_opts/pf.conf | /sbin/pfctl -n -f -
cat addr.py /usr/src/regress/sys/net/pf_opts/pf.conf |  /sbin/pfctl -a regress -f -

==== run-ping ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
# Ping localhost on loopback
/sbin/ping -n -w 1 -c 1 -V 11 127.0.0.11
PING 127.0.0.11 (127.0.0.11): 56 data bytes
64 bytes from 127.0.0.11: icmp_seq=0 ttl=255 time=0.066 ms

--- 127.0.0.11 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.066/0.066/0.066/0.000 ms
/sbin/ping -n -w 1 -c 1 -V 12 127.0.0.12
PING 127.0.0.12 (127.0.0.12): 56 data bytes
64 bytes from 127.0.0.12: icmp_seq=0 ttl=255 time=0.041 ms

--- 127.0.0.12 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.041/0.041/0.041/0.000 ms

==== run-ping6 ====
# Ping localhost on loopback
/sbin/ping6 -n -w 1 -c 1 -V 11 fe80::11%lo11
PING fe80::11%lo11 (fe80::11%lo11): 56 data bytes
64 bytes from fe80::11%lo11: icmp_seq=0 hlim=64 time=0.054 ms

--- fe80::11%lo11 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.054/0.054/0.054/0.000 ms
/sbin/ping6 -n -w 1 -c 1 -V 12 fe80::12%lo12
PING fe80::12%lo12 (fe80::12%lo12): 56 data bytes
64 bytes from fe80::12%lo12: icmp_seq=0 hlim=64 time=0.049 ms

--- fe80::12%lo12 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.049/0.049/0.049/0.000 ms

==== run-bpf-ping ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



0 packets received by filter
0 packets dropped by kernel
4 packets received by filter
0 packets dropped by kernel
4 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that ping packet went through loopback.
grep ' 127.0.0.11: icmp: echo request' lo11.tcpdump
06:31:33.762045 127.0.0.11 > 127.0.0.11: icmp: echo request (id:6d4d seq:0) [icmp cksum ok] (ttl 255, id 22275, len 84, bad ip cksum 0! -> 668f)
grep ' 127.0.0.12: icmp: echo request' lo12.tcpdump
06:31:33.764606 127.0.0.12 > 127.0.0.12: icmp: echo request (id:9741 seq:0) [icmp cksum ok] (ttl 255, id 38031, len 84, bad ip cksum 0! -> 2901)
grep ' fe80:.*::11: icmp6: echo request' lo11.tcpdump
06:31:33.821891 fe80:161::1 > fe80:161::11: icmp6: echo request (id:28a8 seq:0) [bad icmp6 cksum 2b6d! -> 28ab] (len 64, hlim 64)
grep ' fe80:.*::12: icmp6: echo request' lo12.tcpdump
06:31:33.827340 fe80:162::1 > fe80:162::12: icmp6: echo request (id:5a6d seq:0) [bad icmp6 cksum 1332! -> 106e] (len 64, hlim 64)
! grep ': icmp: echo request' pflog0.tcpdump
! grep ': icmp6: echo request' pflog0.tcpdump

==== run-ping-record ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
# Ping localhost with record route option
/sbin/ping -n -w 1 -c 1 -V 11 -R 127.0.0.11
PING 127.0.0.11 (127.0.0.11): 56 data bytes
64 bytes from 127.0.0.11: icmp_seq=0 ttl=255 time=0.064 ms
RR: 	127.0.0.11
	127.0.0.11

--- 127.0.0.11 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.064/0.064/0.064/0.000 ms
! /sbin/ping -n -w 1 -c 1 -V 12 -R 127.0.0.12
ping: sendmsg: Permission denied
PING 127.0.0.12 (127.0.0.12): 56 data bytes
ping: wrote 127.0.0.12 64 chars, ret=-1

--- 127.0.0.12 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss

==== run-bpf-ping-record ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



0 packets received by filter
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
1 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that ping packet with options is in pflog0.
grep ' 127.0.0.11: icmp: echo request .* optlen=40 RR' lo11.tcpdump
06:31:38.081835 127.0.0.11 > 127.0.0.11: icmp: echo request (id:b036 seq:0) [icmp cksum ok] (ttl 255, id 41815, len 124, bad ip cksum 0! -> 4ec, optlen=40 RR{39}= RR{#0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0} EOL)
grep ' 127.0.0.12: icmp: echo request .* optlen=40 RR' pflog0.tcpdump
06:31:38.086658 rule 2.regress.1/(match) [uid 0, pid 14953] pass out on lo12: 127.0.0.12 > 127.0.0.12: icmp: echo request (id:4236 seq:0) [icmp cksum ok] (ttl 255, id 52379, len 124, bad ip cksum 0! -> dba5, optlen=40 RR{39}= RR{#0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0} EOL)

==== run-icmp ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp.py N1
send icmp without options
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp.py N2
send icmp without options
.
Sent 1 packets.

==== run-icmp6 ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6.py N1
send icmp6 without options
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6.py N2
send icmp6 without options
.
Sent 1 packets.

==== run-bpf-icmp ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



2 packets received by filter
0 packets received by filter
0 packets dropped by kernel
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that icmp packet went through loopback.
grep ' 127.0.0.11: icmp: type-#6' lo11.tcpdump
06:31:45.823051 127.0.0.11 > 127.0.0.11: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 44)
grep ' 127.0.0.12: icmp: type-#6' lo12.tcpdump
06:31:47.471512 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 44)
grep ' fe80::11: icmp6: type-#6' lo11.tcpdump
06:31:49.166931 fe80::11 > fe80::11: icmp6: type-#6 [icmp6 cksum ok] (len 20, hlim 64)
grep ' fe80::12: icmp6: type-#6' lo12.tcpdump
06:31:50.808041 fe80::12 > fe80::12: icmp6: type-#6 [icmp6 cksum ok] (len 20, hlim 64)
! grep ': icmp: type-#6' pflog0.tcpdump
! grep ': icmp6: type-#6' pflog0.tcpdump

==== run-icmp6-hop ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop.py N1
send icmp6 with hop by hop header
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop.py N2
send icmp6 with hop by hop header
.
Sent 1 packets.

==== run-icmp6-dst ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_dst.py N1
send icmp6 with destination options header
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_dst.py N2
send icmp6 with destination options header
.
Sent 1 packets.

==== run-bpf-ext ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



2 packets received by filter
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that icmp6 packet with extension headers were blocked
fgrep ' fe80::12: HBH icmp6:' pflog0.tcpdump
06:31:58.359579 rule 2/(ip-option) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: HBH icmp6: type-#6 [icmp6 cksum ok] (len 28, hlim 64)
fgrep ' fe80::12: DSTOPT icmp6:' pflog0.tcpdump
06:32:01.714112 rule 2/(ip-option) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: DSTOPT icmp6: type-#6 [icmp6 cksum ok] (len 28, hlim 64)
! grep fe80::11 pflog0.tcpdump

==== run-icmp-pad ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_pad.py N1
send icmp with options padding
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_pad.py N2
send icmp with options padding
.
Sent 1 packets.

==== run-icmp-eol ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_eol.py N1
send icmp with option end of list
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_eol.py N2
send icmp with option end of list
.
Sent 1 packets.

==== run-icmp6-pad ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_pad.py N1
send icmp6 with hop by hop header with padding
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_pad.py N2
send icmp6 with hop by hop header with padding
.
Sent 1 packets.

==== run-icmp-max ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_max.py N1
send icmp with maximum length option
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_max.py N2
send icmp with maximum length option
.
Sent 1 packets.

==== run-icmp6-max ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_max.py N1
send icmp6 with hop by hop header with maxium padding
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_max.py N2
send icmp6 with hop by hop header with maxium padding
.
Sent 1 packets.

==== run-icmp-ra ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_ra.py N1
send icmp with router alert
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_ra.py N2
send icmp with router alert
.
Sent 1 packets.

==== run-icmp6-ra ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_ra.py N1
send icmp6 with hop by hop header with router alert
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_ra.py N2
send icmp6 with hop by hop header with router alert
.
Sent 1 packets.

==== run-icmp-bad ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_bad.py N1
send icmp with unknown option
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp_bad.py N2
send icmp with unknown option
.
Sent 1 packets.

==== run-icmp6-bad ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_bad.py N1
send icmp6 with hop by hop header with unknown option
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_hop_bad.py N2
send icmp6 with hop by hop header with unknown option
.
Sent 1 packets.

==== run-bpf-opts ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



9 packets received by filter
0 packets dropped by kernel
9 packets received by filter
0 packets dropped by kernel
9 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that icmp packet with options were blocked
grep ' 127.0.0.12:.* optlen=4 NOP NOP NOP NOP)' pflog0.tcpdump
06:32:09.258485 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 48, optlen=4 NOP NOP NOP NOP)
grep ' 127.0.0.12:.* optlen=4 NOP EOL-2)' pflog0.tcpdump
06:32:12.603186 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 48, optlen=4 NOP EOL-2)
grep ' 127.0.0.12:.* optlen=40 NOP ' pflog0.tcpdump
06:32:19.325142 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 84, optlen=40 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP)
grep ' 127.0.0.12:.* optlen=8 NOP IPOPT-148{4} NOP ' pflog0.tcpdump
06:32:26.018945 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 52, optlen=8 NOP IPOPT-148{4} NOP EOL-1)
grep ' 127.0.0.12:.* optlen=4 IPOPT-3{4})' pflog0.tcpdump
06:32:32.701999 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 127.0.0.12: icmp: type-#6 [icmp cksum ok] (ttl 64, id 1, len 48, optlen=4 IPOPT-3{4})
grep ' fe80::12: HBH icmp6:.* (len 28,' pflog0.tcpdump
06:32:15.952683 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: HBH icmp6: type-#6 [icmp6 cksum ok] (len 28, hlim 64)
grep ' fe80::12: HBH icmp6:.* (len 284,' pflog0.tcpdump
06:32:22.670731 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: HBH icmp6: type-#6 [icmp6 cksum ok] (len 284, hlim 64)
grep ' fe80::12: HBH (rtalert: 0x0000) icmp6:' pflog0.tcpdump
06:32:29.364297 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: HBH (rtalert: 0x0000) icmp6: type-#6 [icmp6 cksum ok] (len 36, hlim 64)
grep ' fe80::12: HBH (type 0x03: len=0) icmp6:' pflog0.tcpdump
06:32:36.036005 rule 2.regress.1/(match) [uid 0, pid 14953] pass in on lo12: fe80::12 > fe80::12: HBH (type 0x03: len=0) icmp6: type-#6 [icmp6 cksum ok] (len 28, hlim 64)
! grep '127.0.0.11' pflog0.tcpdump
! grep 'fe80::11' pflog0.tcpdump

==== run-igmp ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/igmp_ra.py N1
send internet group management protocol with router alert
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/igmp_ra.py N2
send internet group management protocol with router alert
.
Sent 1 packets.

==== run-icmp6-mld ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_mld_ra.py N1
send icmp6 multicast listener discovery with router alert
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_mld_ra.py N2
send icmp6 multicast listener discovery with router alert
.
Sent 1 packets.

==== run-bpf-mcast ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



2 packets received by filter
0 packets dropped by kernel
0 packets received by filter
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that multicast protocol packet with router alert passed
grep '127.0.0.12 > 224.0.0.1: igmp query .* IPOPT-148{4}' lo12.tcpdump
06:32:43.624275 127.0.0.12 > 224.0.0.1: igmp query [ttl 1] (id 1, len 32, optlen=4 IPOPT-148{4})
grep 'fe80::12 > ff02::1: HBH (rtalert:.* icmp6: multicast ' lo12.tcpdump
06:32:46.973821 fe80::12 > ff02::1: HBH (rtalert: 0x0000) icmp6: multicast listener query max resp delay: 10000 addr: :: [icmp6 cksum ok] [hlim 1] (len 32)
! grep '127.0.0.11' pflog0.tcpdump
! grep 'fe80::11' pflog0.tcpdump
! grep '127.0.0.12' pflog0.tcpdump
! grep 'fe80::12' pflog0.tcpdump
! grep '224.0.0.1' pflog0.tcpdump
! grep 'ff02::1' pflog0.tcpdump

==== run-igmp-bad ====
rm -f lo11.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11' || true
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo11 >lo11.tcpdump &
rm -f stamp-stop
rm -f lo12.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12' || true
tcpdump: listening on lo11, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni lo12 >lo12.tcpdump &
rm -f stamp-stop
rm -f pflog0.tcpdump
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0' || true
tcpdump: listening on lo12, link-type LOOP
/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni pflog0 >pflog0.tcpdump &
rm -f stamp-stop
sleep 2  # XXX
tcpdump: listening on pflog0, link-type PFLOG
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/igmp_bad.py N1
send internet group management protocol with unknown option
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/igmp_bad.py N2
send internet group management protocol with unknown option
.
Sent 1 packets.

==== run-icmp6-mld-bad ====
/sbin/route -T 11 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_mld_bad.py N1
send icmp6 multicast listener discovery with unknown option
.
Sent 1 packets.
/sbin/route -T 12 exec env PYTHONPATH=/usr/src/regress/sys/net/pf_opts/obj python3 -u /usr/src/regress/sys/net/pf_opts/icmp6_mld_bad.py N2
send icmp6 multicast listener discovery with unknown option
.
Sent 1 packets.

==== run-bpf-mcast-bad ====
sleep 2  # XXX
pkill -f '^/usr/sbin/tcpdump -l -e -vvv -s 2048 -ni'



2 packets received by filter
2 packets received by filter
0 packets dropped by kernel
0 packets dropped by kernel
2 packets received by filter
0 packets dropped by kernel
rm -f stamp-bpf*
# Check that multicast protocol packet with options were blocked
grep '127.0.0.12 > 224.0.0.1: igmp query .* IPOPT-3{4}' pflog0.tcpdump
06:32:54.529098 rule 2/(ip-option) [uid 0, pid 14953] pass in on lo12: 127.0.0.12 > 224.0.0.1: igmp query [ttl 1] (id 1, len 32, optlen=4 IPOPT-3{4})
grep 'fe80::12 > ff02::1: HBH (type 0x03:.* icmp6: multicast ' pflog0.tcpdump
06:32:57.889705 rule 2/(ip-option) [uid 0, pid 14953] pass in on lo12: fe80::12 > ff02::1: HBH (type 0x03: len=0) icmp6: multicast listener query max resp delay: 10000 addr: :: [icmp6 cksum ok] [hlim 1] (len 32)
! grep '127.0.0.11' pflog0.tcpdump
! grep 'fe80::11' pflog0.tcpdump

==== unconfig ====
# Destroy interfaces.
/sbin/ifconfig lo11 rdomain 11
/sbin/ifconfig lo11 inet 127.0.0.1 delete
/sbin/ifconfig lo11 inet 127.0.0.11 delete
/sbin/ifconfig lo11 inet6 ::1 delete
/sbin/ifconfig lo11 inet6 fe80::11/64 delete
/sbin/ifconfig lo12 rdomain 12
/sbin/ifconfig lo12 inet 127.0.0.1 delete
/sbin/ifconfig lo12 inet 127.0.0.12 delete
/sbin/ifconfig lo12 inet6 ::1 delete
/sbin/ifconfig lo12 inet6 fe80::12/64 delete
rm -f stamp-ifconfig

PASS	sys/net/pf_opts	Duration 1m30.99s