diff options
author | David S. Miller <davem@davemloft.net> | 2009-04-25 17:46:34 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-25 17:46:34 -0700 |
commit | 1c41e238e0beaac530c5c9d629e8dfbbadc4a099 (patch) | |
tree | 4cfada93058fe1b8902ca8cda090fa71cd332133 /net/bridge | |
parent | 29fe1b481283a1bada994a69f65736db4ae6f35f (diff) | |
parent | 37e55cf0ceb8803256bf69a3e45bd668bf90b76f (diff) | |
download | op-kernel-dev-1c41e238e0beaac530c5c9d629e8dfbbadc4a099.zip op-kernel-dev-1c41e238e0beaac530c5c9d629e8dfbbadc4a099.tar.gz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_netfilter.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index 3953ac4..e4a418f 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c @@ -788,15 +788,23 @@ static unsigned int br_nf_local_out(unsigned int hook, struct sk_buff *skb, return NF_STOLEN; } +#if defined(CONFIG_NF_CONNTRACK_IPV4) || defined(CONFIG_NF_CONNTRACK_IPV4_MODULE) static int br_nf_dev_queue_xmit(struct sk_buff *skb) { - if (skb->protocol == htons(ETH_P_IP) && + if (skb->nfct != NULL && + (skb->protocol == htons(ETH_P_IP) || IS_VLAN_IP(skb)) && skb->len > skb->dev->mtu && !skb_is_gso(skb)) return ip_fragment(skb, br_dev_queue_push_xmit); else return br_dev_queue_push_xmit(skb); } +#else +static int br_nf_dev_queue_xmit(struct sk_buff *skb) +{ + return br_dev_queue_push_xmit(skb); +} +#endif /* PF_BRIDGE/POST_ROUTING ********************************************/ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff *skb, |