diff --git a/sbin/ipf/Makefile b/sbin/ipf/Makefile
index 6126564e9821..075119abd542 100644
--- a/sbin/ipf/Makefile
+++ b/sbin/ipf/Makefile
@@ -1,9 +1,9 @@
 #	$FreeBSD$
 
 SUBDIR=		libipf .WAIT
 SUBDIR+=	ipf ipfs ipfstat ipmon ipnat ippool
 # XXX Temporarily disconnected.
-# SUBDIR+=	ipftest ipresend
+# SUBDIR+=	ipftest ipresend ipsend
 SUBDIR_PARALLEL=
 
 .include <bsd.subdir.mk>
diff --git a/sbin/ipf/Makefile.inc b/sbin/ipf/Makefile.inc
index 19742d3bd7c8..1f256a343b9a 100644
--- a/sbin/ipf/Makefile.inc
+++ b/sbin/ipf/Makefile.inc
@@ -1,32 +1,29 @@
 #	$FreeBSD$
 
 .include <src.opts.mk>
 
 WARNS?=		2
 NO_WFORMAT=
 NO_WARRAY_BOUNDS=
 
-CFLAGS+=	-I${SRCTOP}/contrib/ipfilter
-CFLAGS+=	-I${SRCTOP}/contrib/ipfilter/tools
 CFLAGS+=	-I${SRCTOP}/sys
 CFLAGS+=	-I${SRCTOP}/sys/netpfil/ipfilter
+CFLAGS+=	-I${SRCTOP}/sbin/ipf/common
 CFLAGS+=	-DSTATETOP -D__UIO_EXPOSE
 
 .if ${MK_INET6_SUPPORT} != "no"
 CFLAGS+=	-DUSE_INET6
 .else
 CFLAGS+=	-DNOINET6
 .endif
 
 .if ${.CURDIR:M*/libipf} == ""
 LIBADD+=	ipf
 .endif
 
 CLEANFILES+=	y.tab.c y.tab.h
 
-.PATH:	${SRCTOP}/contrib/ipfilter		\
-	${SRCTOP}/contrib/ipfilter/lib		\
-	${SRCTOP}/contrib/ipfilter/tools	\
-	${SRCTOP}/contrib/ipfilter/man
+.PATH:	${SRCTOP}/sbin/ipf/libipf		\
+	${SRCTOP}/sbin/ipf/common
 
 .include "../Makefile.inc"
diff --git a/contrib/ipfilter/genmask.c b/sbin/ipf/common/genmask.c
similarity index 100%
rename from contrib/ipfilter/genmask.c
rename to sbin/ipf/common/genmask.c
diff --git a/contrib/ipfilter/ipf.h b/sbin/ipf/common/ipf.h
similarity index 100%
rename from contrib/ipfilter/ipf.h
rename to sbin/ipf/common/ipf.h
diff --git a/contrib/ipfilter/tools/ipf_y.y b/sbin/ipf/common/ipf_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipf_y.y
rename to sbin/ipf/common/ipf_y.y
diff --git a/contrib/ipfilter/ipmon.h b/sbin/ipf/common/ipmon.h
similarity index 100%
rename from contrib/ipfilter/ipmon.h
rename to sbin/ipf/common/ipmon.h
diff --git a/contrib/ipfilter/ipt.h b/sbin/ipf/common/ipt.h
similarity index 100%
rename from contrib/ipfilter/ipt.h
rename to sbin/ipf/common/ipt.h
diff --git a/contrib/ipfilter/kmem.h b/sbin/ipf/common/kmem.h
similarity index 100%
rename from contrib/ipfilter/kmem.h
rename to sbin/ipf/common/kmem.h
diff --git a/contrib/ipfilter/tools/lexer.c b/sbin/ipf/common/lexer.c
similarity index 100%
rename from contrib/ipfilter/tools/lexer.c
rename to sbin/ipf/common/lexer.c
diff --git a/contrib/ipfilter/tools/lexer.h b/sbin/ipf/common/lexer.h
similarity index 100%
rename from contrib/ipfilter/tools/lexer.h
rename to sbin/ipf/common/lexer.h
diff --git a/contrib/ipfilter/opts.h b/sbin/ipf/common/opts.h
similarity index 100%
rename from contrib/ipfilter/opts.h
rename to sbin/ipf/common/opts.h
diff --git a/contrib/ipfilter/pcap-ipf.h b/sbin/ipf/common/pcap-ipf.h
similarity index 100%
rename from contrib/ipfilter/pcap-ipf.h
rename to sbin/ipf/common/pcap-ipf.h
diff --git a/contrib/ipfilter/bpf-ipf.h b/sbin/ipf/ipf/bpf-ipf.h
similarity index 100%
rename from contrib/ipfilter/bpf-ipf.h
rename to sbin/ipf/ipf/bpf-ipf.h
diff --git a/contrib/ipfilter/bpf_filter.c b/sbin/ipf/ipf/bpf_filter.c
similarity index 100%
rename from contrib/ipfilter/bpf_filter.c
rename to sbin/ipf/ipf/bpf_filter.c
diff --git a/contrib/ipfilter/man/ipf.4 b/sbin/ipf/ipf/ipf.4
similarity index 100%
rename from contrib/ipfilter/man/ipf.4
rename to sbin/ipf/ipf/ipf.4
diff --git a/contrib/ipfilter/man/ipf.5 b/sbin/ipf/ipf/ipf.5
similarity index 100%
rename from contrib/ipfilter/man/ipf.5
rename to sbin/ipf/ipf/ipf.5
diff --git a/contrib/ipfilter/man/ipf.8 b/sbin/ipf/ipf/ipf.8
similarity index 100%
rename from contrib/ipfilter/man/ipf.8
rename to sbin/ipf/ipf/ipf.8
diff --git a/contrib/ipfilter/tools/ipf.c b/sbin/ipf/ipf/ipf.c
similarity index 100%
rename from contrib/ipfilter/tools/ipf.c
rename to sbin/ipf/ipf/ipf.c
diff --git a/contrib/ipfilter/tools/ipfcomp.c b/sbin/ipf/ipf/ipfcomp.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfcomp.c
rename to sbin/ipf/ipf/ipfcomp.c
diff --git a/contrib/ipfilter/man/ipfilter.4 b/sbin/ipf/ipf/ipfilter.4
similarity index 100%
rename from contrib/ipfilter/man/ipfilter.4
rename to sbin/ipf/ipf/ipfilter.4
diff --git a/contrib/ipfilter/man/ipfilter.5 b/sbin/ipf/ipf/ipfilter.5
similarity index 100%
rename from contrib/ipfilter/man/ipfilter.5
rename to sbin/ipf/ipf/ipfilter.5
diff --git a/contrib/ipfilter/man/ipl.4 b/sbin/ipf/ipf/ipl.4
similarity index 100%
rename from contrib/ipfilter/man/ipl.4
rename to sbin/ipf/ipf/ipl.4
diff --git a/contrib/ipfilter/man/ipfs.8 b/sbin/ipf/ipfs/ipfs.8
similarity index 100%
rename from contrib/ipfilter/man/ipfs.8
rename to sbin/ipf/ipfs/ipfs.8
diff --git a/contrib/ipfilter/tools/ipfs.c b/sbin/ipf/ipfs/ipfs.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfs.c
rename to sbin/ipf/ipfs/ipfs.c
diff --git a/contrib/ipfilter/man/ipfstat.8 b/sbin/ipf/ipfstat/ipfstat.8
similarity index 100%
rename from contrib/ipfilter/man/ipfstat.8
rename to sbin/ipf/ipfstat/ipfstat.8
diff --git a/contrib/ipfilter/tools/ipfstat.c b/sbin/ipf/ipfstat/ipfstat.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfstat.c
rename to sbin/ipf/ipfstat/ipfstat.c
diff --git a/contrib/ipfilter/ip_fil.c b/sbin/ipf/ipftest/ip_fil.c
similarity index 100%
rename from contrib/ipfilter/ip_fil.c
rename to sbin/ipf/ipftest/ip_fil.c
diff --git a/contrib/ipfilter/man/ipftest.1 b/sbin/ipf/ipftest/ipftest.1
similarity index 100%
rename from contrib/ipfilter/man/ipftest.1
rename to sbin/ipf/ipftest/ipftest.1
diff --git a/contrib/ipfilter/tools/ipftest.c b/sbin/ipf/ipftest/ipftest.c
similarity index 100%
rename from contrib/ipfilter/tools/ipftest.c
rename to sbin/ipf/ipftest/ipftest.c
diff --git a/contrib/ipfilter/md5.c b/sbin/ipf/ipftest/md5.c
similarity index 100%
rename from contrib/ipfilter/md5.c
rename to sbin/ipf/ipftest/md5.c
diff --git a/contrib/ipfilter/md5.h b/sbin/ipf/ipftest/md5.h
similarity index 100%
rename from contrib/ipfilter/md5.h
rename to sbin/ipf/ipftest/md5.h
diff --git a/contrib/ipfilter/iplang/BNF b/sbin/ipf/iplang/BNF
similarity index 100%
rename from contrib/ipfilter/iplang/BNF
rename to sbin/ipf/iplang/BNF
diff --git a/contrib/ipfilter/iplang/Makefile b/sbin/ipf/iplang/Makefile
similarity index 100%
rename from contrib/ipfilter/iplang/Makefile
rename to sbin/ipf/iplang/Makefile
diff --git a/contrib/ipfilter/iplang/iplang.h b/sbin/ipf/iplang/iplang.h
similarity index 100%
rename from contrib/ipfilter/iplang/iplang.h
rename to sbin/ipf/iplang/iplang.h
diff --git a/contrib/ipfilter/iplang/iplang.tst b/sbin/ipf/iplang/iplang.tst
similarity index 100%
rename from contrib/ipfilter/iplang/iplang.tst
rename to sbin/ipf/iplang/iplang.tst
diff --git a/contrib/ipfilter/iplang/iplang_l.l b/sbin/ipf/iplang/iplang_l.l
similarity index 100%
rename from contrib/ipfilter/iplang/iplang_l.l
rename to sbin/ipf/iplang/iplang_l.l
diff --git a/contrib/ipfilter/iplang/iplang_y.y b/sbin/ipf/iplang/iplang_y.y
similarity index 100%
rename from contrib/ipfilter/iplang/iplang_y.y
rename to sbin/ipf/iplang/iplang_y.y
diff --git a/contrib/ipfilter/man/ipmon.5 b/sbin/ipf/ipmon/ipmon.5
similarity index 100%
rename from contrib/ipfilter/man/ipmon.5
rename to sbin/ipf/ipmon/ipmon.5
diff --git a/contrib/ipfilter/man/ipmon.8 b/sbin/ipf/ipmon/ipmon.8
similarity index 100%
rename from contrib/ipfilter/man/ipmon.8
rename to sbin/ipf/ipmon/ipmon.8
diff --git a/contrib/ipfilter/tools/ipmon.c b/sbin/ipf/ipmon/ipmon.c
similarity index 100%
rename from contrib/ipfilter/tools/ipmon.c
rename to sbin/ipf/ipmon/ipmon.c
diff --git a/contrib/ipfilter/tools/ipmon_y.y b/sbin/ipf/ipmon/ipmon_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipmon_y.y
rename to sbin/ipf/ipmon/ipmon_y.y
diff --git a/contrib/ipfilter/man/ipnat.1 b/sbin/ipf/ipnat/ipnat.1
similarity index 100%
rename from contrib/ipfilter/man/ipnat.1
rename to sbin/ipf/ipnat/ipnat.1
diff --git a/contrib/ipfilter/man/ipnat.4 b/sbin/ipf/ipnat/ipnat.4
similarity index 100%
rename from contrib/ipfilter/man/ipnat.4
rename to sbin/ipf/ipnat/ipnat.4
diff --git a/contrib/ipfilter/man/ipnat.5 b/sbin/ipf/ipnat/ipnat.5
similarity index 100%
rename from contrib/ipfilter/man/ipnat.5
rename to sbin/ipf/ipnat/ipnat.5
diff --git a/contrib/ipfilter/man/ipnat.8 b/sbin/ipf/ipnat/ipnat.8
similarity index 100%
rename from contrib/ipfilter/man/ipnat.8
rename to sbin/ipf/ipnat/ipnat.8
diff --git a/contrib/ipfilter/tools/ipnat.c b/sbin/ipf/ipnat/ipnat.c
similarity index 100%
rename from contrib/ipfilter/tools/ipnat.c
rename to sbin/ipf/ipnat/ipnat.c
diff --git a/contrib/ipfilter/tools/ipnat_y.y b/sbin/ipf/ipnat/ipnat_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipnat_y.y
rename to sbin/ipf/ipnat/ipnat_y.y
diff --git a/sbin/ipf/ippool/Makefile b/sbin/ipf/ippool/Makefile
index ab350f223f53..674978ed98c2 100644
--- a/sbin/ipf/ippool/Makefile
+++ b/sbin/ipf/ippool/Makefile
@@ -1,32 +1,32 @@
 #	$FreeBSD$
 
 PACKAGE=	ipf
 PROG=		ippool
-SRCS=		${GENHDRS} ippool_y.c ippool_l.c kmem.c ippool.c
+SRCS=		${GENHDRS} ippool_y.c ippool_l.c ippool.c
 MAN=		ippool.5 ippool.8
 CFLAGS+=	-I.
 
 GENHDRS=	ippool_l.h ippool_y.h
 CLEANFILES+=	${GENHDRS} ippool_y.c ippool_l.c
 
 ippool_y.c: ippool_y.y
 	${YACC} -d ${.ALLSRC}
 	sed -e 's/yy/ippool_yy/g' \
 	    -e 's/"ippool_y.y"/"..\/tools\/ippool_y.y"/' \
 	    y.tab.c > ${.TARGET}
 	sed -e 's/yy/ippool_yy/g' \
 	    y.tab.h > ${.TARGET:.c=.h}
 
 ippool_y.h: ippool_y.c
 
 ippool_l.c: lexer.c
 	sed -e 's/yy/ippool_yy/g' \
 	    -e 's/y.tab.h/ippool_y.h/' \
 	    -e 's/lexer.h/ippool_l.h/' \
 	    ${.ALLSRC} > ${.TARGET}
 
 ippool_l.h: lexer.h
 	sed -e 's/yy/ippool_yy/g' \
 	    ${.ALLSRC} > ${.TARGET}
 
 .include <bsd.prog.mk>
diff --git a/contrib/ipfilter/man/ippool.5 b/sbin/ipf/ippool/ippool.5
similarity index 100%
rename from contrib/ipfilter/man/ippool.5
rename to sbin/ipf/ippool/ippool.5
diff --git a/contrib/ipfilter/man/ippool.8 b/sbin/ipf/ippool/ippool.8
similarity index 100%
rename from contrib/ipfilter/man/ippool.8
rename to sbin/ipf/ippool/ippool.8
diff --git a/contrib/ipfilter/tools/ippool.c b/sbin/ipf/ippool/ippool.c
similarity index 100%
rename from contrib/ipfilter/tools/ippool.c
rename to sbin/ipf/ippool/ippool.c
diff --git a/contrib/ipfilter/tools/ippool_y.y b/sbin/ipf/ippool/ippool_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ippool_y.y
rename to sbin/ipf/ippool/ippool_y.y
diff --git a/sbin/ipf/ipresend/Makefile b/sbin/ipf/ipresend/Makefile
index d9b2ed5ef6e3..a4403d537547 100644
--- a/sbin/ipf/ipresend/Makefile
+++ b/sbin/ipf/ipresend/Makefile
@@ -1,10 +1,10 @@
 #	$FreeBSD$
 
 PACKAGE=	ipf
 PROG=		ipresend
 SRCS=		ipresend.c ip.c resend.c sbpf.c sock.c 44arp.c
 MAN=		ipresend.1
 
-.PATH:		${SRCTOP}/contrib/ipfilter/ipsend
+.PATH:		${.CURDIR:H}/ipsend
 
 .include <bsd.prog.mk>
diff --git a/sbin/ipf/ipscan/Makefile b/sbin/ipf/ipscan/Makefile
new file mode 100644
index 000000000000..0c7c8783e785
--- /dev/null
+++ b/sbin/ipf/ipscan/Makefile
@@ -0,0 +1,18 @@
+#	$FreeBSD$
+
+PACKAGE=	ipf
+PROG=		ipscan
+SRCS=		${GENHDRS} ipscan_y.c
+MAN=		ipscan.5 ipscan.8
+MLINKS=		ipscan.5 ipscan.conf.5
+
+GENHDRS+=	ipscan_y.h
+CLEANFILES+=	${GENHDRS} ipscan_y.c
+
+ipscan_y.c: ipscan_y.y
+	${YACC} -d ${.ALLSRC}
+
+ipscan_y.h: ipscan_y.c
+
+
+.include <bsd.prog.mk>
diff --git a/contrib/ipfilter/man/ipscan.5 b/sbin/ipf/ipscan/ipscan.5
similarity index 100%
rename from contrib/ipfilter/man/ipscan.5
rename to sbin/ipf/ipscan/ipscan.5
diff --git a/contrib/ipfilter/man/ipscan.8 b/sbin/ipf/ipscan/ipscan.8
similarity index 100%
rename from contrib/ipfilter/man/ipscan.8
rename to sbin/ipf/ipscan/ipscan.8
diff --git a/contrib/ipfilter/tools/ipscan_y.y b/sbin/ipf/ipscan/ipscan_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipscan_y.y
rename to sbin/ipf/ipscan/ipscan_y.y
diff --git a/contrib/ipfilter/ipsend/44arp.c b/sbin/ipf/ipsend/44arp.c
similarity index 100%
rename from contrib/ipfilter/ipsend/44arp.c
rename to sbin/ipf/ipsend/44arp.c
diff --git a/contrib/ipfilter/ipsend/Crashable b/sbin/ipf/ipsend/Crashable
similarity index 100%
rename from contrib/ipfilter/ipsend/Crashable
rename to sbin/ipf/ipsend/Crashable
diff --git a/contrib/ipfilter/ipsend/Makefile b/sbin/ipf/ipsend/Makefile
similarity index 100%
rename from contrib/ipfilter/ipsend/Makefile
rename to sbin/ipf/ipsend/Makefile
diff --git a/contrib/ipfilter/ipsend/arp.c b/sbin/ipf/ipsend/arp.c
similarity index 100%
rename from contrib/ipfilter/ipsend/arp.c
rename to sbin/ipf/ipsend/arp.c
diff --git a/contrib/ipfilter/ipsend/dlcommon.c b/sbin/ipf/ipsend/dlcommon.c
similarity index 100%
rename from contrib/ipfilter/ipsend/dlcommon.c
rename to sbin/ipf/ipsend/dlcommon.c
diff --git a/contrib/ipfilter/ipsend/dltest.h b/sbin/ipf/ipsend/dltest.h
similarity index 100%
rename from contrib/ipfilter/ipsend/dltest.h
rename to sbin/ipf/ipsend/dltest.h
diff --git a/contrib/ipfilter/ipsend/ip.c b/sbin/ipf/ipsend/ip.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ip.c
rename to sbin/ipf/ipsend/ip.c
diff --git a/contrib/ipfilter/ipsend/ipresend.1 b/sbin/ipf/ipsend/ipresend.1
similarity index 100%
rename from contrib/ipfilter/ipsend/ipresend.1
rename to sbin/ipf/ipsend/ipresend.1
diff --git a/contrib/ipfilter/ipsend/ipresend.c b/sbin/ipf/ipsend/ipresend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipresend.c
rename to sbin/ipf/ipsend/ipresend.c
diff --git a/contrib/ipfilter/ipsend/ipsend.1 b/sbin/ipf/ipsend/ipsend.1
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.1
rename to sbin/ipf/ipsend/ipsend.1
diff --git a/contrib/ipfilter/ipsend/ipsend.5 b/sbin/ipf/ipsend/ipsend.5
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.5
rename to sbin/ipf/ipsend/ipsend.5
diff --git a/contrib/ipfilter/ipsend/ipsend.c b/sbin/ipf/ipsend/ipsend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.c
rename to sbin/ipf/ipsend/ipsend.c
diff --git a/contrib/ipfilter/ipsend/ipsend.h b/sbin/ipf/ipsend/ipsend.h
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.h
rename to sbin/ipf/ipsend/ipsend.h
diff --git a/contrib/ipfilter/ipsend/ipsopt.c b/sbin/ipf/ipsend/ipsopt.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsopt.c
rename to sbin/ipf/ipsend/ipsopt.c
diff --git a/contrib/ipfilter/ipsend/iptest.1 b/sbin/ipf/ipsend/iptest.1
similarity index 100%
rename from contrib/ipfilter/ipsend/iptest.1
rename to sbin/ipf/ipsend/iptest.1
diff --git a/contrib/ipfilter/ipsend/iptest.c b/sbin/ipf/ipsend/iptest.c
similarity index 100%
rename from contrib/ipfilter/ipsend/iptest.c
rename to sbin/ipf/ipsend/iptest.c
diff --git a/contrib/ipfilter/ipsend/iptests.c b/sbin/ipf/ipsend/iptests.c
similarity index 100%
rename from contrib/ipfilter/ipsend/iptests.c
rename to sbin/ipf/ipsend/iptests.c
diff --git a/contrib/ipfilter/ipsend/resend.c b/sbin/ipf/ipsend/resend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/resend.c
rename to sbin/ipf/ipsend/resend.c
diff --git a/contrib/ipfilter/ipsend/sbpf.c b/sbin/ipf/ipsend/sbpf.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sbpf.c
rename to sbin/ipf/ipsend/sbpf.c
diff --git a/contrib/ipfilter/ipsend/sdlpi.c b/sbin/ipf/ipsend/sdlpi.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sdlpi.c
rename to sbin/ipf/ipsend/sdlpi.c
diff --git a/contrib/ipfilter/ipsend/snit.c b/sbin/ipf/ipsend/snit.c
similarity index 100%
rename from contrib/ipfilter/ipsend/snit.c
rename to sbin/ipf/ipsend/snit.c
diff --git a/contrib/ipfilter/ipsend/sock.c b/sbin/ipf/ipsend/sock.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sock.c
rename to sbin/ipf/ipsend/sock.c
diff --git a/contrib/ipfilter/ipsend/sockraw.c b/sbin/ipf/ipsend/sockraw.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sockraw.c
rename to sbin/ipf/ipsend/sockraw.c
diff --git a/contrib/ipfilter/lib/addicmp.c b/sbin/ipf/libipf/addicmp.c
similarity index 100%
rename from contrib/ipfilter/lib/addicmp.c
rename to sbin/ipf/libipf/addicmp.c
diff --git a/contrib/ipfilter/lib/addipopt.c b/sbin/ipf/libipf/addipopt.c
similarity index 100%
rename from contrib/ipfilter/lib/addipopt.c
rename to sbin/ipf/libipf/addipopt.c
diff --git a/contrib/ipfilter/lib/alist_free.c b/sbin/ipf/libipf/alist_free.c
similarity index 100%
rename from contrib/ipfilter/lib/alist_free.c
rename to sbin/ipf/libipf/alist_free.c
diff --git a/contrib/ipfilter/lib/alist_new.c b/sbin/ipf/libipf/alist_new.c
similarity index 100%
rename from contrib/ipfilter/lib/alist_new.c
rename to sbin/ipf/libipf/alist_new.c
diff --git a/contrib/ipfilter/lib/allocmbt.c b/sbin/ipf/libipf/allocmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/allocmbt.c
rename to sbin/ipf/libipf/allocmbt.c
diff --git a/contrib/ipfilter/lib/assigndefined.c b/sbin/ipf/libipf/assigndefined.c
similarity index 100%
rename from contrib/ipfilter/lib/assigndefined.c
rename to sbin/ipf/libipf/assigndefined.c
diff --git a/contrib/ipfilter/lib/bcopywrap.c b/sbin/ipf/libipf/bcopywrap.c
similarity index 100%
rename from contrib/ipfilter/lib/bcopywrap.c
rename to sbin/ipf/libipf/bcopywrap.c
diff --git a/contrib/ipfilter/lib/binprint.c b/sbin/ipf/libipf/binprint.c
similarity index 100%
rename from contrib/ipfilter/lib/binprint.c
rename to sbin/ipf/libipf/binprint.c
diff --git a/contrib/ipfilter/lib/buildopts.c b/sbin/ipf/libipf/buildopts.c
similarity index 100%
rename from contrib/ipfilter/lib/buildopts.c
rename to sbin/ipf/libipf/buildopts.c
diff --git a/contrib/ipfilter/lib/checkrev.c b/sbin/ipf/libipf/checkrev.c
similarity index 100%
rename from contrib/ipfilter/lib/checkrev.c
rename to sbin/ipf/libipf/checkrev.c
diff --git a/contrib/ipfilter/lib/connecttcp.c b/sbin/ipf/libipf/connecttcp.c
similarity index 100%
rename from contrib/ipfilter/lib/connecttcp.c
rename to sbin/ipf/libipf/connecttcp.c
diff --git a/contrib/ipfilter/lib/count4bits.c b/sbin/ipf/libipf/count4bits.c
similarity index 100%
rename from contrib/ipfilter/lib/count4bits.c
rename to sbin/ipf/libipf/count4bits.c
diff --git a/contrib/ipfilter/lib/count6bits.c b/sbin/ipf/libipf/count6bits.c
similarity index 100%
rename from contrib/ipfilter/lib/count6bits.c
rename to sbin/ipf/libipf/count6bits.c
diff --git a/contrib/ipfilter/lib/debug.c b/sbin/ipf/libipf/debug.c
similarity index 100%
rename from contrib/ipfilter/lib/debug.c
rename to sbin/ipf/libipf/debug.c
diff --git a/contrib/ipfilter/lib/dupmbt.c b/sbin/ipf/libipf/dupmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/dupmbt.c
rename to sbin/ipf/libipf/dupmbt.c
diff --git a/contrib/ipfilter/lib/facpri.c b/sbin/ipf/libipf/facpri.c
similarity index 100%
rename from contrib/ipfilter/lib/facpri.c
rename to sbin/ipf/libipf/facpri.c
diff --git a/contrib/ipfilter/lib/facpri.h b/sbin/ipf/libipf/facpri.h
similarity index 100%
rename from contrib/ipfilter/lib/facpri.h
rename to sbin/ipf/libipf/facpri.h
diff --git a/contrib/ipfilter/lib/familyname.c b/sbin/ipf/libipf/familyname.c
similarity index 100%
rename from contrib/ipfilter/lib/familyname.c
rename to sbin/ipf/libipf/familyname.c
diff --git a/contrib/ipfilter/lib/fill6bits.c b/sbin/ipf/libipf/fill6bits.c
similarity index 100%
rename from contrib/ipfilter/lib/fill6bits.c
rename to sbin/ipf/libipf/fill6bits.c
diff --git a/contrib/ipfilter/lib/findword.c b/sbin/ipf/libipf/findword.c
similarity index 100%
rename from contrib/ipfilter/lib/findword.c
rename to sbin/ipf/libipf/findword.c
diff --git a/contrib/ipfilter/lib/flags.c b/sbin/ipf/libipf/flags.c
similarity index 100%
rename from contrib/ipfilter/lib/flags.c
rename to sbin/ipf/libipf/flags.c
diff --git a/contrib/ipfilter/lib/freembt.c b/sbin/ipf/libipf/freembt.c
similarity index 100%
rename from contrib/ipfilter/lib/freembt.c
rename to sbin/ipf/libipf/freembt.c
diff --git a/contrib/ipfilter/lib/ftov.c b/sbin/ipf/libipf/ftov.c
similarity index 100%
rename from contrib/ipfilter/lib/ftov.c
rename to sbin/ipf/libipf/ftov.c
diff --git a/contrib/ipfilter/lib/gethost.c b/sbin/ipf/libipf/gethost.c
similarity index 100%
rename from contrib/ipfilter/lib/gethost.c
rename to sbin/ipf/libipf/gethost.c
diff --git a/contrib/ipfilter/lib/geticmptype.c b/sbin/ipf/libipf/geticmptype.c
similarity index 100%
rename from contrib/ipfilter/lib/geticmptype.c
rename to sbin/ipf/libipf/geticmptype.c
diff --git a/contrib/ipfilter/lib/getifname.c b/sbin/ipf/libipf/getifname.c
similarity index 100%
rename from contrib/ipfilter/lib/getifname.c
rename to sbin/ipf/libipf/getifname.c
diff --git a/contrib/ipfilter/lib/getnattype.c b/sbin/ipf/libipf/getnattype.c
similarity index 100%
rename from contrib/ipfilter/lib/getnattype.c
rename to sbin/ipf/libipf/getnattype.c
diff --git a/contrib/ipfilter/lib/getport.c b/sbin/ipf/libipf/getport.c
similarity index 100%
rename from contrib/ipfilter/lib/getport.c
rename to sbin/ipf/libipf/getport.c
diff --git a/contrib/ipfilter/lib/getportproto.c b/sbin/ipf/libipf/getportproto.c
similarity index 100%
rename from contrib/ipfilter/lib/getportproto.c
rename to sbin/ipf/libipf/getportproto.c
diff --git a/contrib/ipfilter/lib/getproto.c b/sbin/ipf/libipf/getproto.c
similarity index 100%
rename from contrib/ipfilter/lib/getproto.c
rename to sbin/ipf/libipf/getproto.c
diff --git a/contrib/ipfilter/lib/getsumd.c b/sbin/ipf/libipf/getsumd.c
similarity index 100%
rename from contrib/ipfilter/lib/getsumd.c
rename to sbin/ipf/libipf/getsumd.c
diff --git a/contrib/ipfilter/lib/hostname.c b/sbin/ipf/libipf/hostname.c
similarity index 100%
rename from contrib/ipfilter/lib/hostname.c
rename to sbin/ipf/libipf/hostname.c
diff --git a/contrib/ipfilter/lib/icmpcode.c b/sbin/ipf/libipf/icmpcode.c
similarity index 100%
rename from contrib/ipfilter/lib/icmpcode.c
rename to sbin/ipf/libipf/icmpcode.c
diff --git a/contrib/ipfilter/lib/icmptypename.c b/sbin/ipf/libipf/icmptypename.c
similarity index 100%
rename from contrib/ipfilter/lib/icmptypename.c
rename to sbin/ipf/libipf/icmptypename.c
diff --git a/contrib/ipfilter/lib/icmptypes.c b/sbin/ipf/libipf/icmptypes.c
similarity index 100%
rename from contrib/ipfilter/lib/icmptypes.c
rename to sbin/ipf/libipf/icmptypes.c
diff --git a/contrib/ipfilter/lib/inet_addr.c b/sbin/ipf/libipf/inet_addr.c
similarity index 100%
rename from contrib/ipfilter/lib/inet_addr.c
rename to sbin/ipf/libipf/inet_addr.c
diff --git a/contrib/ipfilter/lib/initparse.c b/sbin/ipf/libipf/initparse.c
similarity index 100%
rename from contrib/ipfilter/lib/initparse.c
rename to sbin/ipf/libipf/initparse.c
diff --git a/contrib/ipfilter/lib/interror.c b/sbin/ipf/libipf/interror.c
similarity index 100%
rename from contrib/ipfilter/lib/interror.c
rename to sbin/ipf/libipf/interror.c
diff --git a/contrib/ipfilter/lib/ionames.c b/sbin/ipf/libipf/ionames.c
similarity index 100%
rename from contrib/ipfilter/lib/ionames.c
rename to sbin/ipf/libipf/ionames.c
diff --git a/contrib/ipfilter/lib/ipf_dotuning.c b/sbin/ipf/libipf/ipf_dotuning.c
similarity index 100%
rename from contrib/ipfilter/lib/ipf_dotuning.c
rename to sbin/ipf/libipf/ipf_dotuning.c
diff --git a/contrib/ipfilter/lib/ipf_perror.c b/sbin/ipf/libipf/ipf_perror.c
similarity index 100%
rename from contrib/ipfilter/lib/ipf_perror.c
rename to sbin/ipf/libipf/ipf_perror.c
diff --git a/contrib/ipfilter/lib/ipft_hx.c b/sbin/ipf/libipf/ipft_hx.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_hx.c
rename to sbin/ipf/libipf/ipft_hx.c
diff --git a/contrib/ipfilter/lib/ipft_pc.c b/sbin/ipf/libipf/ipft_pc.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_pc.c
rename to sbin/ipf/libipf/ipft_pc.c
diff --git a/contrib/ipfilter/lib/ipft_tx.c b/sbin/ipf/libipf/ipft_tx.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_tx.c
rename to sbin/ipf/libipf/ipft_tx.c
diff --git a/contrib/ipfilter/lib/ipoptsec.c b/sbin/ipf/libipf/ipoptsec.c
similarity index 100%
rename from contrib/ipfilter/lib/ipoptsec.c
rename to sbin/ipf/libipf/ipoptsec.c
diff --git a/contrib/ipfilter/lib/kmem.c b/sbin/ipf/libipf/kmem.c
similarity index 100%
rename from contrib/ipfilter/lib/kmem.c
rename to sbin/ipf/libipf/kmem.c
diff --git a/contrib/ipfilter/lib/kmem.h b/sbin/ipf/libipf/kmem.h
similarity index 100%
rename from contrib/ipfilter/lib/kmem.h
rename to sbin/ipf/libipf/kmem.h
diff --git a/contrib/ipfilter/lib/kmemcpywrap.c b/sbin/ipf/libipf/kmemcpywrap.c
similarity index 100%
rename from contrib/ipfilter/lib/kmemcpywrap.c
rename to sbin/ipf/libipf/kmemcpywrap.c
diff --git a/contrib/ipfilter/lib/kvatoname.c b/sbin/ipf/libipf/kvatoname.c
similarity index 100%
rename from contrib/ipfilter/lib/kvatoname.c
rename to sbin/ipf/libipf/kvatoname.c
diff --git a/contrib/ipfilter/lib/load_dstlist.c b/sbin/ipf/libipf/load_dstlist.c
similarity index 100%
rename from contrib/ipfilter/lib/load_dstlist.c
rename to sbin/ipf/libipf/load_dstlist.c
diff --git a/contrib/ipfilter/lib/load_dstlistnode.c b/sbin/ipf/libipf/load_dstlistnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_dstlistnode.c
rename to sbin/ipf/libipf/load_dstlistnode.c
diff --git a/contrib/ipfilter/lib/load_file.c b/sbin/ipf/libipf/load_file.c
similarity index 100%
rename from contrib/ipfilter/lib/load_file.c
rename to sbin/ipf/libipf/load_file.c
diff --git a/contrib/ipfilter/lib/load_hash.c b/sbin/ipf/libipf/load_hash.c
similarity index 100%
rename from contrib/ipfilter/lib/load_hash.c
rename to sbin/ipf/libipf/load_hash.c
diff --git a/contrib/ipfilter/lib/load_hashnode.c b/sbin/ipf/libipf/load_hashnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_hashnode.c
rename to sbin/ipf/libipf/load_hashnode.c
diff --git a/contrib/ipfilter/lib/load_http.c b/sbin/ipf/libipf/load_http.c
similarity index 100%
rename from contrib/ipfilter/lib/load_http.c
rename to sbin/ipf/libipf/load_http.c
diff --git a/contrib/ipfilter/lib/load_pool.c b/sbin/ipf/libipf/load_pool.c
similarity index 100%
rename from contrib/ipfilter/lib/load_pool.c
rename to sbin/ipf/libipf/load_pool.c
diff --git a/contrib/ipfilter/lib/load_poolnode.c b/sbin/ipf/libipf/load_poolnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_poolnode.c
rename to sbin/ipf/libipf/load_poolnode.c
diff --git a/contrib/ipfilter/lib/load_url.c b/sbin/ipf/libipf/load_url.c
similarity index 100%
rename from contrib/ipfilter/lib/load_url.c
rename to sbin/ipf/libipf/load_url.c
diff --git a/contrib/ipfilter/lib/mb_hexdump.c b/sbin/ipf/libipf/mb_hexdump.c
similarity index 100%
rename from contrib/ipfilter/lib/mb_hexdump.c
rename to sbin/ipf/libipf/mb_hexdump.c
diff --git a/contrib/ipfilter/lib/msgdsize.c b/sbin/ipf/libipf/msgdsize.c
similarity index 100%
rename from contrib/ipfilter/lib/msgdsize.c
rename to sbin/ipf/libipf/msgdsize.c
diff --git a/contrib/ipfilter/lib/mutex_emul.c b/sbin/ipf/libipf/mutex_emul.c
similarity index 100%
rename from contrib/ipfilter/lib/mutex_emul.c
rename to sbin/ipf/libipf/mutex_emul.c
diff --git a/contrib/ipfilter/lib/nametokva.c b/sbin/ipf/libipf/nametokva.c
similarity index 100%
rename from contrib/ipfilter/lib/nametokva.c
rename to sbin/ipf/libipf/nametokva.c
diff --git a/contrib/ipfilter/lib/nat_setgroupmap.c b/sbin/ipf/libipf/nat_setgroupmap.c
similarity index 100%
rename from contrib/ipfilter/lib/nat_setgroupmap.c
rename to sbin/ipf/libipf/nat_setgroupmap.c
diff --git a/contrib/ipfilter/lib/ntomask.c b/sbin/ipf/libipf/ntomask.c
similarity index 100%
rename from contrib/ipfilter/lib/ntomask.c
rename to sbin/ipf/libipf/ntomask.c
diff --git a/contrib/ipfilter/lib/optname.c b/sbin/ipf/libipf/optname.c
similarity index 100%
rename from contrib/ipfilter/lib/optname.c
rename to sbin/ipf/libipf/optname.c
diff --git a/contrib/ipfilter/lib/optprint.c b/sbin/ipf/libipf/optprint.c
similarity index 100%
rename from contrib/ipfilter/lib/optprint.c
rename to sbin/ipf/libipf/optprint.c
diff --git a/contrib/ipfilter/lib/optprintv6.c b/sbin/ipf/libipf/optprintv6.c
similarity index 100%
rename from contrib/ipfilter/lib/optprintv6.c
rename to sbin/ipf/libipf/optprintv6.c
diff --git a/contrib/ipfilter/lib/optvalue.c b/sbin/ipf/libipf/optvalue.c
similarity index 100%
rename from contrib/ipfilter/lib/optvalue.c
rename to sbin/ipf/libipf/optvalue.c
diff --git a/contrib/ipfilter/lib/parsefields.c b/sbin/ipf/libipf/parsefields.c
similarity index 100%
rename from contrib/ipfilter/lib/parsefields.c
rename to sbin/ipf/libipf/parsefields.c
diff --git a/contrib/ipfilter/lib/parseipfexpr.c b/sbin/ipf/libipf/parseipfexpr.c
similarity index 100%
rename from contrib/ipfilter/lib/parseipfexpr.c
rename to sbin/ipf/libipf/parseipfexpr.c
diff --git a/contrib/ipfilter/lib/parsewhoisline.c b/sbin/ipf/libipf/parsewhoisline.c
similarity index 100%
rename from contrib/ipfilter/lib/parsewhoisline.c
rename to sbin/ipf/libipf/parsewhoisline.c
diff --git a/contrib/ipfilter/lib/poolio.c b/sbin/ipf/libipf/poolio.c
similarity index 100%
rename from contrib/ipfilter/lib/poolio.c
rename to sbin/ipf/libipf/poolio.c
diff --git a/contrib/ipfilter/lib/portname.c b/sbin/ipf/libipf/portname.c
similarity index 100%
rename from contrib/ipfilter/lib/portname.c
rename to sbin/ipf/libipf/portname.c
diff --git a/contrib/ipfilter/lib/prependmbt.c b/sbin/ipf/libipf/prependmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/prependmbt.c
rename to sbin/ipf/libipf/prependmbt.c
diff --git a/contrib/ipfilter/lib/print_toif.c b/sbin/ipf/libipf/print_toif.c
similarity index 100%
rename from contrib/ipfilter/lib/print_toif.c
rename to sbin/ipf/libipf/print_toif.c
diff --git a/contrib/ipfilter/lib/printactiveaddr.c b/sbin/ipf/libipf/printactiveaddr.c
similarity index 100%
rename from contrib/ipfilter/lib/printactiveaddr.c
rename to sbin/ipf/libipf/printactiveaddr.c
diff --git a/contrib/ipfilter/lib/printactivenat.c b/sbin/ipf/libipf/printactivenat.c
similarity index 100%
rename from contrib/ipfilter/lib/printactivenat.c
rename to sbin/ipf/libipf/printactivenat.c
diff --git a/contrib/ipfilter/lib/printaddr.c b/sbin/ipf/libipf/printaddr.c
similarity index 100%
rename from contrib/ipfilter/lib/printaddr.c
rename to sbin/ipf/libipf/printaddr.c
diff --git a/contrib/ipfilter/lib/printaps.c b/sbin/ipf/libipf/printaps.c
similarity index 100%
rename from contrib/ipfilter/lib/printaps.c
rename to sbin/ipf/libipf/printaps.c
diff --git a/contrib/ipfilter/lib/printbuf.c b/sbin/ipf/libipf/printbuf.c
similarity index 100%
rename from contrib/ipfilter/lib/printbuf.c
rename to sbin/ipf/libipf/printbuf.c
diff --git a/contrib/ipfilter/lib/printdstl_live.c b/sbin/ipf/libipf/printdstl_live.c
similarity index 100%
rename from contrib/ipfilter/lib/printdstl_live.c
rename to sbin/ipf/libipf/printdstl_live.c
diff --git a/contrib/ipfilter/lib/printdstlist.c b/sbin/ipf/libipf/printdstlist.c
similarity index 100%
rename from contrib/ipfilter/lib/printdstlist.c
rename to sbin/ipf/libipf/printdstlist.c
diff --git a/contrib/ipfilter/lib/printdstlistdata.c b/sbin/ipf/libipf/printdstlistdata.c
similarity index 100%
rename from contrib/ipfilter/lib/printdstlistdata.c
rename to sbin/ipf/libipf/printdstlistdata.c
diff --git a/contrib/ipfilter/lib/printdstlistnode.c b/sbin/ipf/libipf/printdstlistnode.c
similarity index 100%
rename from contrib/ipfilter/lib/printdstlistnode.c
rename to sbin/ipf/libipf/printdstlistnode.c
diff --git a/contrib/ipfilter/lib/printdstlistpolicy.c b/sbin/ipf/libipf/printdstlistpolicy.c
similarity index 100%
rename from contrib/ipfilter/lib/printdstlistpolicy.c
rename to sbin/ipf/libipf/printdstlistpolicy.c
diff --git a/contrib/ipfilter/lib/printfieldhdr.c b/sbin/ipf/libipf/printfieldhdr.c
similarity index 100%
rename from contrib/ipfilter/lib/printfieldhdr.c
rename to sbin/ipf/libipf/printfieldhdr.c
diff --git a/contrib/ipfilter/lib/printfr.c b/sbin/ipf/libipf/printfr.c
similarity index 100%
rename from contrib/ipfilter/lib/printfr.c
rename to sbin/ipf/libipf/printfr.c
diff --git a/contrib/ipfilter/lib/printfraginfo.c b/sbin/ipf/libipf/printfraginfo.c
similarity index 100%
rename from contrib/ipfilter/lib/printfraginfo.c
rename to sbin/ipf/libipf/printfraginfo.c
diff --git a/contrib/ipfilter/lib/printhash.c b/sbin/ipf/libipf/printhash.c
similarity index 100%
rename from contrib/ipfilter/lib/printhash.c
rename to sbin/ipf/libipf/printhash.c
diff --git a/contrib/ipfilter/lib/printhash_live.c b/sbin/ipf/libipf/printhash_live.c
similarity index 100%
rename from contrib/ipfilter/lib/printhash_live.c
rename to sbin/ipf/libipf/printhash_live.c
diff --git a/contrib/ipfilter/lib/printhashdata.c b/sbin/ipf/libipf/printhashdata.c
similarity index 100%
rename from contrib/ipfilter/lib/printhashdata.c
rename to sbin/ipf/libipf/printhashdata.c
diff --git a/contrib/ipfilter/lib/printhashnode.c b/sbin/ipf/libipf/printhashnode.c
similarity index 100%
rename from contrib/ipfilter/lib/printhashnode.c
rename to sbin/ipf/libipf/printhashnode.c
diff --git a/contrib/ipfilter/lib/printhost.c b/sbin/ipf/libipf/printhost.c
similarity index 100%
rename from contrib/ipfilter/lib/printhost.c
rename to sbin/ipf/libipf/printhost.c
diff --git a/contrib/ipfilter/lib/printhostmap.c b/sbin/ipf/libipf/printhostmap.c
similarity index 100%
rename from contrib/ipfilter/lib/printhostmap.c
rename to sbin/ipf/libipf/printhostmap.c
diff --git a/contrib/ipfilter/lib/printhostmask.c b/sbin/ipf/libipf/printhostmask.c
similarity index 100%
rename from contrib/ipfilter/lib/printhostmask.c
rename to sbin/ipf/libipf/printhostmask.c
diff --git a/contrib/ipfilter/lib/printifname.c b/sbin/ipf/libipf/printifname.c
similarity index 100%
rename from contrib/ipfilter/lib/printifname.c
rename to sbin/ipf/libipf/printifname.c
diff --git a/contrib/ipfilter/lib/printip.c b/sbin/ipf/libipf/printip.c
similarity index 100%
rename from contrib/ipfilter/lib/printip.c
rename to sbin/ipf/libipf/printip.c
diff --git a/contrib/ipfilter/lib/printipfexpr.c b/sbin/ipf/libipf/printipfexpr.c
similarity index 100%
rename from contrib/ipfilter/lib/printipfexpr.c
rename to sbin/ipf/libipf/printipfexpr.c
diff --git a/contrib/ipfilter/lib/printiphdr.c b/sbin/ipf/libipf/printiphdr.c
similarity index 100%
rename from contrib/ipfilter/lib/printiphdr.c
rename to sbin/ipf/libipf/printiphdr.c
diff --git a/contrib/ipfilter/lib/printlog.c b/sbin/ipf/libipf/printlog.c
similarity index 100%
rename from contrib/ipfilter/lib/printlog.c
rename to sbin/ipf/libipf/printlog.c
diff --git a/contrib/ipfilter/lib/printlookup.c b/sbin/ipf/libipf/printlookup.c
similarity index 100%
rename from contrib/ipfilter/lib/printlookup.c
rename to sbin/ipf/libipf/printlookup.c
diff --git a/contrib/ipfilter/lib/printmask.c b/sbin/ipf/libipf/printmask.c
similarity index 100%
rename from contrib/ipfilter/lib/printmask.c
rename to sbin/ipf/libipf/printmask.c
diff --git a/contrib/ipfilter/lib/printnat.c b/sbin/ipf/libipf/printnat.c
similarity index 100%
rename from contrib/ipfilter/lib/printnat.c
rename to sbin/ipf/libipf/printnat.c
diff --git a/contrib/ipfilter/lib/printnataddr.c b/sbin/ipf/libipf/printnataddr.c
similarity index 100%
rename from contrib/ipfilter/lib/printnataddr.c
rename to sbin/ipf/libipf/printnataddr.c
diff --git a/contrib/ipfilter/lib/printnatfield.c b/sbin/ipf/libipf/printnatfield.c
similarity index 100%
rename from contrib/ipfilter/lib/printnatfield.c
rename to sbin/ipf/libipf/printnatfield.c
diff --git a/contrib/ipfilter/lib/printnatside.c b/sbin/ipf/libipf/printnatside.c
similarity index 100%
rename from contrib/ipfilter/lib/printnatside.c
rename to sbin/ipf/libipf/printnatside.c
diff --git a/contrib/ipfilter/lib/printpacket.c b/sbin/ipf/libipf/printpacket.c
similarity index 100%
rename from contrib/ipfilter/lib/printpacket.c
rename to sbin/ipf/libipf/printpacket.c
diff --git a/contrib/ipfilter/lib/printpacket6.c b/sbin/ipf/libipf/printpacket6.c
similarity index 100%
rename from contrib/ipfilter/lib/printpacket6.c
rename to sbin/ipf/libipf/printpacket6.c
diff --git a/contrib/ipfilter/lib/printpool.c b/sbin/ipf/libipf/printpool.c
similarity index 100%
rename from contrib/ipfilter/lib/printpool.c
rename to sbin/ipf/libipf/printpool.c
diff --git a/contrib/ipfilter/lib/printpool_live.c b/sbin/ipf/libipf/printpool_live.c
similarity index 100%
rename from contrib/ipfilter/lib/printpool_live.c
rename to sbin/ipf/libipf/printpool_live.c
diff --git a/contrib/ipfilter/lib/printpooldata.c b/sbin/ipf/libipf/printpooldata.c
similarity index 100%
rename from contrib/ipfilter/lib/printpooldata.c
rename to sbin/ipf/libipf/printpooldata.c
diff --git a/contrib/ipfilter/lib/printpoolfield.c b/sbin/ipf/libipf/printpoolfield.c
similarity index 100%
rename from contrib/ipfilter/lib/printpoolfield.c
rename to sbin/ipf/libipf/printpoolfield.c
diff --git a/contrib/ipfilter/lib/printpoolnode.c b/sbin/ipf/libipf/printpoolnode.c
similarity index 100%
rename from contrib/ipfilter/lib/printpoolnode.c
rename to sbin/ipf/libipf/printpoolnode.c
diff --git a/contrib/ipfilter/lib/printportcmp.c b/sbin/ipf/libipf/printportcmp.c
similarity index 100%
rename from contrib/ipfilter/lib/printportcmp.c
rename to sbin/ipf/libipf/printportcmp.c
diff --git a/contrib/ipfilter/lib/printproto.c b/sbin/ipf/libipf/printproto.c
similarity index 100%
rename from contrib/ipfilter/lib/printproto.c
rename to sbin/ipf/libipf/printproto.c
diff --git a/contrib/ipfilter/lib/printsbuf.c b/sbin/ipf/libipf/printsbuf.c
similarity index 100%
rename from contrib/ipfilter/lib/printsbuf.c
rename to sbin/ipf/libipf/printsbuf.c
diff --git a/contrib/ipfilter/lib/printstate.c b/sbin/ipf/libipf/printstate.c
similarity index 100%
rename from contrib/ipfilter/lib/printstate.c
rename to sbin/ipf/libipf/printstate.c
diff --git a/contrib/ipfilter/lib/printstatefields.c b/sbin/ipf/libipf/printstatefields.c
similarity index 100%
rename from contrib/ipfilter/lib/printstatefields.c
rename to sbin/ipf/libipf/printstatefields.c
diff --git a/contrib/ipfilter/lib/printtcpflags.c b/sbin/ipf/libipf/printtcpflags.c
similarity index 100%
rename from contrib/ipfilter/lib/printtcpflags.c
rename to sbin/ipf/libipf/printtcpflags.c
diff --git a/contrib/ipfilter/lib/printtqtable.c b/sbin/ipf/libipf/printtqtable.c
similarity index 100%
rename from contrib/ipfilter/lib/printtqtable.c
rename to sbin/ipf/libipf/printtqtable.c
diff --git a/contrib/ipfilter/lib/printtunable.c b/sbin/ipf/libipf/printtunable.c
similarity index 100%
rename from contrib/ipfilter/lib/printtunable.c
rename to sbin/ipf/libipf/printtunable.c
diff --git a/contrib/ipfilter/lib/printunit.c b/sbin/ipf/libipf/printunit.c
similarity index 100%
rename from contrib/ipfilter/lib/printunit.c
rename to sbin/ipf/libipf/printunit.c
diff --git a/contrib/ipfilter/lib/remove_hash.c b/sbin/ipf/libipf/remove_hash.c
similarity index 100%
rename from contrib/ipfilter/lib/remove_hash.c
rename to sbin/ipf/libipf/remove_hash.c
diff --git a/contrib/ipfilter/lib/remove_hashnode.c b/sbin/ipf/libipf/remove_hashnode.c
similarity index 100%
rename from contrib/ipfilter/lib/remove_hashnode.c
rename to sbin/ipf/libipf/remove_hashnode.c
diff --git a/contrib/ipfilter/lib/remove_pool.c b/sbin/ipf/libipf/remove_pool.c
similarity index 100%
rename from contrib/ipfilter/lib/remove_pool.c
rename to sbin/ipf/libipf/remove_pool.c
diff --git a/contrib/ipfilter/lib/remove_poolnode.c b/sbin/ipf/libipf/remove_poolnode.c
similarity index 100%
rename from contrib/ipfilter/lib/remove_poolnode.c
rename to sbin/ipf/libipf/remove_poolnode.c
diff --git a/contrib/ipfilter/lib/resetlexer.c b/sbin/ipf/libipf/resetlexer.c
similarity index 100%
rename from contrib/ipfilter/lib/resetlexer.c
rename to sbin/ipf/libipf/resetlexer.c
diff --git a/contrib/ipfilter/lib/rwlock_emul.c b/sbin/ipf/libipf/rwlock_emul.c
similarity index 100%
rename from contrib/ipfilter/lib/rwlock_emul.c
rename to sbin/ipf/libipf/rwlock_emul.c
diff --git a/contrib/ipfilter/lib/save_execute.c b/sbin/ipf/libipf/save_execute.c
similarity index 100%
rename from contrib/ipfilter/lib/save_execute.c
rename to sbin/ipf/libipf/save_execute.c
diff --git a/contrib/ipfilter/lib/save_file.c b/sbin/ipf/libipf/save_file.c
similarity index 100%
rename from contrib/ipfilter/lib/save_file.c
rename to sbin/ipf/libipf/save_file.c
diff --git a/contrib/ipfilter/lib/save_nothing.c b/sbin/ipf/libipf/save_nothing.c
similarity index 100%
rename from contrib/ipfilter/lib/save_nothing.c
rename to sbin/ipf/libipf/save_nothing.c
diff --git a/contrib/ipfilter/lib/save_syslog.c b/sbin/ipf/libipf/save_syslog.c
similarity index 100%
rename from contrib/ipfilter/lib/save_syslog.c
rename to sbin/ipf/libipf/save_syslog.c
diff --git a/contrib/ipfilter/lib/save_v1trap.c b/sbin/ipf/libipf/save_v1trap.c
similarity index 100%
rename from contrib/ipfilter/lib/save_v1trap.c
rename to sbin/ipf/libipf/save_v1trap.c
diff --git a/contrib/ipfilter/lib/save_v2trap.c b/sbin/ipf/libipf/save_v2trap.c
similarity index 100%
rename from contrib/ipfilter/lib/save_v2trap.c
rename to sbin/ipf/libipf/save_v2trap.c
diff --git a/contrib/ipfilter/lib/tcp_flags.c b/sbin/ipf/libipf/tcp_flags.c
similarity index 100%
rename from contrib/ipfilter/lib/tcp_flags.c
rename to sbin/ipf/libipf/tcp_flags.c
diff --git a/contrib/ipfilter/lib/tcpflags.c b/sbin/ipf/libipf/tcpflags.c
similarity index 100%
rename from contrib/ipfilter/lib/tcpflags.c
rename to sbin/ipf/libipf/tcpflags.c
diff --git a/contrib/ipfilter/lib/tcpoptnames.c b/sbin/ipf/libipf/tcpoptnames.c
similarity index 100%
rename from contrib/ipfilter/lib/tcpoptnames.c
rename to sbin/ipf/libipf/tcpoptnames.c
diff --git a/contrib/ipfilter/lib/v6ionames.c b/sbin/ipf/libipf/v6ionames.c
similarity index 100%
rename from contrib/ipfilter/lib/v6ionames.c
rename to sbin/ipf/libipf/v6ionames.c
diff --git a/contrib/ipfilter/lib/v6optvalue.c b/sbin/ipf/libipf/v6optvalue.c
similarity index 100%
rename from contrib/ipfilter/lib/v6optvalue.c
rename to sbin/ipf/libipf/v6optvalue.c
diff --git a/contrib/ipfilter/lib/var.c b/sbin/ipf/libipf/var.c
similarity index 100%
rename from contrib/ipfilter/lib/var.c
rename to sbin/ipf/libipf/var.c
diff --git a/contrib/ipfilter/lib/verbose.c b/sbin/ipf/libipf/verbose.c
similarity index 100%
rename from contrib/ipfilter/lib/verbose.c
rename to sbin/ipf/libipf/verbose.c
diff --git a/contrib/ipfilter/lib/vtof.c b/sbin/ipf/libipf/vtof.c
similarity index 100%
rename from contrib/ipfilter/lib/vtof.c
rename to sbin/ipf/libipf/vtof.c
diff --git a/contrib/ipfilter/BNF b/share/examples/ipfilter/BNF
similarity index 100%
rename from contrib/ipfilter/BNF
rename to share/examples/ipfilter/BNF
diff --git a/share/examples/ipfilter/Makefile b/share/examples/ipfilter/Makefile
index 18c8ac734406..f245ebe59100 100644
--- a/share/examples/ipfilter/Makefile
+++ b/share/examples/ipfilter/Makefile
@@ -1,34 +1,32 @@
 # $FreeBSD$
 
 PACKAGE=ipf
 FILES=	README
 
 # dist sample files
-.PATH: ${SRCTOP}/contrib/ipfilter/rules \
-       ${SRCTOP}/contrib/ipfilter \
-       ${SRCTOP}/contrib/ipfilter/man
+.PATH: ${.CURDIR}/rules
 FILES+=	BASIC.NAT BASIC_1.FW BASIC_2.FW \
 	example.1 example.2 example.3 example.4 example.5 \
 	example.6 example.7 example.8 example.9 example.10 \
 	example.11 example.12 example.13 example.sr firewall \
 	ftp-proxy ftppxy nat-setup nat.eg server tcpstate
 
 # ftp://ftp.OpenBSD.org/pub/OpenBSD/src/share/ipf/ sample files.
 FILES+=	example.14 firewall.1 firewall.2 \
 	ipf.conf.permissive ipf.conf.restrictive \
 	ipf.conf.sample ipnat.conf.sample
 
 # http://www.obfuscation.org/ipf/ how-to
 FILES+=	ipf-howto.txt
 
 # http://coombs.anu.edu.au/~avalon/ sample files
 FILES+=	examples.txt rules.txt
 
 BINMODE=0755
 SCRIPTS=	mkfilters
 MAN=		mkfilters.1
 
 SCRIPTSDIR=	${SHAREDIR}/examples/ipfilter
 FILESDIR=	${SHAREDIR}/examples/ipfilter
 
 .include <bsd.prog.mk>
diff --git a/contrib/ipfilter/l4check/Makefile b/share/examples/ipfilter/l4check/Makefile
similarity index 100%
rename from contrib/ipfilter/l4check/Makefile
rename to share/examples/ipfilter/l4check/Makefile
diff --git a/contrib/ipfilter/l4check/http.check b/share/examples/ipfilter/l4check/http.check
similarity index 100%
rename from contrib/ipfilter/l4check/http.check
rename to share/examples/ipfilter/l4check/http.check
diff --git a/contrib/ipfilter/l4check/http.ok b/share/examples/ipfilter/l4check/http.ok
similarity index 100%
rename from contrib/ipfilter/l4check/http.ok
rename to share/examples/ipfilter/l4check/http.ok
diff --git a/contrib/ipfilter/l4check/l4check.c b/share/examples/ipfilter/l4check/l4check.c
similarity index 100%
rename from contrib/ipfilter/l4check/l4check.c
rename to share/examples/ipfilter/l4check/l4check.c
diff --git a/contrib/ipfilter/l4check/l4check.conf b/share/examples/ipfilter/l4check/l4check.conf
similarity index 100%
rename from contrib/ipfilter/l4check/l4check.conf
rename to share/examples/ipfilter/l4check/l4check.conf
diff --git a/contrib/ipfilter/mkfilters b/share/examples/ipfilter/mkfilters
similarity index 100%
rename from contrib/ipfilter/mkfilters
rename to share/examples/ipfilter/mkfilters
diff --git a/contrib/ipfilter/man/mkfilters.1 b/share/examples/ipfilter/mkfilters.1
similarity index 100%
rename from contrib/ipfilter/man/mkfilters.1
rename to share/examples/ipfilter/mkfilters.1
diff --git a/contrib/ipfilter/mlfk_rule.c b/share/examples/ipfilter/mlfk_rule.c
similarity index 100%
rename from contrib/ipfilter/mlfk_rule.c
rename to share/examples/ipfilter/mlfk_rule.c
diff --git a/contrib/ipfilter/rules/BASIC.NAT b/share/examples/ipfilter/rules/BASIC.NAT
similarity index 100%
rename from contrib/ipfilter/rules/BASIC.NAT
rename to share/examples/ipfilter/rules/BASIC.NAT
diff --git a/contrib/ipfilter/rules/BASIC_1.FW b/share/examples/ipfilter/rules/BASIC_1.FW
similarity index 100%
rename from contrib/ipfilter/rules/BASIC_1.FW
rename to share/examples/ipfilter/rules/BASIC_1.FW
diff --git a/contrib/ipfilter/rules/BASIC_2.FW b/share/examples/ipfilter/rules/BASIC_2.FW
similarity index 100%
rename from contrib/ipfilter/rules/BASIC_2.FW
rename to share/examples/ipfilter/rules/BASIC_2.FW
diff --git a/contrib/ipfilter/rules/example.1 b/share/examples/ipfilter/rules/example.1
similarity index 100%
rename from contrib/ipfilter/rules/example.1
rename to share/examples/ipfilter/rules/example.1
diff --git a/contrib/ipfilter/rules/example.10 b/share/examples/ipfilter/rules/example.10
similarity index 100%
rename from contrib/ipfilter/rules/example.10
rename to share/examples/ipfilter/rules/example.10
diff --git a/contrib/ipfilter/rules/example.11 b/share/examples/ipfilter/rules/example.11
similarity index 100%
rename from contrib/ipfilter/rules/example.11
rename to share/examples/ipfilter/rules/example.11
diff --git a/contrib/ipfilter/rules/example.12 b/share/examples/ipfilter/rules/example.12
similarity index 100%
rename from contrib/ipfilter/rules/example.12
rename to share/examples/ipfilter/rules/example.12
diff --git a/contrib/ipfilter/rules/example.13 b/share/examples/ipfilter/rules/example.13
similarity index 100%
rename from contrib/ipfilter/rules/example.13
rename to share/examples/ipfilter/rules/example.13
diff --git a/contrib/ipfilter/rules/example.2 b/share/examples/ipfilter/rules/example.2
similarity index 100%
rename from contrib/ipfilter/rules/example.2
rename to share/examples/ipfilter/rules/example.2
diff --git a/contrib/ipfilter/rules/example.3 b/share/examples/ipfilter/rules/example.3
similarity index 100%
rename from contrib/ipfilter/rules/example.3
rename to share/examples/ipfilter/rules/example.3
diff --git a/contrib/ipfilter/rules/example.4 b/share/examples/ipfilter/rules/example.4
similarity index 100%
rename from contrib/ipfilter/rules/example.4
rename to share/examples/ipfilter/rules/example.4
diff --git a/contrib/ipfilter/rules/example.5 b/share/examples/ipfilter/rules/example.5
similarity index 100%
rename from contrib/ipfilter/rules/example.5
rename to share/examples/ipfilter/rules/example.5
diff --git a/contrib/ipfilter/rules/example.6 b/share/examples/ipfilter/rules/example.6
similarity index 100%
rename from contrib/ipfilter/rules/example.6
rename to share/examples/ipfilter/rules/example.6
diff --git a/contrib/ipfilter/rules/example.7 b/share/examples/ipfilter/rules/example.7
similarity index 100%
rename from contrib/ipfilter/rules/example.7
rename to share/examples/ipfilter/rules/example.7
diff --git a/contrib/ipfilter/rules/example.8 b/share/examples/ipfilter/rules/example.8
similarity index 100%
rename from contrib/ipfilter/rules/example.8
rename to share/examples/ipfilter/rules/example.8
diff --git a/contrib/ipfilter/rules/example.9 b/share/examples/ipfilter/rules/example.9
similarity index 100%
rename from contrib/ipfilter/rules/example.9
rename to share/examples/ipfilter/rules/example.9
diff --git a/contrib/ipfilter/rules/example.sr b/share/examples/ipfilter/rules/example.sr
similarity index 100%
rename from contrib/ipfilter/rules/example.sr
rename to share/examples/ipfilter/rules/example.sr
diff --git a/contrib/ipfilter/rules/firewall b/share/examples/ipfilter/rules/firewall
similarity index 100%
rename from contrib/ipfilter/rules/firewall
rename to share/examples/ipfilter/rules/firewall
diff --git a/contrib/ipfilter/rules/ftp-proxy b/share/examples/ipfilter/rules/ftp-proxy
similarity index 100%
rename from contrib/ipfilter/rules/ftp-proxy
rename to share/examples/ipfilter/rules/ftp-proxy
diff --git a/contrib/ipfilter/rules/ftppxy b/share/examples/ipfilter/rules/ftppxy
similarity index 100%
rename from contrib/ipfilter/rules/ftppxy
rename to share/examples/ipfilter/rules/ftppxy
diff --git a/contrib/ipfilter/rules/ip_rules b/share/examples/ipfilter/rules/ip_rules
similarity index 100%
rename from contrib/ipfilter/rules/ip_rules
rename to share/examples/ipfilter/rules/ip_rules
diff --git a/contrib/ipfilter/rules/ipmon.conf b/share/examples/ipfilter/rules/ipmon.conf
similarity index 100%
rename from contrib/ipfilter/rules/ipmon.conf
rename to share/examples/ipfilter/rules/ipmon.conf
diff --git a/contrib/ipfilter/rules/nat-setup b/share/examples/ipfilter/rules/nat-setup
similarity index 100%
rename from contrib/ipfilter/rules/nat-setup
rename to share/examples/ipfilter/rules/nat-setup
diff --git a/contrib/ipfilter/rules/nat.eg b/share/examples/ipfilter/rules/nat.eg
similarity index 100%
rename from contrib/ipfilter/rules/nat.eg
rename to share/examples/ipfilter/rules/nat.eg
diff --git a/contrib/ipfilter/rules/pool.conf b/share/examples/ipfilter/rules/pool.conf
similarity index 100%
rename from contrib/ipfilter/rules/pool.conf
rename to share/examples/ipfilter/rules/pool.conf
diff --git a/contrib/ipfilter/rules/server b/share/examples/ipfilter/rules/server
similarity index 100%
rename from contrib/ipfilter/rules/server
rename to share/examples/ipfilter/rules/server
diff --git a/contrib/ipfilter/rules/tcpstate b/share/examples/ipfilter/rules/tcpstate
similarity index 100%
rename from contrib/ipfilter/rules/tcpstate
rename to share/examples/ipfilter/rules/tcpstate
diff --git a/contrib/ipfilter/samples/Makefile b/share/examples/ipfilter/samples/Makefile
similarity index 100%
rename from contrib/ipfilter/samples/Makefile
rename to share/examples/ipfilter/samples/Makefile
diff --git a/contrib/ipfilter/samples/ipfilter-pb.gif b/share/examples/ipfilter/samples/ipfilter-pb.gif
similarity index 100%
rename from contrib/ipfilter/samples/ipfilter-pb.gif
rename to share/examples/ipfilter/samples/ipfilter-pb.gif
diff --git a/contrib/ipfilter/samples/proxy.c b/share/examples/ipfilter/samples/proxy.c
similarity index 100%
rename from contrib/ipfilter/samples/proxy.c
rename to share/examples/ipfilter/samples/proxy.c
diff --git a/contrib/ipfilter/samples/relay.c b/share/examples/ipfilter/samples/relay.c
similarity index 100%
rename from contrib/ipfilter/samples/relay.c
rename to share/examples/ipfilter/samples/relay.c
diff --git a/contrib/ipfilter/samples/userauth.c b/share/examples/ipfilter/samples/userauth.c
similarity index 100%
rename from contrib/ipfilter/samples/userauth.c
rename to share/examples/ipfilter/samples/userauth.c