summaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
authorVlad Drukker <vlad@storewiz.com>2005-09-22 23:35:34 -0700
committerDavid S. Miller <davem@davemloft.net>2005-09-22 23:35:34 -0700
commit2a7bc3c94cbca32d3d6e03e7d5a71662f591d28a (patch)
tree9d6b23b66b6a5522e2333dc885137b41be636e5c /net/bridge
parent83ca28befc43e93849e79c564cda10e39d983e75 (diff)
downloadlinux-2a7bc3c94cbca32d3d6e03e7d5a71662f591d28a.tar.gz
linux-2a7bc3c94cbca32d3d6e03e7d5a71662f591d28a.tar.bz2
linux-2a7bc3c94cbca32d3d6e03e7d5a71662f591d28a.zip
[BRIDGE]: TSO fix in br_dev_queue_push_xmit
Signed-off-by: Vlad Drukker <vlad@storewiz.com> Acked-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_forward.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
index 069253f830c1..2d24fb400e0c 100644
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -31,7 +31,8 @@ static inline int should_deliver(const struct net_bridge_port *p,
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
- if (skb->len > skb->dev->mtu)
+ /* drop mtu oversized packets except tso */
+ if (skb->len > skb->dev->mtu && !skb_shinfo(skb)->tso_size)
kfree_skb(skb);
else {
#ifdef CONFIG_BRIDGE_NETFILTER