diff options
-rw-r--r-- | net/bridge/br_forward.c | 3 |
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, | |||
31 | 31 | ||
32 | int br_dev_queue_push_xmit(struct sk_buff *skb) | 32 | int br_dev_queue_push_xmit(struct sk_buff *skb) |
33 | { | 33 | { |
34 | if (skb->len > skb->dev->mtu) | 34 | /* drop mtu oversized packets except tso */ |
35 | if (skb->len > skb->dev->mtu && !skb_shinfo(skb)->tso_size) | ||
35 | kfree_skb(skb); | 36 | kfree_skb(skb); |
36 | else { | 37 | else { |
37 | #ifdef CONFIG_BRIDGE_NETFILTER | 38 | #ifdef CONFIG_BRIDGE_NETFILTER |