[Xorp-cvs] XORP cvs commit: xorp/bgp

Pavlin Radoslavov pavlin@icir.org
Sat Apr 29 09:23:56 PDT 2006


CVSROOT:	/usr/local/share/doc/apache/cvs
Module name:	xorp
Changes by:	pavlin@xorpc.icir.org	2006-04-29 08:23:56 UTC

XORP CVS repository


Modified files:
	bgp           peer.cc 

Log message:
	If the TCP connection fails, and if the DelayOpenTimer is not
	running, then change the peer state first to Idle
	before changing it right after that to Active.
	
	Note that in reality we are checking whether the DelayOpenTimer is
	running, simply because there is no such timer (the _idle_hold timer
	is reused instead). Hence, we check configured DelayOpenTime value,
	by making the assumption that if it is zero then the DelayOpenTimer
	is not running.
	
	This fixes UNH BGP Test 2.2G.
	
	A side note:
	Typically we cannot trigger the "TCP connection fails (Event 18)"
	scenario, because on Linux-2.6 for example it takes approximately
	4 minutes to timeout the TCP connection if nothing is received from
	the other side.
	
	However, in the BGP implementation there is a timer in the interval
	90-120 seconds that automatically tries to reconnect to the peer if
	the previous attempt failed (the ConnectRetryTimer).
	Hence, we try to reconnect before the TCP connection attempt times
	out.
	
	For testing purpose, the following command can be used on Linux
	to reduce the TCP timeout value to approx. 60 seconds so we can
	trigger the "TCP connection fails" event:
	
	echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
	
	Bug found by:   Mike Cleary <mcleary AT iol.unh.edu>

Revision  Changes                               Path
1.136     +15 -3;  commitid: 1759445320037ea6;  xorp/bgp/peer.cc




More information about the Xorp-cvs mailing list