Problem with checksum offloading on RPi3 (PF + Jails involved)

John-Mark Gurney jmg at funkthat.com
Thu Oct 29 21:36:26 UTC 2020


Kristof Provost wrote this message on Thu, Oct 29, 2020 at 21:30 +0100:
> On 29 Oct 2020, at 16:30, Carsten Bäcker wrote:
> > Sure, i am willing to help.
> >
> > Device is a Raspberry Pi 3B (not +), using the onboard-ethernet.
> > I attached a bunch of information.
> >
> > Configuration is stripped down to the minimum required to reproduce 
> > the
> > problem.
> >
> Okay, so that???s an SMC2 LAN9514_ETH device.
> That???s the dev/usb/net/if_smsc.c driver.
> 
> However, before we dig into that driver we should make sure that we???re 
> really looking at a checksum problem.
> It???s entirely normal for TX checksums to be incorrect when logged on 
> the sending host itself (if the hardware does checksum offloading the 
> checksum in the packet sent to the MAC is incorrect, and left to the 
> hardware to fix).
> 
> So, can you confirm that the `"[bad udp cksum 0xe58a -> 0x482d!]` you 
> reported was on an inbound packet? And let???s be safe: try to capture 
> packets on a different machine. That???ll give us the true packet, after 
> the hardware has done checksum calculations.

One interesting point is that the smsc driver claims to not do TX offload,
and a brief check shows that it doesn't allow a user to set the TXCSUM.

I was thinking that the bad checksum might be due to tcpdump just
complaining.

does netstat -s show packets being received w/ bad checksums?

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-hackers mailing list