Page MenuHomeFreeBSD

Use m_copyback() to write delayed checksum into mbuf, when a checksum is not located in first mbuf in the chain
AbandonedPublic

Authored by ae on May 11 2018, 3:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 30 2023, 5:57 AM
Unknown Object (File)
Dec 23 2023, 1:37 AM
Unknown Object (File)
Nov 30 2023, 2:40 PM
Unknown Object (File)
Nov 7 2023, 1:59 PM
Unknown Object (File)
Nov 6 2023, 12:05 PM
Unknown Object (File)
Oct 6 2023, 12:42 PM
Unknown Object (File)
Oct 5 2023, 11:02 AM
Unknown Object (File)
Sep 16 2023, 10:54 AM
Subscribers

Details

Reviewers
None
Group Reviewers
network
transport
Summary

Modify in_delayed_cksum() and in6_delayed_cksum() to use m_copyback(), when checksum is not located in first mbuf in the chain.
There is one report https://lists.freebsd.org/pipermail/freebsd-net/2018-April/050375.html that in6_delayed_cksum() floods into console about wrong assumption, that checksum location is always in first mbuf.

I modified both function for IPv4 and IPv6 to be similar and used m_copyback() for this case. Also I replaced access to m_data with mtodo() macro.
NetBSD/OpenBSD seems do the same for many years.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 16529
Build 16443: arc lint + arc unit