Re: Problem with checksum offloading on RPi3 (PF + Jails involved)
"Kristof Provost" <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.arm,gmane.os.freebsd.devel.hackers |
|---|---|
| Message-ID | <[email protected]> |
On 19 Nov 2020, at 3:22, YongHyeon PYUN wrote: > On Wed, Nov 18, 2020 at 10:47:08AM +0100, Carsten Bäcker wrote: > > [...] > >> Sorry, that's my fault - i overlooked your request for a test with pf >> enabled. >> The example-ruleset is attached again. I added a line to allow the >> incoming ping to 5555. >> >> I don't see a difference until i enable the redirection to the jail >> which makes the packet with extended data-length fail. >> Once i disable RXCSUM it works. >> > > Thanks for testing. Unfortunately I couldn't find a driver issue > on patched smsc(4). Quick looking pf(4) makes me wonder how it > verifies UDP datagrams. > > Kristof, does pf(4) take advantage of H/W checksummed result for > UDP datagrams? Yes. Pf updates checksums if they’re present, rather than fully recalculating them. > It seems pf_check_proto_cksum() always pass > IPPROTO_TCP such that UDP pseudo checksum is not computed in the > function. Note that pf_check_proto_cksum() is only ever called from pf_return(), and then only if pf->proto == IPPROTO_TCP. Checksum updates are mostly done through pf_proto_cksum_fixup(), in different parts of the code. Best egards, Kristof _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "[email protected]"