NetBSD/sys/netinet
thorpej ad9d3794b0 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:09 +00:00
..
Makefile add net/if_stf.h and netinet/ip_encap.h (almost noone will include them though) 2000-04-19 06:39:15 +00:00
fil.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
icmp6.h during ip6/icmp6 inbound packet processing, do not call log() nor printf() in 2001-02-07 08:59:47 +00:00
icmp_var.h count successful path MTU changes. good for debugging. 2000-10-18 19:20:02 +00:00
if_arp.c Use the LIST_NEXT & LIST_FIRST macros instead of refering to 2001-05-14 19:50:43 +00:00
if_atm.c pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted). 2001-01-17 04:05:41 +00:00
if_atm.h pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted). 2001-01-17 04:05:41 +00:00
if_ether.h Add the `packed' attribute to structures which describe wire protocol data. 1999-11-20 00:37:58 +00:00
if_ieee1394arp.c Remove the use of splimp() from the NetBSD kernel. splnet() 2001-04-13 23:29:55 +00:00
if_ieee1394arp.h pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted). 2001-01-17 04:05:41 +00:00
if_inarp.h pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted). 2001-01-17 04:05:41 +00:00
igmp.c Don't copy M_EXT mbufs unless in "dhcp" mode. Do a mtod after the pullup 2000-06-16 20:21:26 +00:00
igmp.h Add the `packed' attribute to structures which describe wire protocol data. 1999-11-20 00:37:58 +00:00
igmp_var.h Update protocoles and interfaces stats counters to 64bit. 1999-11-19 10:41:41 +00:00
in.c Remove the use of splimp() from the NetBSD kernel. splnet() 2001-04-13 23:29:55 +00:00
in.h Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
in4_cksum.c Brain'o in last. Pointed out by Steve Woodford <scw@netbsd.org>. 2001-05-19 14:20:40 +00:00
in_cksum.c Remove register declarations. 2000-03-30 12:51:13 +00:00
in_gif.c drop multi destination mode (IFF_LINK0). 2001-05-14 13:35:20 +00:00
in_gif.h introduce sys/netinet/ip_encap.c, to dispatch inbound packets 2000-04-19 06:30:51 +00:00
in_pcb.c Update for hashinit() change. 2000-11-08 14:28:12 +00:00
in_pcb.h PRU_PURGEADDR -> PRU_PURGEIF, per a discussion w/ itojun. In the IPv4 2000-02-02 23:28:08 +00:00
in_proto.c Add a protosw flag, PR_ABRTACPTDIS (Abort on Accept of Disconnected 2001-03-21 19:22:27 +00:00
in_systm.h
in_var.h - Keep track of allhost multicast address record we joined into 2000-10-08 09:15:28 +00:00
ip.h One more __attribute__((__packed__)) to dissuade egcs from making 2000-05-02 14:15:07 +00:00
ip6.h put attribute(packed) for ip6 option headers. they will appear at 2001-01-23 07:21:07 +00:00
ip_auth.c Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_auth.h Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_compat.h defined(vax) -> defined(__vax__). This may fix PR#12919. 2001-05-26 21:29:45 +00:00
ip_ecn.c correct ecn consideration on tunnel encap/decap. sync with kame. 2001-05-10 01:37:42 +00:00
ip_ecn.h correct ecn consideration on tunnel encap/decap. sync with kame. 2001-05-10 01:37:42 +00:00
ip_encap.c pull encapsulated packet for vif* via ip_encap framework. 2001-05-08 10:07:15 +00:00
ip_encap.h introduce sys/netinet/ip_encap.c, to dispatch inbound packets 2000-04-19 06:30:51 +00:00
ip_fil.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
ip_fil.h Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_flow.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
ip_frag.c fix fragment cache security hole 2001-04-06 15:32:40 +00:00
ip_frag.h fix fragment cache security hole 2001-04-06 15:32:40 +00:00
ip_ftp_pxy.c Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_gre.c Remove the use of splimp() from the NetBSD kernel. splnet() 2001-04-13 23:29:55 +00:00
ip_gre.h Some slight cleanup. 2000-07-06 04:34:26 +00:00
ip_icmp.c Remove a bogus rtfree(); OpenBSD PR 1706. 2001-03-08 00:17:05 +00:00
ip_icmp.h Restructure the Path MTU Discovery code somewhat to avoid 2000-10-18 17:09:14 +00:00
ip_input.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
ip_ipip.c Remove the use of splimp() from the NetBSD kernel. splnet() 2001-04-13 23:29:55 +00:00
ip_ipip.h introduce sys/netinet/ip_encap.c, to dispatch inbound packets 2000-04-19 06:30:51 +00:00
ip_log.c Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_mroute.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
ip_mroute.h pull encapsulated packet for vif* via ip_encap framework. 2001-05-08 10:07:15 +00:00
ip_nat.c Remove tests for IPN_FRAG bits. 2001-05-20 13:03:39 +00:00
ip_nat.h fix fragment cache security hole 2001-04-06 15:32:40 +00:00
ip_output.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
ip_proxy.c expose the definitions of MIN() and MAX() in sys/param.h to the kernel 2001-02-05 10:42:40 +00:00
ip_proxy.h Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_raudio_pxy.c Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_rcmd_pxy.c Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_state.c fix fragment cache security hole 2001-04-06 15:32:40 +00:00
ip_state.h Resolve conflicts. 2001-03-26 06:11:46 +00:00
ip_var.h increase ipstat.ips_badaddr if the packet fails to pass address checks. 2001-03-02 04:26:10 +00:00
ipl.h Resolve conflicts. 2001-03-26 06:11:46 +00:00
raw_ip.c make sure to validate packet against ipsec policy. 2001-02-26 07:20:44 +00:00
tcp.h Add TCP_MD5SIGNATURE option. 2001-05-26 21:40:55 +00:00
tcp_debug.c IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628. 1999-07-01 08:12:45 +00:00
tcp_debug.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
tcp_fsm.h
tcp_input.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
tcp_output.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
tcp_seq.h
tcp_subr.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
tcp_timer.c remove #ifdef TCP6. it is not likely for us to bring in sys/netinet6/tcp6*.c 2000-10-19 20:22:59 +00:00
tcp_timer.h
tcp_usrreq.c Two changes, designed to make us even more resilient against TCP 2001-03-20 20:07:51 +00:00
tcp_var.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
tcpip.h Add the `packed' attribute to structures which describe wire protocol data. 1999-11-20 00:37:58 +00:00
udp.h Add the `packed' attribute to structures which describe wire protocol data. 1999-11-20 00:37:58 +00:00
udp_usrreq.c Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
udp_var.h Add the `packed' attribute to structures which describe wire protocol data. 1999-11-20 00:37:58 +00:00