On Dienstag, 23. Januar 2018 10:59:49 CET Matthias Schiffer wrote:
eth_type_trans() internally calls skb_pull(), which does not adjust the skb checksum; skb_postpull_rcsum() is necessary to avoid log spam of the form "bat0: hw csum failure" when packets with CHECKSUM_COMPLETE are received.
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 nor occur on every system using batman-adv. I could reproduce this issue by stacking batman-adv on top of a VXLAN interface.
Signed-off-by: Matthias Schiffer mschiffer@universe-factory.net
Applied both as 798174b15153 [1] and 2c1bce065baa [2]. They are also queued up in linux-merge [3] but will most likely only forwarded when Simon is back from his vacation. Tested-by's are still welcome :)
Thanks, Sven
[1] https://git.open-mesh.org/batman-adv.git/commit/798174b15153afd88268f2f87811... [2] https://git.open-mesh.org/batman-adv.git/commit/2c1bce065baa688bc1eca4116f83... [3] https://git.open-mesh.org/linux-merge.git/shortlog/refs/heads/batadv/net