diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r-- | net/ipv6/ip6_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 61e2bef56090..7db09c3f5289 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -625,7 +625,7 @@ static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)) | |||
625 | /* We must not fragment if the socket is set to force MTU discovery | 625 | /* We must not fragment if the socket is set to force MTU discovery |
626 | * or if the skb it not generated by a local socket. | 626 | * or if the skb it not generated by a local socket. |
627 | */ | 627 | */ |
628 | if (!skb->local_df) { | 628 | if (!skb->local_df && skb->len > mtu) { |
629 | skb->dev = skb_dst(skb)->dev; | 629 | skb->dev = skb_dst(skb)->dev; |
630 | icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); | 630 | icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); |
631 | IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), | 631 | IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), |