]> git.baikalelectronics.ru Git - kernel.git/commit
macvlan : fix checksums error when we are in bridge mode
authorDaniel Lezcano <daniel.lezcano@free.fr>
Mon, 14 Mar 2011 06:08:07 +0000 (06:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Mar 2011 23:54:44 +0000 (16:54 -0700)
commit1418c983d706cc3dc9041114222caa0390cb7808
tree7537a26d442f4d03e2b97535f12923f7f8cecb60
parent50739f014a2e337310cfd4922c054c157c29539f
macvlan : fix checksums error when we are in bridge mode

When the lower device has offloading capabilities, the packets checksums
are not computed. That leads to have any macvlan port in bridge mode to
not work because the packets are dropped due to a bad checksum.

If the macvlan is in bridge mode, the packet is forwarded to another
macvlan port and reach the network stack where it looks for a checksum
but this one was not computed due to the offloading of the lower device.
In this case, we have to set the packet with CHECKSUM_UNNECESSARY
when it is forwarded to a bridged port and restore the previous value of
ip_summed when the packet goes to the lowerdev.

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Andrian Nord <nightnord@gmail.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c