bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 5 Oct 2014 04:00:22 +0000 (12:00 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Oct 2014 19:12:44 +0000 (15:12 -0400)
commit93fdd47e52f3f869a437319db9da1ea409acc07e
treeff0bf4593b59fbe837bbe74f659e44cf5817db17
parent88b09a6d958af6c458acf055ee2eb5bc9564efda
bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING

As we may defragment the packet in IPv4 PRE_ROUTING and refragment
it after POST_ROUTING we should save the value of frag_max_size.

This is still very wrong as the bridge is supposed to leave the
packets intact, meaning that the right thing to do is to use the
original frag_list for fragmentation.

Unfortunately we don't currently guarantee that the frag_list is
left untouched throughout netfilter so until this changes this is
the best we can do.

There is also a spot in FORWARD where it appears that we can
forward a packet without going through fragmentation, mark it
so that we can fix it later.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netfilter.c
net/bridge/br_private.h