HomeFreeBSD

genet: pullup minimum header amount for IPv4

Description

genet: pullup minimum header amount for IPv4

The genet driver (RPi4 Ethernet) had code to pull headers into the
first mbuf if there was only an Ethernet header there. This was
originally needed for ICMPv6 replies, then for forwarded IPv6/TCP.
Now a situation has been found where it is needed for IPv4, when
using NAT with IPFW. Generalize to do this for all protocols.
Rather than using an IPv6-related definition for the length, move
the length to a variable that can be set with sysctl
(hw.genet.tx_hdr_min). Move an old tunable to a new RDTUN variable
with a better name.

PR: 25607
Reviewers: emaste
Differential Revision: https://reviews.freebsd.org/D30831

(cherry picked from commit 184291b0a56a68f2c0dc4388419b0f7d85a08cf4)

Details

Provenance
karelsAuthored on Jun 20 2021, 5:50 PM
Differential Revision
D30831: genet: pullup minimum header amount for IPv4
Parents
rG0a4ad905bf44: genet: Fix potential crash during attach
Branches
Unknown
Tags
Unknown