summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorDaniel Hartmeier <dhartmei@cvs.openbsd.org>2002-12-18 16:49:55 +0000
committerDaniel Hartmeier <dhartmei@cvs.openbsd.org>2002-12-18 16:49:55 +0000
commit9f006b08d85577ebe82a51b651ee67f75045bc7e (patch)
tree91f41a70998ee04abfefe11327f4dcd59f59baf5 /regress
parente91bc917a46b06f345b8c4b57be00eadf1bde6e7 (diff)
Load regress rules into anchor regress:regress and compare the output
of pfctl -vvsr with expected output. This verifies that skip step values don't change unexpectedly.
Diffstat (limited to 'regress')
-rw-r--r--regress/sbin/pfctl/Makefile16
-rw-r--r--regress/sbin/pfctl/pf1.loaded32
-rw-r--r--regress/sbin/pfctl/pf10.loaded120
-rw-r--r--regress/sbin/pfctl/pf11.loaded72
-rw-r--r--regress/sbin/pfctl/pf12.loaded20
-rw-r--r--regress/sbin/pfctl/pf13.loaded48
-rw-r--r--regress/sbin/pfctl/pf14.loaded24
-rw-r--r--regress/sbin/pfctl/pf15.loaded56
-rw-r--r--regress/sbin/pfctl/pf16.loaded8
-rw-r--r--regress/sbin/pfctl/pf17.loaded0
-rw-r--r--regress/sbin/pfctl/pf18.loaded0
-rw-r--r--regress/sbin/pfctl/pf19.loaded0
-rw-r--r--regress/sbin/pfctl/pf2.loaded88
-rw-r--r--regress/sbin/pfctl/pf20.loaded0
-rw-r--r--regress/sbin/pfctl/pf21.loaded16
-rw-r--r--regress/sbin/pfctl/pf23.loaded4
-rw-r--r--regress/sbin/pfctl/pf24.loaded8
-rw-r--r--regress/sbin/pfctl/pf25.loaded12
-rw-r--r--regress/sbin/pfctl/pf26.loaded8
-rw-r--r--regress/sbin/pfctl/pf27.loaded0
-rw-r--r--regress/sbin/pfctl/pf28.loaded24
-rw-r--r--regress/sbin/pfctl/pf29.loaded0
-rw-r--r--regress/sbin/pfctl/pf3.loaded36
-rw-r--r--regress/sbin/pfctl/pf30.loaded4
-rw-r--r--regress/sbin/pfctl/pf31.loaded36
-rw-r--r--regress/sbin/pfctl/pf32.loaded28
-rw-r--r--regress/sbin/pfctl/pf33.loaded24
-rw-r--r--regress/sbin/pfctl/pf34.loaded8
-rw-r--r--regress/sbin/pfctl/pf35.loaded24
-rw-r--r--regress/sbin/pfctl/pf36.loaded0
-rw-r--r--regress/sbin/pfctl/pf38.loaded16
-rw-r--r--regress/sbin/pfctl/pf39.loaded36
-rw-r--r--regress/sbin/pfctl/pf4.loaded184
-rw-r--r--regress/sbin/pfctl/pf40.loaded104
-rw-r--r--regress/sbin/pfctl/pf43.loaded20
-rw-r--r--regress/sbin/pfctl/pf44.loaded24
-rw-r--r--regress/sbin/pfctl/pf5.loaded32
-rw-r--r--regress/sbin/pfctl/pf7.loaded84
-rw-r--r--regress/sbin/pfctl/pf8.loaded8
-rw-r--r--regress/sbin/pfctl/pf9.loaded8
40 files changed, 1231 insertions, 1 deletions
diff --git a/regress/sbin/pfctl/Makefile b/regress/sbin/pfctl/Makefile
index 5d69c1def0a..ee46c923a10 100644
--- a/regress/sbin/pfctl/Makefile
+++ b/regress/sbin/pfctl/Makefile
@@ -1,10 +1,12 @@
-# $OpenBSD: Makefile,v 1.57 2002/12/17 20:08:18 henning Exp $
+# $OpenBSD: Makefile,v 1.58 2002/12/18 16:49:54 dhartmei Exp $
PFTESTS=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
PFTESTS+=28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
PFFAIL=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
PFSIMPLE=1 2
PFSETUP=1
+PFLOAD=1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29
+PFLOAD+=30 31 32 33 34 35 36 38 39 40 43 44
.for n in ${PFFAIL}
REGRESS_TARGETS+=pfail${n}
@@ -38,6 +40,18 @@ pfsimple${n}:
.endfor
+.for n in ${PFLOAD}
+REGRESS_TARGETS+=pfload${n}
+
+pfload${n}:
+ pfctl -a regress:regress -f - < ${.CURDIR}/pf${n}.in
+ pfctl -a regress:regress -vvsr | \
+ diff -u ${.CURDIR}/pf${n}.loaded /dev/stdin
+ pfctl -a regress:regress -Fn >/dev/null 2>&1
+ pfctl -a regress:regress -Fr >/dev/null 2>&1
+
+.endfor
+
.ifdef DO_PFSETUP
.for n in ${PFSETUP}
REGRESS_TARGETS+=pfsetup${n}
diff --git a/regress/sbin/pfctl/pf1.loaded b/regress/sbin/pfctl/pf1.loaded
new file mode 100644
index 00000000000..ad29f294104
--- /dev/null
+++ b/regress/sbin/pfctl/pf1.loaded
@@ -0,0 +1,32 @@
+@0 pass in all
+[ Skip steps: a=end i=end d=end f=4 p=2 sa=4 sp=2 da=4 dp=3 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in all
+[ Skip steps: a=end i=end d=end f=4 sa=4 da=4 dp=3 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in proto tcp from any port <= 1024 to any label foo_bar
+[ Skip steps: a=end i=end d=end f=4 p=5 sa=4 da=4 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in proto tcp from any to any port = smtp
+[ Skip steps: a=end i=end d=end p=5 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in inet proto tcp from 10.0.0.0/8 port > 1024 to ! 10.1.2.3 port != ssh
+[ Skip steps: a=end i=end d=end f=end sa=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in inet proto igmp from 10.0.0.0/8 to 10.1.1.1 allow-opts
+[ Skip steps: a=end i=end d=end f=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 pass in inet proto tcp from 1.2.3.4 to any label 6:tcp:1.2.3.4::any:
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 pass in inet proto tcp from 1.2.3.5 to any label 7:tcp:1.2.3.5::any:
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf10.loaded b/regress/sbin/pfctl/pf10.loaded
new file mode 100644
index 00000000000..f04bc643779
--- /dev/null
+++ b/regress/sbin/pfctl/pf10.loaded
@@ -0,0 +1,120 @@
+@0 pass in inet proto icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in inet proto icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block return-rst in inet proto tcp all
+[ Skip steps: a=end i=end d=end p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block return-rst in inet6 proto tcp all
+[ Skip steps: a=end i=end d=end p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block return-rst(ttl 10) in inet proto tcp all
+[ Skip steps: a=end i=end d=end p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block return-rst(ttl 10) in inet6 proto tcp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block return-icmp(port-unr) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 block return-icmp(net-unr) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 block return-icmp(net-unr) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 block return-icmp(srcfail) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 block return-icmp(srcfail) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 block return-icmp(host-prohib) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 block return-icmp(host-prohib) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 block return-icmp(cutoff-preced) in inet proto icmp all
+[ Skip steps: a=end i=end d=end f=17 p=17 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 block return-icmp(cutoff-preced) in inet proto icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 block return-icmp6(port-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 block return-icmp6(noroute-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 block return-icmp6(noroute-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@20 block return-icmp6(admin-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@21 block return-icmp6(admin-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@22 block return-icmp6(notnbr-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@23 block return-icmp6(notnbr-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@24 block return-icmp6(addr-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@25 block return-icmp6(addr-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@26 block return-icmp6(port-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end f=28 p=28 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@27 block return-icmp6(port-unr) in inet6 proto ipv6-icmp all
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@28 block return-icmp(srcfail, admin-unr) in all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@29 block return-icmp(srcfail, admin-unr) in all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf11.loaded b/regress/sbin/pfctl/pf11.loaded
new file mode 100644
index 00000000000..2ffb56bb88e
--- /dev/null
+++ b/regress/sbin/pfctl/pf11.loaded
@@ -0,0 +1,72 @@
+@0 pass in inet proto icmp all icmp-type echorep
+[ Skip steps: a=end i=end d=end f=4 p=4 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in inet proto icmp all icmp-type echorep code 0
+[ Skip steps: a=end i=end d=end f=4 p=4 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in inet proto icmp all icmp-type 1
+[ Skip steps: a=end i=end d=end f=4 p=4 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in inet proto icmp all icmp-type 1 code 1
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in inet6 proto ipv6-icmp all ipv6-icmp-type 0
+[ Skip steps: a=end i=end d=end f=8 p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in inet6 proto ipv6-icmp all ipv6-icmp-type 0 code 0
+[ Skip steps: a=end i=end d=end f=8 p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 pass in inet6 proto ipv6-icmp all ipv6-icmp-type unreach
+[ Skip steps: a=end i=end d=end f=8 p=8 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 pass in inet6 proto ipv6-icmp all ipv6-icmp-type unreach code admin-unr
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block drop in inet proto icmp all icmp-type echorep
+[ Skip steps: a=end i=end d=end f=12 p=12 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 block drop in inet proto icmp all icmp-type echorep code 0
+[ Skip steps: a=end i=end d=end f=12 p=12 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 block drop in inet proto icmp all icmp-type 1
+[ Skip steps: a=end i=end d=end f=12 p=12 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 block drop in inet proto icmp all icmp-type 1 code 1
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 block drop in inet6 proto ipv6-icmp all ipv6-icmp-type 0
+[ Skip steps: a=end i=end d=end f=16 p=16 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 block drop in inet6 proto ipv6-icmp all ipv6-icmp-type 0 code 0
+[ Skip steps: a=end i=end d=end f=16 p=16 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 block drop in inet6 proto ipv6-icmp all ipv6-icmp-type unreach
+[ Skip steps: a=end i=end d=end f=16 p=16 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 block drop in inet6 proto ipv6-icmp all ipv6-icmp-type unreach code admin-unr
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 pass in inet proto icmp all icmp-type unreach code needfrag
+[ Skip steps: a=end i=end d=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 pass in inet6 proto ipv6-icmp all ipv6-icmp-type timex code reassemb
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf12.loaded b/regress/sbin/pfctl/pf12.loaded
new file mode 100644
index 00000000000..6eb1c96a042
--- /dev/null
+++ b/regress/sbin/pfctl/pf12.loaded
@@ -0,0 +1,20 @@
+@0 pass in inet from 127.0.0.1 to 127.0.0.0/8
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in inet from 127.0.0.0/16 to 127.0.0.0/24
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in inet from 127.0.0.0/25 to ! 127.0.0.0/26
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in inet from ! 127.0.0.1 to 127.0.0.0/16
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in inet from ! 127.0.0.1 to ! 127.0.0.0/8
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf13.loaded b/regress/sbin/pfctl/pf13.loaded
new file mode 100644
index 00000000000..729ef3da601
--- /dev/null
+++ b/regress/sbin/pfctl/pf13.loaded
@@ -0,0 +1,48 @@
+@0 pass in quick on enc0 fastroute all
+[ Skip steps: a=end i=3 d=3 p=6 sa=8 sp=end da=4 dp=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in quick on enc0 fastroute inet all
+[ Skip steps: a=end i=3 d=3 p=6 sa=8 sp=end da=4 dp=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in quick on enc0 fastroute inet6 all
+[ Skip steps: a=end p=6 sa=8 sp=end da=4 dp=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass out quick on tun0 route-to tun1 inet all
+[ Skip steps: a=end i=end d=6 f=5 p=6 sa=8 sp=end dp=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass out quick on tun0 route-to tun1 inet from any to 192.168.1.1
+[ Skip steps: a=end i=end d=6 p=6 sa=8 sp=end dp=6 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass out quick on tun0 route-to tun1 inet6 from any to fec0::1
+[ Skip steps: a=end i=end sa=8 sp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop in on tun0 dup-to (tun1 192.168.1.1) inet proto tcp from any to any port = ftp
+[ Skip steps: a=end i=end d=end p=8 sa=8 sp=end da=8 dp=8 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block drop in on tun0 dup-to (tun1 fec0::1) inet6 proto tcp from any to any port = ftp
+[ Skip steps: a=end i=end d=end sp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 pass in quick on tun0 route-to tun1 inet from 192.168.1.1 to 10.1.1.1
+[ Skip steps: a=end i=end d=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 pass in quick on tun0 route-to tun1 inet6 from fec0::/64 to fec1::2
+[ Skip steps: a=end i=end d=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 pass in quick on tun0 dup-to (tun1 192.168.1.100) inet from 192.168.1.1 to 10.1.1.1
+[ Skip steps: a=end i=end d=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 pass in quick on tun0 dup-to (tun1 fec1::2) inet6 from fec0::/64 to fec1::2
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf14.loaded b/regress/sbin/pfctl/pf14.loaded
new file mode 100644
index 00000000000..1c21082bfc6
--- /dev/null
+++ b/regress/sbin/pfctl/pf14.loaded
@@ -0,0 +1,24 @@
+@0 pass in quick on lo0 inet6 from fe80::1 to fe80::1
+[ Skip steps: a=end i=end d=end f=end p=end sa=3 sp=end da=2 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in quick on lo0 inet6 from fe80::1 to fe80::1
+[ Skip steps: a=end i=end d=end f=end p=end sa=3 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in quick on lo0 inet6 from fe80::1 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in quick on lo0 inet6 from any to fe80::1
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in quick on lo0 inet6 from fe80::1 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in quick on lo0 inet6 from any to fe80::1
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf15.loaded b/regress/sbin/pfctl/pf15.loaded
new file mode 100644
index 00000000000..fa8d8383dbb
--- /dev/null
+++ b/regress/sbin/pfctl/pf15.loaded
@@ -0,0 +1,56 @@
+@0 scrub in on lo0 all no-df fragment reassemble
+[ Skip steps: a=end i=3 d=3 f=3 p=end sa=7 sp=end da=3 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 scrub in on lo0 all min-ttl 25 fragment reassemble
+[ Skip steps: a=end i=3 d=3 f=3 p=end sa=7 sp=end da=3 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 scrub in on lo0 all max-mss 224 fragment reassemble
+[ Skip steps: a=end p=end sa=7 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 scrub out on lo1 inet from any to 10.0.0.1 no-df max-mss 224 fragment reassemble
+[ Skip steps: a=end p=end sa=7 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 scrub in on lo0 all max-mss 224 fragment reassemble
+[ Skip steps: a=end i=6 d=end f=7 p=end sa=7 sp=end da=8 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 scrub in on lo0 all fragment reassemble
+[ Skip steps: a=end d=end f=7 p=end sa=7 sp=end da=8 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 scrub in on lo1 all fragment reassemble
+[ Skip steps: a=end d=end p=end sp=end da=8 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 scrub in on lo0 inet from (lo0) to any fragment reassemble
+[ Skip steps: a=end i=10 d=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 scrub in on lo0 inet6 from (lo1) to 2000::1 fragment reassemble
+[ Skip steps: a=end i=10 d=end f=10 p=end sp=end da=10 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 scrub in on lo0 inet6 from (lo0) to 2000::1 fragment reassemble
+[ Skip steps: a=end d=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 scrub in inet from 10.0.0.1 to 10.0.0.3 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=12 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 scrub in inet from 10.0.0.1 to 10.0.0.4 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 scrub in inet from 10.0.0.2 to 10.0.0.3 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 scrub in inet from 10.0.0.2 to 10.0.0.4 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf16.loaded b/regress/sbin/pfctl/pf16.loaded
new file mode 100644
index 00000000000..7f98687e41f
--- /dev/null
+++ b/regress/sbin/pfctl/pf16.loaded
@@ -0,0 +1,8 @@
+@0 scrub in on lo0 all fragment reassemble
+[ Skip steps: d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in on lo1 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf17.loaded b/regress/sbin/pfctl/pf17.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf17.loaded
diff --git a/regress/sbin/pfctl/pf18.loaded b/regress/sbin/pfctl/pf18.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf18.loaded
diff --git a/regress/sbin/pfctl/pf19.loaded b/regress/sbin/pfctl/pf19.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf19.loaded
diff --git a/regress/sbin/pfctl/pf2.loaded b/regress/sbin/pfctl/pf2.loaded
new file mode 100644
index 00000000000..fed069365c4
--- /dev/null
+++ b/regress/sbin/pfctl/pf2.loaded
@@ -0,0 +1,88 @@
+@0 block drop out log on tun0 all
+[ Skip steps: a=end i=12 f=6 p=2 sa=6 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in log on tun0 all
+[ Skip steps: a=end i=12 f=6 sa=6 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block return-rst out log on tun0 proto tcp all
+[ Skip steps: a=end i=12 f=6 p=4 sa=6 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block return-rst in log on tun0 proto tcp all
+[ Skip steps: a=end i=12 f=6 sa=6 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block return-icmp(port-unr, port-unr) out log on tun0 proto udp all
+[ Skip steps: a=end i=12 f=6 p=6 sa=6 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block return-icmp(port-unr, port-unr) in log on tun0 proto udp all
+[ Skip steps: a=end i=12 sp=end da=7 dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop out log quick on tun0 inet from ! 157.161.48.183 to any
+[ Skip steps: a=end i=12 f=12 p=13 sp=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block drop in quick on tun0 inet from any to 255.255.255.255
+[ Skip steps: a=end i=12 d=13 f=12 p=13 sp=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block drop in log quick on tun0 inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=12 d=13 f=12 p=13 sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 block drop in log quick on tun0 inet from 172.16.0.0/12 to any
+[ Skip steps: a=end i=12 d=13 f=12 p=13 sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 block drop in log quick on tun0 inet from 192.168.0.0/16 to any
+[ Skip steps: a=end i=12 d=13 f=12 p=13 sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 block drop in log quick on tun0 inet from 255.255.255.255 to any
+[ Skip steps: a=end d=13 p=13 sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 block drop in log quick from no-route to any
+[ Skip steps: a=end sa=end sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 pass out on tun0 inet proto icmp all icmp-type echoreq code 0 keep state
+[ Skip steps: a=end i=end f=15 p=15 sa=end sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 pass in on tun0 inet proto icmp all icmp-type echoreq code 0 keep state
+[ Skip steps: a=end i=end sa=end sp=end da=end dp=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 pass out on tun0 proto udp all keep state
+[ Skip steps: a=end i=end f=end p=17 sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 pass in on tun0 proto udp from any to any port = domain keep state
+[ Skip steps: a=end i=end f=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 pass out on tun0 proto tcp all keep state
+[ Skip steps: a=end i=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 pass in on tun0 proto tcp from any to any port = ssh keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 pass in on tun0 proto tcp from any to any port = smtp keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@20 pass in on tun0 proto tcp from any to any port = domain keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@21 pass in on tun0 proto tcp from any to any port = auth keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf20.loaded b/regress/sbin/pfctl/pf20.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf20.loaded
diff --git a/regress/sbin/pfctl/pf21.loaded b/regress/sbin/pfctl/pf21.loaded
new file mode 100644
index 00000000000..07b3a7a67c8
--- /dev/null
+++ b/regress/sbin/pfctl/pf21.loaded
@@ -0,0 +1,16 @@
+@0 scrub in all fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 scrub in all fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 scrub in all fragment drop-ovl
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 scrub in all fragment crop
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf23.loaded b/regress/sbin/pfctl/pf23.loaded
new file mode 100644
index 00000000000..c0423496a06
--- /dev/null
+++ b/regress/sbin/pfctl/pf23.loaded
@@ -0,0 +1,4 @@
+@0 block drop in on ! lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf24.loaded b/regress/sbin/pfctl/pf24.loaded
new file mode 100644
index 00000000000..7e323576c8e
--- /dev/null
+++ b/regress/sbin/pfctl/pf24.loaded
@@ -0,0 +1,8 @@
+@0 pass in proto tcp from any to any port = ssh
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in proto tcp from any to any port = ftp
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf25.loaded b/regress/sbin/pfctl/pf25.loaded
new file mode 100644
index 00000000000..4a42deaecf3
--- /dev/null
+++ b/regress/sbin/pfctl/pf25.loaded
@@ -0,0 +1,12 @@
+@0 block drop in on ! lo0 inet from 127.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in on ! lo0 inet6 from ::1 to any
+[ Skip steps: a=end i=end d=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in log quick on ! lo0 inet from 127.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf26.loaded b/regress/sbin/pfctl/pf26.loaded
new file mode 100644
index 00000000000..7ba158346e7
--- /dev/null
+++ b/regress/sbin/pfctl/pf26.loaded
@@ -0,0 +1,8 @@
+@0 block drop in on lo0 inet from ! (lo0) to any
+[ Skip steps: a=end i=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop out on lo0 inet from any to ! (lo0)
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf27.loaded b/regress/sbin/pfctl/pf27.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf27.loaded
diff --git a/regress/sbin/pfctl/pf28.loaded b/regress/sbin/pfctl/pf28.loaded
new file mode 100644
index 00000000000..0ee3abd6254
--- /dev/null
+++ b/regress/sbin/pfctl/pf28.loaded
@@ -0,0 +1,24 @@
+@0 block drop in log-all quick on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in log quick on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in log-all quick on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in log quick on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block drop in log on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block drop in log-all on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf29.loaded b/regress/sbin/pfctl/pf29.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf29.loaded
diff --git a/regress/sbin/pfctl/pf3.loaded b/regress/sbin/pfctl/pf3.loaded
new file mode 100644
index 00000000000..392eeeb5da6
--- /dev/null
+++ b/regress/sbin/pfctl/pf3.loaded
@@ -0,0 +1,36 @@
+@0 pass in all
+[ Skip steps: a=end i=end d=end f=end p=2 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in all
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in proto tcp all flags FPUEW/FSRPAUEW
+[ Skip steps: a=end i=end d=end f=end p=5 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in proto tcp all flags FS/FSRA
+[ Skip steps: a=end i=end d=end f=end p=5 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block drop in proto tcp all flags /FSRAW
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in proto udp all
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 pass in proto icmp all
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 pass in proto tcp all flags S/SA
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 pass in all flags S/SA
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf30.loaded b/regress/sbin/pfctl/pf30.loaded
new file mode 100644
index 00000000000..add17ea201a
--- /dev/null
+++ b/regress/sbin/pfctl/pf30.loaded
@@ -0,0 +1,4 @@
+@0 block drop in on lo0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf31.loaded b/regress/sbin/pfctl/pf31.loaded
new file mode 100644
index 00000000000..5d30af1fdf8
--- /dev/null
+++ b/regress/sbin/pfctl/pf31.loaded
@@ -0,0 +1,36 @@
+@0 block return in on lo0 all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block return in on lo0 inet all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block return in on lo0 inet6 all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in on lo0 all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block drop in on lo0 inet all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block drop in on lo0 inet6 all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block return in on lo0 all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block return in on lo0 inet all
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block return in on lo0 inet6 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf32.loaded b/regress/sbin/pfctl/pf32.loaded
new file mode 100644
index 00000000000..82f3b0b3446
--- /dev/null
+++ b/regress/sbin/pfctl/pf32.loaded
@@ -0,0 +1,28 @@
+@0 pass in inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in inet from 10.1.0.0/16 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in inet from 192.168.37.0/25 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in inet from 192.168.37.0/24 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in inet from 192.168.0.0/16 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 pass in inet from 192.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf33.loaded b/regress/sbin/pfctl/pf33.loaded
new file mode 100644
index 00000000000..524476d5103
--- /dev/null
+++ b/regress/sbin/pfctl/pf33.loaded
@@ -0,0 +1,24 @@
+@0 block return in on lo0 inet all queue rsets
+[ Skip steps: a=end i=end d=2 f=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in on lo0 inet proto tcp from any to any port = www keep state queue http
+[ Skip steps: a=end i=end f=end p=5 sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass out on lo0 inet proto tcp from any to any port = ssh keep state queue ssh
+[ Skip steps: a=end i=end f=end p=5 sa=end sp=end da=end dp=4 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in on lo0 inet proto tcp from any to any port = ssh keep state queue ssh
+[ Skip steps: a=end i=end f=end p=5 sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass out on lo0 inet proto tcp from any to any port = smtp keep state queue mail
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass out on lo0 inet all keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf34.loaded b/regress/sbin/pfctl/pf34.loaded
new file mode 100644
index 00000000000..304052b12e0
--- /dev/null
+++ b/regress/sbin/pfctl/pf34.loaded
@@ -0,0 +1,8 @@
+@0 pass in inet from any to 127.0.0.1
+[ Skip steps: a=end i=end d=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in inet6 from any to 2000::1
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf35.loaded b/regress/sbin/pfctl/pf35.loaded
new file mode 100644
index 00000000000..098c2f6eb9e
--- /dev/null
+++ b/regress/sbin/pfctl/pf35.loaded
@@ -0,0 +1,24 @@
+@0 block return out on lo0 inet all queue std
+[ Skip steps: a=end i=end d=end f=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass out on lo0 inet proto tcp from 10.0.0.0/24 to any port = www keep state queue developers
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=3 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass out on lo0 inet proto tcp from 10.0.1.0/24 to any port = www keep state queue employees
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass out on lo0 inet proto tcp from any to any port = ssh tos 0x10 keep state queue ssh_interactive
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=5 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass out on lo0 inet proto tcp from any to any port = ssh tos 0x08 keep state queue ssh_bulk
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass out on lo0 inet proto tcp from any to any port = smtp keep state queue mail
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf36.loaded b/regress/sbin/pfctl/pf36.loaded
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/regress/sbin/pfctl/pf36.loaded
diff --git a/regress/sbin/pfctl/pf38.loaded b/regress/sbin/pfctl/pf38.loaded
new file mode 100644
index 00000000000..0e6aa128180
--- /dev/null
+++ b/regress/sbin/pfctl/pf38.loaded
@@ -0,0 +1,16 @@
+@0 pass in on tun0 proto tcp all user = 3
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in on tun0 proto tcp all group = 7
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in on tun0 proto tcp all user = 3 group = 0
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in on tun0 proto tcp all user = 0 group = 0
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf39.loaded b/regress/sbin/pfctl/pf39.loaded
new file mode 100644
index 00000000000..aab925916e3
--- /dev/null
+++ b/regress/sbin/pfctl/pf39.loaded
@@ -0,0 +1,36 @@
+@0 pass in log quick on lo0 inet proto tcp all tos 0x08 keep state fragment label blah
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in log quick on lo0 inet proto icmp all user = 3 group = 32767 icmp-type echorep code 0 tos 0x08 keep state allow-opts label blah queue blah
+[ Skip steps: a=end i=end d=end f=end p=5 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in log quick on lo0 inet proto icmp all user = 3 group = 0 icmp-type echorep code 0 tos 0x08 keep state allow-opts label blah queue blah
+[ Skip steps: a=end i=end d=end f=end p=5 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in log quick on lo0 inet proto icmp all user = 0 group = 32767 icmp-type echorep code 0 tos 0x08 keep state allow-opts label blah queue blah
+[ Skip steps: a=end i=end d=end f=end p=5 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in log quick on lo0 inet proto icmp all user = 0 group = 0 icmp-type echorep code 0 tos 0x08 keep state allow-opts label blah queue blah
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 pass in log quick on lo0 inet proto tcp all keep state
+[ Skip steps: a=end i=end d=end f=end p=7 sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 pass in log quick on lo0 inet proto tcp all tos 0x08 keep state label blah queue blah
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 pass in log quick on lo0 inet proto icmp all icmp-type echorep code 0 tos 0x08
+[ Skip steps: a=end i=end d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 pass in log quick on lo0 inet proto tcp all flags S/SA allow-opts
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf4.loaded b/regress/sbin/pfctl/pf4.loaded
new file mode 100644
index 00000000000..894e5c43e1f
--- /dev/null
+++ b/regress/sbin/pfctl/pf4.loaded
@@ -0,0 +1,184 @@
+@0 block drop in all
+[ Skip steps: a=end i=end d=end f=5 sa=5 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in proto tcp all
+[ Skip steps: a=end i=end d=end f=5 p=3 sa=5 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in proto tcp all
+[ Skip steps: a=end i=end d=end f=5 sa=5 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in proto udp all
+[ Skip steps: a=end i=end d=end f=5 sa=5 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block drop in all
+[ Skip steps: a=end i=end d=end p=9 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block drop in inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=9 p=9 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop in inet from ! 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=9 p=9 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block drop in inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=9 p=9 sp=9 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block drop in inet from 172.16.0.0/12 to any
+[ Skip steps: a=end i=end d=end da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 block drop in proto tcp from any port = ssh to any
+[ Skip steps: a=end i=end d=end f=14 p=30 sa=14 sp=11 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 block drop in proto tcp from any port = ssh to any
+[ Skip steps: a=end i=end d=end f=14 p=30 sa=14 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 block drop in proto tcp from any port 21 >< 2048 to any
+[ Skip steps: a=end i=end d=end f=14 p=30 sa=14 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 block drop in proto tcp from any port != 1234 to any
+[ Skip steps: a=end i=end d=end f=14 p=30 sa=14 da=14 dp=14 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 block drop in proto tcp from any port >= 80 to any
+[ Skip steps: a=end i=end d=end p=30 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=18 da=16 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=18 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=18 da=18 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 block drop in inet proto tcp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=22 da=20 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=22 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@20 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=22 sp=22 da=22 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@21 block drop in inet proto tcp from 10.0.0.0/8 port = ftp to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@22 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=26 da=24 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@23 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=26 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@24 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=26 da=26 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@25 block drop in inet proto tcp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@26 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=30 da=28 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@27 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=30 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@28 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=30 sa=30 sp=30 da=30 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@29 block drop in inet proto tcp from 172.16.0.0/12 port = ftp to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@30 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=34 da=32 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@31 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=34 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@32 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=34 da=34 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@33 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@34 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=38 da=36 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@35 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=38 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@36 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=38 sp=38 da=38 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@37 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@38 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=42 da=40 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@39 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=42 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@40 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=42 da=42 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@41 block drop in inet proto udp from 172.16.0.0/12 port = ssh to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@42 block drop in inet proto udp from 172.16.0.0/12 port = 21 to 192.168.0.0/16 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=44 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@43 block drop in inet proto udp from 172.16.0.0/12 port = 21 to 192.168.0.0/16 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@44 block drop in inet proto udp from 172.16.0.0/12 port = 21 to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@45 block drop in inet proto udp from 172.16.0.0/12 port = 21 to 12.34.56.78 port = 6668
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf40.loaded b/regress/sbin/pfctl/pf40.loaded
new file mode 100644
index 00000000000..1d0e1c4464e
--- /dev/null
+++ b/regress/sbin/pfctl/pf40.loaded
@@ -0,0 +1,104 @@
+@0 scrub all fragment reassemble
+[ Skip steps: a=6 i=18 d=2 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 scrub all fragment reassemble
+[ Skip steps: a=6 i=18 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 scrub in all fragment reassemble
+[ Skip steps: a=6 i=18 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 scrub out all fragment reassemble
+[ Skip steps: a=6 i=18 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 scrub in all fragment reassemble
+[ Skip steps: a=6 i=18 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 scrub all fragment reassemble
+[ Skip steps: i=18 d=10 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop all
+[ Skip steps: a=end i=18 d=10 f=end p=8 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block return all
+[ Skip steps: a=end i=18 d=10 f=end sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block return-rst proto tcp all
+[ Skip steps: a=end i=18 d=10 f=end sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 pass all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 pass in all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 pass out all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 pass all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 block drop in all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 block drop out all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 block drop all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 pass in all
+[ Skip steps: a=end i=18 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 pass out all
+[ Skip steps: a=end f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 block drop on lo0 all
+[ Skip steps: a=end i=21 d=23 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 pass on lo0 all
+[ Skip steps: a=end i=21 d=23 f=end p=21 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@20 block drop on lo0 all
+[ Skip steps: a=end d=23 f=end sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@21 pass proto tcp all flags S/SA
+[ Skip steps: a=end i=25 d=23 f=end sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@22 pass proto udp all keep state
+[ Skip steps: a=end i=25 f=end p=25 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@23 pass in proto udp all keep state
+[ Skip steps: a=end i=25 f=end p=25 sa=end sp=end da=end dp=25 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@24 pass out proto udp all keep state
+[ Skip steps: a=end d=end f=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@25 pass out on lo0 proto tcp from any to any port = smtp keep state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf43.loaded b/regress/sbin/pfctl/pf43.loaded
new file mode 100644
index 00000000000..c89f0f108df
--- /dev/null
+++ b/regress/sbin/pfctl/pf43.loaded
@@ -0,0 +1,20 @@
+@0 pass in on lo0 inet proto tcp from any to 127.0.0.1 port = ssh queue(bulk, prio)
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 pass in on lo0 inet proto tcp from any to 127.0.0.1 port = ssh queue bulk
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 pass in on lo0 inet proto tcp from any to 127.0.0.1 port = ssh queue(bulk, prio)
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 pass in on lo0 inet proto tcp from any to 127.0.0.1 port = ssh queue bulk
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 pass in on lo0 inet proto tcp from any to 127.0.0.1 port = ssh queue(bulk, prio)
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf44.loaded b/regress/sbin/pfctl/pf44.loaded
new file mode 100644
index 00000000000..6f235e3d9d6
--- /dev/null
+++ b/regress/sbin/pfctl/pf44.loaded
@@ -0,0 +1,24 @@
+@0 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment drop-ovl
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment crop
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 scrub in on lo0 all no-df min-ttl 15 max-mss 224 fragment reassemble
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf5.loaded b/regress/sbin/pfctl/pf5.loaded
new file mode 100644
index 00000000000..efbaae5e990
--- /dev/null
+++ b/regress/sbin/pfctl/pf5.loaded
@@ -0,0 +1,32 @@
+@0 block drop in inet proto udp from 10.0.0.0/8 port = echo to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=2 da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in inet proto udp from 10.0.0.0/8 port = echo to 12.34.56.78 port = 16
+[ Skip steps: a=end i=end d=end f=end p=end sa=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=4 da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block drop in inet proto udp from 10.0.0.0/8 port = ssh to 12.34.56.78 port = 16
+[ Skip steps: a=end i=end d=end f=end p=end sa=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=6 da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block drop in inet proto udp from 10.0.0.0/8 port = 21 to 12.34.56.78 port = 16
+[ Skip steps: a=end i=end d=end f=end p=end sa=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop in inet proto udp from 10.0.0.0/8 port = 113 to 12.34.56.78 port = 6667
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block drop in inet proto udp from 10.0.0.0/8 port = 113 to 12.34.56.78 port = 16
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf7.loaded b/regress/sbin/pfctl/pf7.loaded
new file mode 100644
index 00000000000..086b4134535
--- /dev/null
+++ b/regress/sbin/pfctl/pf7.loaded
@@ -0,0 +1,84 @@
+@0 block drop out log on tun0 all
+[ Skip steps: a=end i=end f=6 p=2 sa=6 sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in log on tun0 all
+[ Skip steps: a=end i=end f=6 sa=6 sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 block return-rst out log on tun0 proto tcp all
+[ Skip steps: a=end i=end f=6 p=4 sa=6 sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 block return-rst in log on tun0 proto tcp all
+[ Skip steps: a=end i=end f=6 sa=6 sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 block return-icmp(port-unr, port-unr) out log on tun0 proto udp all
+[ Skip steps: a=end i=end f=6 p=6 sa=6 sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 block return-icmp(port-unr, port-unr) in log on tun0 proto udp all
+[ Skip steps: a=end i=end sp=end da=7 dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 block drop out log quick on tun0 inet from ! 157.161.48.183 to any
+[ Skip steps: a=end i=end f=14 p=12 sp=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 block drop in quick on tun0 inet from any to 255.255.255.255
+[ Skip steps: a=end i=end d=12 f=14 p=12 sp=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 block drop in log quick on tun0 inet from 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=12 f=14 p=12 sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 block drop in log quick on tun0 inet from 172.16.0.0/12 to any
+[ Skip steps: a=end i=end d=12 f=14 p=12 sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 block drop in log quick on tun0 inet from 192.168.0.0/16 to any
+[ Skip steps: a=end i=end d=12 f=14 p=12 sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 block drop in log quick on tun0 inet from 255.255.255.255 to any
+[ Skip steps: a=end i=end f=14 sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 pass out on tun0 inet proto icmp all icmp-type echoreq code 0 keep state
+[ Skip steps: a=end i=end f=14 p=14 sa=end sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 pass in on tun0 inet proto icmp all icmp-type echoreq code 0 keep state
+[ Skip steps: a=end i=end sa=end sp=end da=end dp=15 ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 pass out on tun0 proto udp all keep state
+[ Skip steps: a=end i=end f=end p=16 sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 pass in on tun0 proto udp from any to any port = domain keep state
+[ Skip steps: a=end i=end f=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 pass out on tun0 proto tcp all modulate state
+[ Skip steps: a=end i=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 pass in on tun0 proto tcp from any to any port = ssh modulate state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 pass in on tun0 proto tcp from any to any port = smtp modulate state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 pass in on tun0 proto tcp from any to any port = domain modulate state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@20 pass in on tun0 proto tcp from any to any port = auth modulate state
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf8.loaded b/regress/sbin/pfctl/pf8.loaded
new file mode 100644
index 00000000000..8414a223a8a
--- /dev/null
+++ b/regress/sbin/pfctl/pf8.loaded
@@ -0,0 +1,8 @@
+@0 block drop out log on tun1 inet from ! 10.0.0.0/8 to any
+[ Skip steps: a=end i=end d=end f=end p=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop out log on tun1 inet from 10.1.2.3 to any
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
diff --git a/regress/sbin/pfctl/pf9.loaded b/regress/sbin/pfctl/pf9.loaded
new file mode 100644
index 00000000000..3c46cdfd596
--- /dev/null
+++ b/regress/sbin/pfctl/pf9.loaded
@@ -0,0 +1,8 @@
+@0 block drop in on enc0 all
+[ Skip steps: a=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 block drop in on tun0 all
+[ Skip steps: a=end i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+