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