diff options
author | melifaro <melifaro@FreeBSD.org> | 2012-09-04 19:43:26 +0000 |
---|---|---|
committer | melifaro <melifaro@FreeBSD.org> | 2012-09-04 19:43:26 +0000 |
commit | 1fbae66b6e67117d899f9c10f12c000c4584d32c (patch) | |
tree | a8022a21cc0401215271f1f78d4f500650942824 /sys/net/if_var.h | |
parent | 599115bdcb3939cdc5164a09fd18ccfe4c310ab1 (diff) | |
download | FreeBSD-src-1fbae66b6e67117d899f9c10f12c000c4584d32c.zip FreeBSD-src-1fbae66b6e67117d899f9c10f12c000c4584d32c.tar.gz |
Introduce new link-layer PFIL hook V_link_pfil_hook.
Merge ether_ipfw_chk() and part of bridge_pfil() into
unified ipfw_check_frame() function called by PFIL.
This change was suggested by rwatson? @ DevSummit.
Remove ipfw headers from ether/bridge code since they are unneeded now.
Note this thange introduce some (temporary) performance penalty since
PFIL read lock has to be acquired for every link-level packet.
MFC after: 3 weeks
Diffstat (limited to 'sys/net/if_var.h')
-rw-r--r-- | sys/net/if_var.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net/if_var.h b/sys/net/if_var.h index a244359..74491c6 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -99,6 +99,9 @@ TAILQ_HEAD(ifaddrhead, ifaddr); /* instantiation is preserved in the list */ TAILQ_HEAD(ifmultihead, ifmultiaddr); TAILQ_HEAD(ifgrouphead, ifg_group); +VNET_DECLARE(struct pfil_head, link_pfil_hook); /* packet filter hooks */ +#define V_link_pfil_hook VNET(link_pfil_hook) + /* * Structure defining a queue for a network interface. */ |