Page MenuHomeFreeBSD

genet: pullup minimum header amount for IPv4
ClosedPublic

Authored by karels on Jun 20 2021, 6:00 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 19, 12:07 PM
Unknown Object (File)
Feb 15 2024, 6:02 PM
Unknown Object (File)
Jan 29 2024, 10:21 AM
Unknown Object (File)
Dec 24 2023, 10:00 AM
Unknown Object (File)
Dec 20 2023, 7:00 AM
Unknown Object (File)
Dec 14 2023, 10:16 PM
Unknown Object (File)
Nov 13 2023, 3:34 AM
Unknown Object (File)
Nov 11 2023, 12:31 AM
Subscribers

Details

Summary

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

Test Plan

tested by users that reported the problems

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/arm64/broadcom/genet/if_genet.c
107

Maybe something like "maximum number of mbufs to pass per call to if_input" or something like that?

"send" implied the TX direction on my first read

Fix text according to Ed's suggestion.

karels added inline comments.
sys/arm64/broadcom/genet/if_genet.c
107

Good suggestion, thanks.

Any other comments? Anyone able to approve?

This revision is now accepted and ready to land.Jun 22 2021, 11:05 PM
This revision was automatically updated to reflect the committed changes.