summaryrefslogtreecommitdiffstats
path: root/sys/netpfil/pf/pf_ioctl.c
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2015-01-06 16:47:02 +0000
committerrodrigc <rodrigc@FreeBSD.org>2015-01-06 16:47:02 +0000
commit89bede2eff3c3f719c21c7a660788dc517c50a27 (patch)
tree7519379f147c8ff3e9093a103d00b70b8ff1864e /sys/netpfil/pf/pf_ioctl.c
parentc3d19543428cfff617547a6c8786858df5b9d09c (diff)
downloadFreeBSD-src-89bede2eff3c3f719c21c7a660788dc517c50a27.zip
FreeBSD-src-89bede2eff3c3f719c21c7a660788dc517c50a27.tar.gz
Reapply previous patch to fix build.
PR: 194515
Diffstat (limited to 'sys/netpfil/pf/pf_ioctl.c')
-rw-r--r--sys/netpfil/pf/pf_ioctl.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
index db4fdde..ef479bc 100644
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -87,7 +87,7 @@ __FBSDID("$FreeBSD$");
#include <altq/altq.h>
#endif
-static int pfattach(void);
+static int pf_vnet_init(void);
static struct pf_pool *pf_get_pool(char *, u_int32_t, u_int8_t, u_int32_t,
u_int8_t, u_int8_t, u_int8_t);
@@ -204,17 +204,20 @@ pfsync_defer_t *pfsync_defer_ptr = NULL;
pflog_packet_t *pflog_packet_ptr = NULL;
static int
-pfattach(void)
+pf_vnet_init(void)
{
u_int32_t *my_timeout = V_pf_default_rule.timeout;
int error;
if (IS_DEFAULT_VNET(curvnet))
pf_mtag_initialize();
- pf_initialize();
+ TAILQ_INIT(&V_pf_tags);
+ TAILQ_INIT(&V_pf_qids);
+
+ pf_vnet_initialize();
pfr_initialize();
- pfi_initialize();
- pf_normalize_init();
+ pfi_vnet_initialize();
+ pf_vnet_normalize_init();
V_pf_limits[PF_LIMIT_STATES].limit = PFSTATE_HIWAT;
V_pf_limits[PF_LIMIT_SRC_NODES].limit = PFSNODE_HIWAT;
@@ -3717,27 +3720,11 @@ dehook_pf(void)
static int
pf_load(void)
{
- int error;
-
- VNET_ITERATOR_DECL(vnet_iter);
-
- VNET_LIST_RLOCK();
- VNET_FOREACH(vnet_iter) {
- CURVNET_SET(vnet_iter);
- V_pf_pfil_hooked = 0;
- V_pf_end_threads = 0;
- TAILQ_INIT(&V_pf_tags);
- TAILQ_INIT(&V_pf_qids);
- CURVNET_RESTORE();
- }
- VNET_LIST_RUNLOCK();
rw_init(&pf_rules_lock, "pf rulesets");
sx_init(&pf_ioctl_lock, "pf ioctl");
pf_dev = make_dev(&pf_cdevsw, 0, 0, 0, 0600, PF_NAME);
- if ((error = pfattach()) != 0)
- return (error);
return (0);
}
@@ -3810,6 +3797,5 @@ static moduledata_t pf_mod = {
DECLARE_MODULE(pf, pf_mod, SI_SUB_PSEUDO, SI_ORDER_FIRST);
MODULE_VERSION(pf, PF_MODVER);
-
-VNET_SYSINIT(vnet_pf_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY - 255,
- vnet_pf_init, NULL);
+VNET_SYSINIT(pf_vnet_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY - 255,
+ pf_vnet_init, NULL);
OpenPOWER on IntegriCloud