]> git.baikalelectronics.ru Git - kernel.git/commit
net: ipv6: send pkttoobig immediately if orig frag size > mtu
authorFlorian Westphal <fw@strlen.de>
Sun, 4 May 2014 22:03:34 +0000 (00:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 May 2014 19:27:59 +0000 (15:27 -0400)
commit1ba78834a042f39f21523ccc6b29f4a7f5b5f891
tree0545fad3593e0860c9e6efd509d8b5add34e8352
parentfa6f1656dfee9b78e7d454cb313b692f74adf330
net: ipv6: send pkttoobig immediately if orig frag size > mtu

If conntrack defragments incoming ipv6 frags it stores largest original
frag size in ip6cb and sets ->local_df.

We must thus first test the largest original frag size vs. mtu, and not
vice versa.

Without this patch PKTTOOBIG is still generated in ip6_fragment() later
in the stack, but

1) IPSTATS_MIB_INTOOBIGERRORS won't increment
2) packet did (needlessly) traverse netfilter postrouting hook.

Fixes: d3d6171ec04 ("net: ip, ipv6: handle gso skbs in forwarding path")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_output.c