summaryrefslogtreecommitdiff
path: root/include/linux/netfilter_bridge.h
diff options
context:
space:
mode:
authorMichael Milner <milner@blissisland.ca>2007-04-13 05:14:23 (GMT)
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 05:28:57 (GMT)
commit516299d2f5b6f9703b9b388faf91898dc636a678 (patch)
tree909b7003188f0f100e0782c9620515e39cba1603 /include/linux/netfilter_bridge.h
parent91d73c15cb165195bc8c3d6a35e30df454b1485b (diff)
downloadlinux-fsl-qoriq-516299d2f5b6f9703b9b388faf91898dc636a678.tar.xz
[NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic
The attached patch by Michael Milner adds support for using iptables and ip6tables on bridged traffic encapsulated in ppoe frames, similar to what's already supported for vlan. Signed-off-by: Michael Milner <milner@blissisland.ca> Signed-off-by: Bart De Schuymer <bdschuym@pandora.be> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netfilter_bridge.h')
-rw-r--r--include/linux/netfilter_bridge.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/netfilter_bridge.h b/include/linux/netfilter_bridge.h
index 55689f3..1906003 100644
--- a/include/linux/netfilter_bridge.h
+++ b/include/linux/netfilter_bridge.h
@@ -7,6 +7,7 @@
#include <linux/netfilter.h>
#include <linux/if_ether.h>
#include <linux/if_vlan.h>
+#include <linux/if_pppox.h>
/* Bridge Hooks */
/* After promisc drops, checksum checks. */
@@ -58,8 +59,14 @@ static inline int nf_bridge_maybe_copy_header(struct sk_buff *skb)
* enough room for the encapsulating header (if there is one). */
static inline int nf_bridge_pad(const struct sk_buff *skb)
{
- return (skb->nf_bridge && skb->protocol == htons(ETH_P_8021Q))
- ? VLAN_HLEN : 0;
+ int padding = 0;
+
+ if (skb->nf_bridge && skb->protocol == htons(ETH_P_8021Q))
+ padding = VLAN_HLEN;
+ else if (skb->nf_bridge && skb->protocol == htons(ETH_P_PPP_SES))
+ padding = PPPOE_SES_HLEN;
+
+ return padding;
}
struct bridge_skb_cb {