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

Marko Zec zec at icir.org
Thu Jun 22 10:02:46 PDT 2006


CVSROOT:	/usr/local/share/doc/apache/cvs
Module name:	xorp
Changes by:	zec at xorpc.icir.org	2006-06-22 17:02:46 UTC

XORP CVS repository


Modified files:
	rib           redist_xrl.cc redist_xrl.hh 

Log message:
	Bugfix: RedistXrlOutput<A>::task_completed() was trying to start
	dequeuing XRL requests even if the request queue was empty, which
	was triggering an assert at the beginning of
	RedistXrlOutput<A>::start_next_task()
	
	It seems that it is possible for the XRL router to occassionaly fail
	to accept a new request even if there are no other XRLs in flight.
	This was observed through an assert in the
	RedistXrlOutput<A>::start_next_task() dequeuing loop being triggered
	several times on pal.  As a temporary measure this assert is now
	converted to a warning: we need to understand better when and why
	exactly the dispatching of XRL requests can occasionaly fail.
	
	Moreover, if the dispatch fails with no requests in flight (and thus
	no callbacks pending which could later resume the dequeuing), a
	synthetic pause is generated which will attempt to retry dispatching
	the original request after 10 ms.
	
	Bug found by:   Atanu

Revision  Changes                                Path
1.27      +60 -25;  commitid: 7196449acb427ea6;  xorp/rib/redist_xrl.cc
1.12      +2 -5;  commitid: 7196449acb427ea6;    xorp/rib/redist_xrl.hh



More information about the Xorp-cvs mailing list