summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Thomas McBride <mcbride@cvs.openbsd.org>2003-02-22 23:26:40 +0000
committerRyan Thomas McBride <mcbride@cvs.openbsd.org>2003-02-22 23:26:40 +0000
commit9292a43521cdb902729e957bbb2da2cf0c12abdf (patch)
treedd86667775573055427e510719a2b87e4bfa4094
parent15a865f73c4cbeb0615c341f14ea699e762247cb (diff)
Make the pfload regression tests check translation rules as well as
filter rules.
-rw-r--r--regress/sbin/pfctl/Makefile5
-rw-r--r--regress/sbin/pfctl/pf16.loaded12
-rw-r--r--regress/sbin/pfctl/pf17.loaded48
-rw-r--r--regress/sbin/pfctl/pf18.loaded80
-rw-r--r--regress/sbin/pfctl/pf19.loaded36
-rw-r--r--regress/sbin/pfctl/pf20.loaded48
-rw-r--r--regress/sbin/pfctl/pf27.loaded48
-rw-r--r--regress/sbin/pfctl/pf29.loaded12
-rw-r--r--regress/sbin/pfctl/pf36.loaded56
9 files changed, 343 insertions, 2 deletions
diff --git a/regress/sbin/pfctl/Makefile b/regress/sbin/pfctl/Makefile
index 75d21cc7f61..1e52664ac9e 100644
--- a/regress/sbin/pfctl/Makefile
+++ b/regress/sbin/pfctl/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.92 2003/02/22 19:03:21 henning Exp $
+# $OpenBSD: Makefile,v 1.93 2003/02/22 23:26:39 mcbride Exp $
# TARGETS
# pf: feed pfNN.in through pfctl and check wether the output matches pfNN.ok
@@ -74,7 +74,8 @@ PFLOAD_TARGETS+=pfload${n}
pfload${n}:
${SUDO} pfctl -a regress:regress -f - < ${.CURDIR}/pf${n}.in
- ${SUDO} pfctl -a regress:regress -vvsr | \
+ (${SUDO} pfctl -a regress:regress -vvsn; \
+ ${SUDO} pfctl -a regress:regress -vvsr) | \
diff -u ${.CURDIR}/pf${n}.loaded /dev/stdin
${SUDO} pfctl -a regress:regress -Fn >/dev/null 2>&1
${SUDO} pfctl -a regress:regress -Fr >/dev/null 2>&1
diff --git a/regress/sbin/pfctl/pf16.loaded b/regress/sbin/pfctl/pf16.loaded
index 5d51fe05b0c..85a581c3575 100644
--- a/regress/sbin/pfctl/pf16.loaded
+++ b/regress/sbin/pfctl/pf16.loaded
@@ -1,3 +1,15 @@
+@0 nat on lo0 inet from 192.168.1.1 to any -> 10.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@0 rdr on lo0 inet proto tcp from any to 1.2.3.4 port = 2222 -> 10.0.0.10 port 22
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@0 binat on lo0 inet from 192.168.1.1 to any -> 10.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
@0 scrub in on lo0 all fragment reassemble
[ Skip steps: 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
index e69de29bb2d..2149201d43f 100644
--- a/regress/sbin/pfctl/pf17.loaded
+++ b/regress/sbin/pfctl/pf17.loaded
@@ -0,0 +1,48 @@
+@0 no binat on lo0 inet from 192.168.1.1 to 10.1.2.3
+[ Skip steps: i=end d=end f=end p=2 sa=2 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 binat on lo0 inet from 192.168.1.1 to any -> 10.0.0.1
+[ Skip steps: i=end d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 binat on lo0 inet proto tcp from 192.168.1.2 to any -> 10.0.0.2
+[ Skip steps: i=end d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 binat on lo0 inet proto udp from 192.168.1.3 to any -> 10.0.0.3
+[ Skip steps: i=end d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 binat on lo0 inet proto icmp from 192.168.1.4 to any -> 10.0.0.4
+[ Skip steps: i=end d=end f=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 binat on lo0 inet from 192.168.1.5 to 172.16.1.1 -> 10.0.0.5
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 binat on lo0 inet from 192.168.1.6 to 172.16.1.2 -> 10.0.0.6
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 binat on lo0 inet from 192.168.1.7 to 172.16.2.0/24 -> 10.0.0.7
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 binat on lo0 inet from 192.168.2.0/24 to any -> 10.0.5.0/24
+[ Skip steps: i=end d=end f=end p=end sp=end da=10 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 binat on lo0 inet from 192.168.2.0/28 to any -> 10.0.4.0/28
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 binat on lo0 inet from 192.168.2.0/30 to 192.168.3.1 -> 10.0.3.0/30
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 binat on lo0 inet from 192.168.1.8 to ! 172.17.0.0/16 -> 10.0.0.8
+[ Skip steps: 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/pf18.loaded b/regress/sbin/pfctl/pf18.loaded
index e69de29bb2d..5cc786b4fd1 100644
--- a/regress/sbin/pfctl/pf18.loaded
+++ b/regress/sbin/pfctl/pf18.loaded
@@ -0,0 +1,80 @@
+@0 no nat on lo0 inet from 192.168.1.1 to 10.1.2.3
+[ Skip steps: i=16 d=end f=end p=2 sa=2 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 nat on lo0 inet from 192.168.1.1 to any -> 10.0.0.1
+[ Skip steps: i=16 d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 nat on lo0 inet proto tcp from 192.168.1.2 to any -> 10.0.0.2
+[ Skip steps: i=16 d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 nat on lo0 inet proto udp from 192.168.1.3 to any -> 10.0.0.3
+[ Skip steps: i=16 d=end f=end sp=end da=5 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 nat on lo0 inet proto icmp from 192.168.1.4 to any -> 10.0.0.4
+[ Skip steps: i=16 d=end f=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 nat on lo0 inet from 192.168.1.5 to 172.6.1.1 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=8 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 nat on lo0 inet from 192.168.1.5 to 172.14.1.2 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=8 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 nat on lo0 inet from 192.168.1.5 to 172.16.2.0/24 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 nat on lo0 inet from 192.168.1.6 to 172.6.1.1 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=11 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@9 nat on lo0 inet from 192.168.1.6 to 172.14.1.2 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=11 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@10 nat on lo0 inet from 192.168.1.6 to 172.16.2.0/24 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@11 nat on lo0 inet from 192.168.1.7 to 172.6.1.1 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=14 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@12 nat on lo0 inet from 192.168.1.7 to 172.14.1.2 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sa=14 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@13 nat on lo0 inet from 192.168.1.7 to 172.16.2.0/24 -> 127.0.0.1
+[ Skip steps: i=16 d=end f=end p=16 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@14 nat on lo0 inet from 192.168.0.0/24 to any -> (lo0)
+[ Skip steps: i=16 d=end f=end p=16 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@15 nat on lo0 inet from 192.168.1.8 to ! 172.17.0.0/16 -> 10.0.0.8
+[ Skip steps: d=end f=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@16 nat on ! lo0 inet proto udp all -> 10.0.0.8 static-port
+[ Skip steps: i=18 d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@17 nat on ! lo0 inet proto tcp all -> 10.0.0.8 static-port
+[ Skip steps: d=end f=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@18 nat on lo0 inet all -> 10.0.0.8
+[ Skip steps: d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@19 nat on tun0 inet all -> 10.0.0.8
+[ Skip steps: 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/pf19.loaded b/regress/sbin/pfctl/pf19.loaded
index e69de29bb2d..b1c051512aa 100644
--- a/regress/sbin/pfctl/pf19.loaded
+++ b/regress/sbin/pfctl/pf19.loaded
@@ -0,0 +1,36 @@
+@0 rdr on lo0 inet proto tcp from any to 1.2.3.4 port = 2222 -> 10.0.0.10 port 22
+[ Skip steps: i=5 d=end f=end p=end sp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 rdr on lo0 inet proto tcp from 127.0.0.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=5 d=end f=end p=end sa=3 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 rdr on lo0 inet proto tcp from 127.0.0.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=5 d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 rdr on lo0 inet proto tcp from 10.0.1.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=5 d=end f=end p=end sa=5 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 rdr on lo0 inet proto tcp from 10.0.1.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 rdr on lo1 inet proto tcp from 127.0.0.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sa=7 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 rdr on lo1 inet proto tcp from 127.0.0.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 rdr on lo1 inet proto tcp from 10.0.1.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@8 rdr on lo1 inet proto tcp from 10.0.1.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: 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
index e69de29bb2d..d49b581ef48 100644
--- a/regress/sbin/pfctl/pf20.loaded
+++ b/regress/sbin/pfctl/pf20.loaded
@@ -0,0 +1,48 @@
+@0 nat on lo0 inet from 127.0.0.0/24 to 1.2.3.0/25 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=2 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 nat on lo0 inet from 127.0.0.0/24 to 2.4.6.8/30 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 nat on lo0 inet from 10.0.1.0/24 to 1.2.3.0/25 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 nat on lo0 inet from 10.0.1.0/24 to 2.4.6.8/30 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@0 rdr on lo0 inet proto tcp from 127.0.0.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=4 d=end f=end p=end sa=2 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 rdr on lo0 inet proto tcp from 127.0.0.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=4 d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 rdr on lo0 inet proto tcp from 10.0.1.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=4 d=end f=end p=end sa=4 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 rdr on lo0 inet proto tcp from 10.0.1.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 rdr on lo1 inet proto tcp from 127.0.0.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sa=6 sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 rdr on lo1 inet proto tcp from 127.0.0.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 rdr on lo1 inet proto tcp from 10.0.1.0/24 to 1.2.3.0/25 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@7 rdr on lo1 inet proto tcp from 10.0.1.0/24 to 2.4.6.8/30 port = ftp -> 127.0.0.1 port 8021
+[ Skip steps: 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
index e69de29bb2d..7f3e50cea8b 100644
--- a/regress/sbin/pfctl/pf27.loaded
+++ b/regress/sbin/pfctl/pf27.loaded
@@ -0,0 +1,48 @@
+@0 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 nat on lo0 inet from 127.0.0.1 to any -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=4 sp=end da=4 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 nat on lo0 inet from any to 127.0.0.1 -> (lo0)
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 nat on lo0 inet from 127.0.0.1 to any -> (lo0)
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 nat on lo0 inet from any to (lo0) -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@0 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 rdr on lo0 inet from 127.0.0.1 to any -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.1
+[ Skip steps: i=end d=end f=end p=end sa=4 sp=end da=4 dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@3 rdr on lo0 inet from any to 127.0.0.1 -> (lo0)
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@4 rdr on lo0 inet from 127.0.0.1 to any -> (lo0)
+[ Skip steps: i=end d=end f=end p=end sp=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@5 rdr on lo0 inet from any to (lo0) -> 127.0.0.1
+[ Skip steps: 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
index e69de29bb2d..7477a753114 100644
--- a/regress/sbin/pfctl/pf29.loaded
+++ b/regress/sbin/pfctl/pf29.loaded
@@ -0,0 +1,12 @@
+@0 rdr on lo0 inet proto tcp from any to 192.168.0.0/24 port 8000:8010 -> 127.0.0.1 port 8000:8010
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@1 rdr on lo0 inet proto tcp from any to 192.168.0.0/24 port 21:22 -> 127.0.0.1 port 179:180
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@2 rdr on lo0 inet proto tcp from any to 192.168.0.0/24 port 1000:3000 -> 127.0.0.1 port 22
+[ Skip steps: 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
index e69de29bb2d..aaa0e32480d 100644
--- a/regress/sbin/pfctl/pf36.loaded
+++ b/regress/sbin/pfctl/pf36.loaded
@@ -0,0 +1,56 @@
+@0 nat on lo0 inet from any to 127.0.0.1 -> { 127.0.0.1, 127.0.0.2 } round-robin
+[ Skip steps: 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 nat on lo0 inet from any to 127.0.0.1 -> { 127.0.0.1, 127.0.0.2 } round-robin
+[ Skip steps: 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 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 bitmask static-port
+[ Skip steps: 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 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 random
+[ Skip steps: 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 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 source-hash 0x0123456789abcdef0123456789abcdef
+[ Skip steps: 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 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 source-hash 0x4da8e393fd22f577426cfdf7fe52d3b0
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 nat on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 round-robin
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@0 rdr on lo0 inet from any to 127.0.0.1 -> { 127.0.0.1, 127.0.0.2 } round-robin
+[ Skip steps: 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 rdr on lo0 inet from any to 127.0.0.1 -> { 127.0.0.1, 127.0.0.2 } round-robin
+[ Skip steps: 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 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 bitmask
+[ Skip steps: 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 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 random
+[ Skip steps: 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 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 source-hash 0x0123456789abcdef0123456789abcdef
+[ Skip steps: 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 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 source-hash 0x4da8e393fd22f577426cfdf7fe52d3b0
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+
+@6 rdr on lo0 inet from any to 127.0.0.1 -> 127.0.0.0/24 round-robin
+[ Skip steps: i=end d=end f=end p=end sa=end sp=end da=end dp=end ]
+[ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ]
+