Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Nov 1995 11:44:01 -0800
From:      David Greenman <davidg@Root.COM>
To:        tim@sssun.spb.su
Cc:        hackers@freebsd.org, olah@freebsd.org, wollman@freebsd.org
Subject:   Re: TIME_WAIT and linear chain of TCPCBs (was: ...beat a WEB server to death) 
Message-ID:  <199511181944.LAA00714@corbin.Root.COM>
In-Reply-To: Your message of "Sat, 18 Nov 95 21:59:16 %2B0300." <WB4qYhmKRz@sssun.spb.su> 

next in thread | previous in thread | raw e-mail | index | archive | help
>I still have no time to look in 2.1 sources, but in 2.0.5 there was
>a bug in ip_icmp.c in ICMP_UNREACH type processing.
>It look like a misprint, you may see it from a diff:
>
>*** ip_icmp.c.orig	Tue May 30 12:09:42 1995
>--- ip_icmp.c	Sat Oct 21 13:01:50 1995
>***************
>*** 240,246 ****
>  			case ICMP_UNREACH_PROTOCOL:
>  			case ICMP_UNREACH_PORT:
>  			case ICMP_UNREACH_SRCFAIL:
>! 				code += PRC_UNREACH_NET;
>  				break;
>  
>  			case ICMP_UNREACH_NEEDFRAG:
>--- 240,246 ----
>  			case ICMP_UNREACH_PROTOCOL:
>  			case ICMP_UNREACH_PORT:
>  			case ICMP_UNREACH_SRCFAIL:
>! 				code = PRC_UNREACH_NET;
>  				break;
>  
>  			case ICMP_UNREACH_NEEDFRAG:
>
>----------------
>
>This may lead to a large number of TCP connections in SYN RECEIVED state,
>for ex. on large mail relays when some site without a back route to it is
>trying to semd mail to this relay. It sends SYN, which reach relay via
>for ex. default route. Relay sends SYN back, but get ICMP_UNREACH as
>a reply :-(. But because of this misprint tcp socket will not be closed
>as it should be, but will hang waiting for timeout expire.

   I believe the original code is correct. Occording to Stevens' TCP/IP
Illustrated when discussing this fragment:

"There is an implied ordering of the PRC_ constants that matches the ICMP
'code' values. This explains why 'code' is incremented by a PRC_ constant."

-DG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511181944.LAA00714>