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

Pavlin Radoslavov pavlin at icir.org
Tue Jul 25 02:46:43 PDT 2006


CVSROOT:	/usr/local/share/doc/apache/cvs
Module name:	xorp
Changes by:	pavlin at xorpc.icir.org	2006-07-25 09:46:42 UTC

XORP CVS repository


Modified files:
	fea           ifconfig.cc ifconfig.hh ifconfig_set.cc 
	              ifconfig_set.hh iftree.cc iftree.hh 

Log message:
	If an interface's "enable" status is flipped internally (i.e., the
	interface was enabled, then it was disabled and enabled again)
	for the purpose of writing some other configuration to the kernel
	(e.g., the MAC address or the MTU), then report this change to all
	parties that are listening for interface status (e.g., libfeaclient).
	
	This fixes a bug when modifying the MAC address of an interface
	removes XORP routes from the kernel, because on some OS (e.g,, Linux)
	disabling an interface automatically removes the kernel routes
	that use that interface.
	
	Previously, the routing protocols didn't realize that their routes
	were automatically removed from the kernel because of the internal
	interface flipping. By propagating the disable/enable to the routing
	protocols, they will learn about the change.
	Then, eventually each routing protocol will try to delete its routes
	that use that interface when it learns that the interface is disabled.
	After it learns that the interface is again enabled, the routing
	protocol will try to introduce again those routes.
	
	Bug found by:   Vyatta

Revision  Changes                                Path
1.51      +51 -3;  commitid: 1282744c5e4d17ea6;  xorp/fea/ifconfig.cc
1.48      +2 -2;  commitid: 1282744c5e4d17ea6;   xorp/fea/ifconfig.hh
1.38      +4 -2;  commitid: 1282744c5e4d17ea6;   xorp/fea/ifconfig_set.cc
1.43      +2 -2;  commitid: 1282744c5e4d17ea6;   xorp/fea/ifconfig_set.hh
1.36      +12 -4;  commitid: 1282744c5e4d17ea6;  xorp/fea/iftree.cc
1.37      +25 -1;  commitid: 1282744c5e4d17ea6;  xorp/fea/iftree.hh



More information about the Xorp-cvs mailing list