NetBSD/sys/netinet
thorpej 10c252ba47 Changes to allow the IPv4 and IPv6 layers to align headers themseves,
as necessary:
* Implement a new mbuf utility routine, m_copyup(), is is like
  m_pullup(), except that it always prepends and copies, rather
  than only doing so if the desired length is larger than m->m_len.
  m_copyup() also allows an offset into the destination mbuf, which
  allows space for packet headers, in the forwarding case.
* Add *_HDR_ALIGNED_P() macros for IP, IPv6, ICMP, and IGMP.  These
  macros expand to 1 if __NO_STRICT_ALIGNMENT is defined, so that
  architectures which do not have strict alignment constraints don't
  pay for the test or visit the new align-if-needed path.
* Use the new macros to check if a header needs to be aligned, or to
  assert that it already is, as appropriate.

Note: This code is still somewhat experimental.  However, the new
code path won't be visited if individual device drivers continue
to guarantee that packets are delivered to layer 3 already properly
aligned (which are rules that are already in use).
2002-06-30 22:40:32 +00:00
..
Makefile
fil.c whitespace 2002-06-09 16:33:36 +00:00
icmp6.h whitespace 2002-06-09 16:33:36 +00:00
icmp_var.h Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
if_arp.c If we need to fix up ar_hrd field, we must do it before using ar_tpa/tha. 2002-06-25 04:16:31 +00:00
if_atm.c whitespace 2002-06-09 16:33:36 +00:00
if_atm.h whitespace 2002-06-09 16:33:36 +00:00
if_ether.h
if_inarp.h
igmp.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
igmp.h
igmp_var.h Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
in.c whitespace 2002-06-09 16:33:36 +00:00
in.h Define uint{8,32}_t locally, per XNS5.2/POSIX-2001, and use them in this 2002-05-13 13:34:32 +00:00
in4_cksum.c
in_cksum.c whitespace 2002-06-09 16:33:36 +00:00
in_gif.c whitespace 2002-06-09 16:33:36 +00:00
in_gif.h
in_pcb.c share policy-on-pcb for listening socket. sync w/kame 2002-06-11 19:39:59 +00:00
in_pcb.h whitespace 2002-06-09 16:33:36 +00:00
in_proto.c whitespace 2002-06-09 16:33:36 +00:00
in_systm.h
in_var.h Eliminate commons. 2002-05-12 20:33:50 +00:00
ip.h
ip6.h
ip_auth.c whitespace 2002-06-09 16:33:36 +00:00
ip_auth.h
ip_compat.h whitespace 2002-06-09 16:33:36 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c whitespace 2002-06-09 16:33:36 +00:00
ip_encap.h
ip_fil.c whitespace 2002-06-09 16:33:36 +00:00
ip_fil.h Upgraded IPFilter to 3.4.27 2002-05-02 17:11:37 +00:00
ip_flow.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
ip_frag.c whitespace 2002-06-09 16:33:36 +00:00
ip_frag.h
ip_ftp_pxy.c Fix compilation problems 2002-05-02 17:13:27 +00:00
ip_gre.c style 2002-06-09 19:49:49 +00:00
ip_gre.h whitespace 2002-06-09 16:33:36 +00:00
ip_h323_pxy.c whitespace 2002-06-09 16:33:36 +00:00
ip_icmp.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
ip_icmp.h whitespace 2002-06-09 16:33:36 +00:00
ip_input.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
ip_ipsec_pxy.c
ip_log.c whitespace 2002-06-09 16:33:36 +00:00
ip_mroute.c whitespace 2002-06-09 16:33:36 +00:00
ip_mroute.h whitespace 2002-06-09 16:33:36 +00:00
ip_nat.c whitespace 2002-06-09 16:33:36 +00:00
ip_nat.h Upgraded IPFilter to 3.4.27 2002-05-02 17:11:37 +00:00
ip_netbios_pxy.c whitespace 2002-06-09 16:33:36 +00:00
ip_output.c set ia as well 2002-06-24 08:11:30 +00:00
ip_proxy.c whitespace 2002-06-09 16:33:36 +00:00
ip_proxy.h
ip_raudio_pxy.c
ip_rcmd_pxy.c
ip_state.c whitespace 2002-06-09 16:33:36 +00:00
ip_state.h Upgraded IPFilter to 3.4.27 2002-05-02 17:11:37 +00:00
ip_var.h Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
ipl.h Upgraded IPFilter to 3.4.27 2002-05-02 17:11:37 +00:00
raw_ip.c whitespace 2002-06-09 16:33:36 +00:00
tcp.h
tcp_debug.c whitespace 2002-06-09 16:33:36 +00:00
tcp_debug.h
tcp_fsm.h
tcp_input.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
tcp_output.c Disable TCP Congestion Window Monitoring by default; there are 2002-06-13 16:31:05 +00:00
tcp_seq.h
tcp_subr.c whitespace 2002-06-09 16:33:36 +00:00
tcp_timer.c whitespace 2002-06-09 16:33:36 +00:00
tcp_timer.h
tcp_usrreq.c whitespace 2002-06-09 16:33:36 +00:00
tcp_var.h Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
tcpip.h
udp.h
udp_usrreq.c Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00
udp_var.h Changes to allow the IPv4 and IPv6 layers to align headers themseves, 2002-06-30 22:40:32 +00:00