This patch provides two improvements for TCP/IPv4 and UDP/IPv4 checksum offloading:
- Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides a pseudo header checksum.
- Don't make IPv4 header checksum offloading a prerequisite for TCP/IPv4 or UDP/IPv4 checksum offloading.
This is the root cause of PR 291696, since right now the epair interface does not support IPv4 header checksum offloading, but TCP/IPv4 and UDP/IPv4 checksum offloading.
Thanks to Marek Benc for reporting the issue and testing the fix.