ad9d3794b0
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. |
||
---|---|---|
.. | ||
fil.c | ||
icmp6.h | ||
icmp_var.h | ||
if_arp.c | ||
if_atm.c | ||
if_atm.h | ||
if_ether.h | ||
if_ieee1394arp.c | ||
if_ieee1394arp.h | ||
if_inarp.h | ||
igmp_var.h | ||
igmp.c | ||
igmp.h | ||
in4_cksum.c | ||
in_cksum.c | ||
in_gif.c | ||
in_gif.h | ||
in_pcb.c | ||
in_pcb.h | ||
in_proto.c | ||
in_systm.h | ||
in_var.h | ||
in.c | ||
in.h | ||
ip6.h | ||
ip_auth.c | ||
ip_auth.h | ||
ip_compat.h | ||
ip_ecn.c | ||
ip_ecn.h | ||
ip_encap.c | ||
ip_encap.h | ||
ip_fil.c | ||
ip_fil.h | ||
ip_flow.c | ||
ip_frag.c | ||
ip_frag.h | ||
ip_ftp_pxy.c | ||
ip_gre.c | ||
ip_gre.h | ||
ip_icmp.c | ||
ip_icmp.h | ||
ip_input.c | ||
ip_ipip.c | ||
ip_ipip.h | ||
ip_log.c | ||
ip_mroute.c | ||
ip_mroute.h | ||
ip_nat.c | ||
ip_nat.h | ||
ip_output.c | ||
ip_proxy.c | ||
ip_proxy.h | ||
ip_raudio_pxy.c | ||
ip_rcmd_pxy.c | ||
ip_state.c | ||
ip_state.h | ||
ip_var.h | ||
ip.h | ||
ipl.h | ||
Makefile | ||
raw_ip.c | ||
tcp_debug.c | ||
tcp_debug.h | ||
tcp_fsm.h | ||
tcp_input.c | ||
tcp_output.c | ||
tcp_seq.h | ||
tcp_subr.c | ||
tcp_timer.c | ||
tcp_timer.h | ||
tcp_usrreq.c | ||
tcp_var.h | ||
tcp.h | ||
tcpip.h | ||
udp_usrreq.c | ||
udp_var.h | ||
udp.h |