git: network - Remove ip_len header-length adjustment
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jul 9 20:15:25 PDT 2023
commit 2ba12c9ccce24e5186e60a8be059faf55cd27e21
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Jul 8 18:00:31 2023 -0700
network - Remove ip_len header-length adjustment
* This should remove the last main code path modifications to packet
mbuf contents. The IP header in the mbuf is now basically left alone
whenever possible, bringing us in-line with FreeBSD and Linux and
removing cache-line bounces between cpus and between a cpu and the
related PCIe DMA.
* Do not adjust ip_len to remove the IP header length.
* Various protocol stacks do the subtraction themselves, when needed.
* Various bits of code that added the length back in to execute a function
then removed it again cleaned up.
* IP reassembly (in ip_input.c and pf_norm.c) cleaned up.
Summary of changes:
sbin/ping/ping.c | 4 +--
sys/net/pf/pf.c | 2 ++
sys/net/pf/pf_norm.c | 25 +++++++++++++++---
sys/netinet/igmp.c | 2 +-
sys/netinet/ip_encap.c | 2 +-
sys/netinet/ip_icmp.c | 9 +++----
sys/netinet/ip_input.c | 67 +++++++++++++++++++++++++++++++-----------------
sys/netinet/ip_var.h | 2 +-
sys/netinet/raw_ip.c | 21 +++++++--------
sys/netinet/tcp_input.c | 2 +-
sys/netinet/udp_usrreq.c | 17 ++++++------
11 files changed, 96 insertions(+), 57 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2ba12c9ccce24e5186e60a8be059faf55cd27e21
--
DragonFly BSD source repository
More information about the Commits
mailing list