freebsd-dev/sys/netinet
Randall Stewart 0e13104de6 Fixes a bug where SACKs in the face of
mapping_array expansion would break. Basically
once we expanded the array we no longer had both
mapping arrays in sync which the sack processing code depends on.
This would mean we were randomly referring to memory that was probably
not there. This mostly just gave us bad sack results going back to the peer.
If INVARIENTS was on of course we would hit the panic routine in the sack_check
call.

We also add a print routine for the place where one would panic in
invarients so one can see what the main mapping array holds.

Reviewed by: tuexen@freebsd.org
MFC after:	2 weeks
2010-03-23 01:36:50 +00:00
..
ipfw Add a priority-based packet scheduler. 2010-03-21 16:30:32 +00:00
libalias Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
accf_data.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
accf_dns.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
accf_http.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
icmp6.h Many network stack subsystems use a single global data structure to hold 2009-08-02 19:43:32 +00:00
icmp_var.h Many network stack subsystems use a single global data structure to hold 2009-08-02 19:43:32 +00:00
if_atm.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_atm.h
if_ether.c An existing incomplete ARP entry would expire a subsequent 2010-01-05 00:35:46 +00:00
if_ether.h Add arp_update_event. This replaces route_arp_update_event, which 2009-09-08 21:17:17 +00:00
igmp_var.h Update stats in struct igmpstat using two new macros: 2009-04-12 13:41:13 +00:00
igmp.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
igmp.h These are no longer referenced in the tree, so can be safely removed. 2009-06-10 18:12:15 +00:00
in_cksum.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
in_gif.c Many network stack subsystems use a single global data structure to hold 2009-08-02 19:43:32 +00:00
in_gif.h
in_mcast.c Correct a comment. 2009-11-19 13:21:37 +00:00
in_pcb.c Abstract out initialization of most aspects of struct inpcbinfo from 2010-03-14 18:59:11 +00:00
in_pcb.h Abstract out initialization of most aspects of struct inpcbinfo from 2010-03-14 18:59:11 +00:00
in_proto.c Split up ip_drain() into an outer lock and iterator part and 2010-02-20 19:59:52 +00:00
in_rmx.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
in_systm.h Use uint32_t instead of n_long and n_time, and uint16_t instead of n_short. 2009-02-13 15:14:43 +00:00
in_var.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
in.c One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to 2010-03-09 01:11:45 +00:00
in.h bring in several cleanups tested in ipfw3-head branch, namely: 2009-12-28 10:47:04 +00:00
ip6.h Start removing IPv6 Type 0 Routing header code. 2009-03-03 13:12:12 +00:00
ip_carp.c Complete the swap of carp(4) log levels and document the change. 2010-01-08 16:14:41 +00:00
ip_carp.h Update stats in struct carpstats using two new macros: CARPSTATS_ADD() 2009-04-12 14:19:37 +00:00
ip_divert.c Add pcb reference counting to the pcblist sysctl handler functions 2010-03-17 18:28:27 +00:00
ip_divert.h Various cleanup done in ipfw3-head branch including: 2010-01-04 19:01:22 +00:00
ip_dummynet.h Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
ip_ecn.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_ecn.h
ip_encap.c (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
ip_encap.h
ip_fastfwd.c Virtualize the pfil hooks so that different jails may chose different 2009-10-11 05:59:43 +00:00
ip_fw.h + implement (two lines) the kernel side of 'lookup dscp N' to use the 2010-03-15 17:14:27 +00:00
ip_gre.c The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +00:00
ip_gre.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +00:00
ip_icmp.c Compare pointer to NULL rather than 0. 2009-10-13 20:29:14 +00:00
ip_icmp.h Use uint32_t instead of n_long and n_time, and uint16_t instead of n_short. 2009-02-13 15:14:43 +00:00
ip_id.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
ip_input.c - boot-time size the ipv4 flowtable and the maximum number of flows 2010-03-22 23:04:12 +00:00
ip_ipsec.c The proper fix for the delayed SCTP checksum is to 2010-03-12 22:58:52 +00:00
ip_ipsec.h Remove ifdefed out part of code, which seems to have originated a decade ago 2009-11-09 19:53:34 +00:00
ip_mroute.c No need to include security/mac/mac_framework.h here. 2010-02-18 22:26:01 +00:00
ip_mroute.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
ip_options.c No need to include security/mac/mac_framework.h here. 2010-02-18 22:26:01 +00:00
ip_options.h Add function ip_checkrouteralert(), which will be used 2009-03-04 02:51:22 +00:00
ip_output.c The proper fix for the delayed SCTP checksum is to 2010-03-12 22:58:52 +00:00
ip_var.h Split up ip_drain() into an outer lock and iterator part and 2010-02-20 19:59:52 +00:00
ip.h use u_char instead of u_int for short bitfields. 2010-02-01 14:13:44 +00:00
pim_var.h Update stats in struct pimstat using two new macros: PIMSTAT_ADD() 2009-04-12 14:06:26 +00:00
pim.h
raw_ip.c Add pcb reference counting to the pcblist sysctl handler functions 2010-03-17 18:28:27 +00:00
sctp_asconf.c Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
sctp_asconf.h Code from the hack-session known as the IETF (and a 2008-12-06 13:19:54 +00:00
sctp_auth.c Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_auth.h Use [] instead of [0] for flexible arrays. 2010-01-22 07:53:41 +00:00
sctp_bsd_addr.c Fix a race condition where a mutex was destroyed while sleeping on it. 2009-10-11 12:23:56 +00:00
sctp_bsd_addr.h 1) Adds the rest of the VIMAGE change macros 2008-07-09 16:45:30 +00:00
sctp_cc_functions.c Bugfix: Use formula from section 7.2.3 of RFC 4960. Reported by Martin Becke. 2009-10-27 18:17:07 +00:00
sctp_cc_functions.h 1) Adds the rest of the VIMAGE change macros 2008-07-09 16:45:30 +00:00
sctp_constants.h Remove strange APPLE define that leaked 2010-01-17 19:17:16 +00:00
sctp_crc32.c The proper fix for the delayed SCTP checksum is to 2010-03-12 22:58:52 +00:00
sctp_crc32.h The proper fix for the delayed SCTP checksum is to 2010-03-12 22:58:52 +00:00
sctp_header.h Add missing SCTP_PACKED. Spotted by Irene Ruengeler. 2010-02-13 21:38:15 +00:00
sctp_indata.c Fixes a bug where SACKs in the face of 2010-03-23 01:36:50 +00:00
sctp_indata.h Get rid of a lot of duplicated code for NR-SACK handle. 2010-01-17 21:00:28 +00:00
sctp_input.c Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_input.h 1) Adds the rest of the VIMAGE change macros 2008-07-09 16:45:30 +00:00
sctp_lock_bsd.h - Make strict-sacks be the default. 2008-08-28 09:44:07 +00:00
sctp_os_bsd.h Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_os.h
sctp_output.c Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_output.h Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_pcb.c Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_pcb.h Support for VNET in SCTP (hopefully) 2009-09-17 15:11:12 +00:00
sctp_peeloff.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_peeloff.h
sctp_structs.h Get rid of a lot of duplicated code for NR-SACK handle. 2010-01-17 21:00:28 +00:00
sctp_sysctl.c More leaked ifdefs for APPLE and its mobility stuff. 2010-01-17 19:24:30 +00:00
sctp_sysctl.h Fix a bug where wrong initialization value 2009-07-28 15:07:41 +00:00
sctp_timer.c Support for VNET in SCTP (hopefully) 2009-09-17 15:11:12 +00:00
sctp_timer.h Invariants changes that make more sense. 2008-10-27 13:53:31 +00:00
sctp_uio.h Use [] instead of [0] for flexible arrays. 2010-01-22 07:53:41 +00:00
sctp_usrreq.c * Fix another u_long -> uint32_t issue. 2010-02-19 18:00:38 +00:00
sctp_var.h Fixes several PR-SCTP releated bugs. 2009-03-14 13:42:13 +00:00
sctp.h Changes to the NR-Sack code so that: 2009-06-17 12:34:56 +00:00
sctputil.c Fixes a bug where SACKs in the face of 2010-03-23 01:36:50 +00:00
sctputil.h Fixes a bug where SACKs in the face of 2010-03-23 01:36:50 +00:00
tcp_debug.c Remove the "The option TCPDEBUG requires option INET." requirement. 2009-06-10 10:39:41 +00:00
tcp_debug.h Use uint32_t instead of n_long and n_time, and uint16_t instead of n_short. 2009-02-13 15:14:43 +00:00
tcp_fsm.h
tcp_hostcache.c Properly free resources when destroying the TCP hostcache while 2010-02-09 21:31:53 +00:00
tcp_hostcache.h Add an essential .h file that skipped from the last commit (r185419). 2008-11-28 23:39:25 +00:00
tcp_input.c Wrap use of rw_try_upgrade() on pcbinfo with macro INP_INFO_TRY_UPGRADE() 2010-03-06 21:24:11 +00:00
tcp_lro.c Don't calculate checksum if it has already been validated 2008-08-24 02:31:09 +00:00
tcp_lro.h Add generic TCP LOR into netinet 2008-06-11 22:12:50 +00:00
tcp_offload.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
tcp_offload.h Replace struct tcpopt with a proxy toeopt struct in the TOE driver interface to 2009-07-13 11:51:02 +00:00
tcp_output.c Several years ago a feature was added to TCP that casued soreceive() to 2009-11-06 16:55:05 +00:00
tcp_reass.c Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp_sack.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
tcp_seq.h
tcp_subr.c Add pcb reference counting to the pcblist sysctl handler functions 2010-03-17 18:28:27 +00:00
tcp_syncache.c Upon virtual network stack teardown properly release the TCP syncache 2010-02-20 21:45:04 +00:00
tcp_syncache.h Replace struct tcpopt with a proxy toeopt struct in the TOE driver interface to 2009-07-13 11:51:02 +00:00
tcp_timer.c - spread tcp timer callout load evenly across cpus if net.inet.tcp.per_cpu_timers is set to 1 2010-03-20 19:47:30 +00:00
tcp_timer.h Add the ability to see TCP timers via netstat -x. This can be a useful 2009-09-16 05:33:15 +00:00
tcp_timewait.c Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp_usrreq.c Add a comment to tcp_usr_accept() to indicate why it is we acquire the 2010-03-06 21:38:31 +00:00
tcp_var.h Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp.h use u_char instead of u_int for short bitfields. 2010-02-01 14:13:44 +00:00
tcpip.h
toedev.h Don't check if an interface can do tcp offload if there are no offload devices registered on the system. 2008-09-01 05:30:22 +00:00
udp_usrreq.c Add pcb reference counting to the pcblist sysctl handler functions 2010-03-17 18:28:27 +00:00
udp_var.h Many network stack subsystems use a single global data structure to hold 2009-08-02 19:43:32 +00:00
udp.h Added support for NAT-Traversal (RFC 3948) in IPsec stack. 2009-06-12 15:44:35 +00:00