This started by pinging a Raspberry Pi 3b running barebox sitting behind a router employing conntrack. The router discarded the ping responses due to the wrong ICMP checksum and these issues do not pop up normally because the ping command itself doesn't bother to verify the checksum. This unearthed issues in two drivers as well as the barebox network stack itself. See the commit messages for details. Ahmad Fatoum (10): net: free packets with net_free_packet net: ip: don't blindly trust driver supplied frame size net: icmp: don't blindly trust driver supplied frame size net: icmp: properly set IP TTL and fragement fields net: icmp: don't overrun buffer on send net: cpsw: report correct frame size to network stack net: usb: smsc95xx: don't opencode get/put_aligned_le32 net: usb: smsc95xx: don't blindly trust hardware size net: usb: smsc95xx: fix handling of multiple packets per urb net: usb: smsc95xx: disable HW checksumming in driver drivers/net/cpsw.c | 7 +++- drivers/net/usb/smsc95xx.c | 68 ++++++++++++++++---------------------- net/net.c | 64 +++++++++++++++++++++++++++++------ 3 files changed, 88 insertions(+), 51 deletions(-) -- 2.39.2