summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_var.h
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2009-10-11 05:59:43 +0000
committerjulian <julian@FreeBSD.org>2009-10-11 05:59:43 +0000
commit79c1f884ef6881dc506df5a23203f4cc0a447a35 (patch)
treed481a2e714a210799fdaf274f5482c3e67e5c845 /sys/netinet/ip_var.h
parentc98bb6fb8fe1b6c9437608e3d30fd1cbf47e2e6a (diff)
downloadFreeBSD-src-79c1f884ef6881dc506df5a23203f4cc0a447a35.zip
FreeBSD-src-79c1f884ef6881dc506df5a23203f4cc0a447a35.tar.gz
Virtualize the pfil hooks so that different jails may chose different
packet filters. ALso allows ipfw to be enabled on on ejail and disabled on another. In 8.0 it's a global setting. Sitting aroung in tree waiting to commit for: 2 months MFC after: 2 months
Diffstat (limited to 'sys/netinet/ip_var.h')
-rw-r--r--sys/netinet/ip_var.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h
index 448ba3d..a1d2166 100644
--- a/sys/netinet/ip_var.h
+++ b/sys/netinet/ip_var.h
@@ -244,14 +244,20 @@ extern int (*ip_rsvp_vif)(struct socket *, struct sockopt *);
extern void (*ip_rsvp_force_done)(struct socket *);
extern void (*rsvp_input_p)(struct mbuf *m, int off);
-extern struct pfil_head inet_pfil_hook; /* packet filter hooks */
+VNET_DECLARE(struct pfil_head, inet_pfil_hook); /* packet filter hooks */
+#define V_inet_pfil_hook VNET(inet_pfil_hook)
void in_delayed_cksum(struct mbuf *m);
/* ipfw and dummynet hooks. Most are declared in raw_ip.c */
struct ip_fw_args;
-extern int (*ip_fw_chk_ptr)(struct ip_fw_args *args);
-extern int (*ip_fw_ctl_ptr)(struct sockopt *);
+typedef int (*ip_fw_chk_ptr_t)(struct ip_fw_args *args);
+typedef int (*ip_fw_ctl_ptr_t)(struct sockopt *);
+VNET_DECLARE(ip_fw_chk_ptr_t, ip_fw_chk_ptr);
+VNET_DECLARE(ip_fw_ctl_ptr_t, ip_fw_ctl_ptr);
+#define V_ip_fw_chk_ptr VNET(ip_fw_chk_ptr)
+#define V_ip_fw_ctl_ptr VNET(ip_fw_ctl_ptr)
+
extern int (*ip_dn_ctl_ptr)(struct sockopt *);
extern int (*ip_dn_io_ptr)(struct mbuf **m, int dir, struct ip_fw_args *fwa);
extern void (*ip_dn_ruledel_ptr)(void *); /* in ip_fw2.c */
OpenPOWER on IntegriCloud