diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-01-23 10:59:50 +0100 |
---|---|---|
committer | Simon Wunderlich <sw@simonwunderlich.de> | 2018-02-25 20:00:44 +0100 |
commit | 3bf2a09da956b43ecfaa630a2ef9a477f991a46a (patch) | |
tree | 166c95ea9bbf168e87a0c2905551f5467462da64 /crypto/af_alg.c | |
parent | abd6360591d3f8259f41c34e31ac4826dfe621b8 (diff) | |
download | linux-3bf2a09da956b43ecfaa630a2ef9a477f991a46a.tar.bz2 |
batman-adv: invalidate checksum on fragment reassembly
A more sophisticated implementation could try to combine fragment checksums
when all fragments have CHECKSUM_COMPLETE and are split at even offsets.
For now, we just set ip_summed to CHECKSUM_NONE to avoid "hw csum failure"
warnings in the kernel log when fragmented frames are received. In
consequence, skb_pull_rcsum() can be replaced with skb_pull().
Note that in usual setups, packets don't reach batman-adv with
CHECKSUM_COMPLETE (I assume NICs bail out of checksumming when they see
batadv's ethtype?), which is why the log messages do not occur on every
system using batman-adv. I could reproduce this issue by stacking
batman-adv on top of a VXLAN interface.
Fixes: 610bfc6bc99b ("batman-adv: Receive fragmented packets and merge")
Tested-by: Maximilian Wilhelm <max@sdn.clinic>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Diffstat (limited to 'crypto/af_alg.c')
0 files changed, 0 insertions, 0 deletions