NetBSD/sys/netinet
thorpej 4dbfe05f1f Use an algorithm similar to that in tcp_notify() to determine if
syn_cache_unreach() should remove the entry, or just continue on.

Algorithm is to only remove the entry if we've had more than one unreach
error and have retransmitted 3 or more times.  This prevents the following
scenario, as noted in PR #5909 (PR from Ty Sarna, scenario from
Charles Hannum):

	* Host A sends a SYN.
	* Host A retransmits the SYN.
	* Host B gets the first SYN and sends a SYN-ACK.
	* Host B gets the second SYN and sends a SYN-ACK.
	* One of the SYN-ACK bounces with an
	  ICMP unreachable, causing the `SYN cache' entry to be
	  removed with no notification.
	* Host A receives the other SYN-ACK, sends an ACK, and goes to
	  ESTABLISHED state.

Should fix PR #5909.
1998-09-09 01:32:27 +00:00
..
fil.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
icmp_var.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
if_arp.c defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
if_atm.c defopt NATM. 1998-07-05 22:48:05 +00:00
if_atm.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
if_ether.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
if_inarp.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
igmp_var.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
igmp.c Change list of interface IP addresses to a hash. Improves performance on hosts with a large number of IP addresses significantly. 1998-02-13 18:21:38 +00:00
igmp.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
in_cksum.c
in_pcb.c Use the pool allocator for inpcbs. 1998-08-02 00:35:31 +00:00
in_pcb.h Move the ppcb pointer towards the front of the structure so that it and the 1998-05-18 17:10:37 +00:00
in_proto.c Garbage collect imp' and hy'. We don't have the rest of the code, and 1998-07-15 17:39:20 +00:00
in_systm.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
in_var.h Fix the NEXT_IA_WITH_SAME_ADDR macro introduced in 1.27: it was finding 1998-08-14 06:57:54 +00:00
in.c Add SIOCGIFALIAS 1998-09-06 17:52:01 +00:00
in.h Protect _XOPEN_SOURCE against sysctl MIB identifiers. 1998-09-05 19:03:25 +00:00
ip_auth.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_auth.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
ip_compat.h Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_fil.c Fix PR5559: if fast-forwarding, DF set, and packet too large, send ICMP error.. 1998-07-17 00:35:23 +00:00
ip_fil.h Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_flow.c Truncate mbufs to the correct length before forwarding; fixes pr5560 1998-06-10 00:47:57 +00:00
ip_frag.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_frag.h Resolve conflicts from the import of IPFilter 3.2.7. 1998-05-29 20:24:36 +00:00
ip_ftp_pxy.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_icmp.c Add support for deletion of routes added by path MTU discovery; 1998-04-29 03:44:11 +00:00
ip_icmp.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
ip_input.c defopt PFIL_HOOKS. 1998-08-09 08:58:18 +00:00
ip_log.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_mroute.c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
ip_mroute.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
ip_nat.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_nat.h Resolve conflicts from the import of IPFilter 3.2.7. 1998-05-29 20:24:36 +00:00
ip_output.c defopt PFIL_HOOKS. 1998-08-09 08:58:18 +00:00
ip_proxy.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_proxy.h Resolve conflicts 1998-05-17 16:50:15 +00:00
ip_state.c Resolve conflicts from the import. 1998-07-12 15:23:59 +00:00
ip_state.h Resolve conflicts from the import of IPFilter 3.2.7. 1998-05-29 20:24:36 +00:00
ip_var.h In addition to the IP flow hash table, put the flows on a list. The table 1998-06-02 15:48:03 +00:00
ip.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
Makefile Rework the way kernel include files are installed. In the new method, 1998-06-12 23:22:30 +00:00
raw_ip.c Fix a bug which would cause a panic in soreceive() if multiple raw 1998-04-03 07:49:16 +00:00
tcp_debug.c
tcp_debug.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
tcp_fsm.h Back out the change from TCP/IP vol 2, in revision 1.7, which removed TH_FIN 1998-07-09 05:49:56 +00:00
tcp_input.c Use an algorithm similar to that in tcp_notify() to determine if 1998-09-09 01:32:27 +00:00
tcp_output.c Implement a better fix for the `gratuitous FIN' problem, as 1998-07-21 10:46:00 +00:00
tcp_seq.h Make the randomized part of the ISS 24 bits. 1998-09-04 22:34:51 +00:00
tcp_subr.c Fix a couple of bogons related to tcp_new_iss(): 1998-09-04 22:29:54 +00:00
tcp_timer.c Fix a couple of bogons related to tcp_new_iss(): 1998-09-04 22:29:54 +00:00
tcp_timer.h Define all TCP timers in terms of PRT timers. 1998-05-07 01:30:46 +00:00
tcp_usrreq.c Use macros from tcp_timer.h to manipulate TCP timers, so that their 1998-05-06 01:21:20 +00:00
tcp_var.h Use an algorithm similar to that in tcp_notify() to determine if 1998-09-09 01:32:27 +00:00
tcp.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
tcpip.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
udp_usrreq.c Finishing merging 4.4BSD-Lite2 netinet. At this point, the only changes 1998-01-05 10:31:44 +00:00
udp_var.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
udp.h add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00