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.