pf: Update packet filter to the version that comes with OpenBSD 4.1
The original OpenBSD 4.1 defaults to "keep state flags S/SA" for
all pass rules. In contrast to that we default to "no state". As
in earlier verions of pf in DragonFly the default keep-state
policy can still be set with the keep-policy option (e.g. "set
keep-policy keep state (pickups)").
DragonFly additions to pf have been kept: fairq support,
pickups.
Detailed Info on changes/additions:
* ALTQ: Fix altq to work with pf_mtag
Patch by Matthew Dillon
* libkern: Revert commit e104539
strchr was added to libkern.h together with strrch
* net/if.h: add interface groups
Imported from FreeBSD.
* netinet6/in6.h: add macros
IN6_IS_ADDR_MC_INTFACELOCAL
IN6_IS_SCOPE_EMBED
PV6_ADDR_SCOPE_INTFACELOCAL
* sys/libkern.h: Add strchr and strrchr as inline functions
Brought in from FreeBSD
* sys/net/if_var.h: Import interface groups
Import interface groups and event handlers from FreeBSD
* sys/net/if_var.h: add if_pf_kif, if_groups to struct ifnet
obtained from: Open/FreeBSD
* net/if_types.h: add IFT_ENC to non-IATA-assignments
obtained from Open/FreeBSD
* net/bpf.c: add bpf_mtap_hdr from OpenBSD
Con up a minimal dummy header to pacify bpf. Allocate
(only) a struct m_hdr on the stack.
- [DBH] include/string.h
- [DBH] share/man/man4/pf.4
- [DBH] share/man/man4/pflog.4
- [DBH] share/man/man4/pfsync.4
- [DBH] sys/conf/files
- [DBH] sys/libkern/strchr.c
- [DBH] sys/net/altq/altq_cbq.c
- [DBH] sys/net/altq/altq_fairq.c
- [DBH] sys/net/altq/altq_hfsc.c
- [DBH] sys/net/altq/altq_priq.c
- [DBH] sys/net/altq/altq_red.c
- [DBH] sys/net/altq/altq_subr.c
- [DBH] sys/net/altq/altq_var.h
- [DBH] sys/net/bpf.c
- [DBH] sys/net/bpf.h
- [DBH] sys/net/if.h
- [DBH] sys/net/if_types.h
- [DBH] sys/net/if_var.h
- [DBH] sys/net/pf/Makefile
- [DBH] sys/net/pf/if_pflog.c
- [DBH] sys/net/pf/if_pflog.h
- [DBH] sys/net/pf/if_pfsync.c
- [DBH] sys/net/pf/if_pfsync.h
- [DBH] sys/net/pf/pf.c
- [DBH] sys/net/pf/pf_if.c
- [DBH] sys/net/pf/pf_ioctl.c
- [DBH] sys/net/pf/pf_norm.c
- [DBH] sys/net/pf/pf_osfp.c
- [DBH] sys/net/pf/pf_ruleset.c
- [DBH] sys/net/pf/pf_subr.c
- [DBH] sys/net/pf/pf_table.c
- [DBH] sys/net/pf/pfvar.h
- [DBH] sys/netinet6/in6.h
- [DBH] sys/sys/libkern.h
- [DBH] sys/sys/mbuf.h
- [DBH] sys/sys/sockio.h
- [DBH] usr.sbin/authpf/Makefile
- [DBH] usr.sbin/authpf/authpf.c
- [DBH] usr.sbin/authpf/pathnames.h
- [DBH] usr.sbin/pfctl/Makefile
- [DBH] usr.sbin/pfctl/parse.y
- [DBH] usr.sbin/pfctl/pf.conf.5
- [DBH] usr.sbin/pfctl/pf.os.5
- [DBH] usr.sbin/pfctl/pf_print_state.c
- [DBH] usr.sbin/pfctl/pfctl.8
- [DBH] usr.sbin/pfctl/pfctl.c
- [DBH] usr.sbin/pfctl/pfctl.h
- [DBH] usr.sbin/pfctl/pfctl_altq.c
- [DBH] usr.sbin/pfctl/pfctl_optimize.c
- [DBH] usr.sbin/pfctl/pfctl_osfp.c
- [DBH] usr.sbin/pfctl/pfctl_parser.c
- [DBH] usr.sbin/pfctl/pfctl_parser.h
- [DBH] usr.sbin/pfctl/pfctl_qstats.c
- [DBH] usr.sbin/pfctl/pfctl_radix.c
- [DBH] usr.sbin/pfctl/pfctl_table.c