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

Pavlin Radoslavov pavlin at icir.org
Thu May 3 18:43:23 PDT 2007


CVSROOT:	/usr/local/share/doc/apache/cvs
Module name:	xorp
Changes by:	pavlin at xorpc.icir.org	2007-05-04 01:43:23 UTC

XORP CVS repository


Modified files:
	fea           fea_node.cc fea_node.hh ifconfig.cc ifconfig.hh 
	              ifconfig_addr_table.cc ifconfig_addr_table.hh 
	              ifconfig_reporter.cc ifconfig_reporter.hh 
	              libfeaclient_bridge.cc libfeaclient_bridge.hh 
	              mfea_node.cc mfea_node.hh xrl_fea_node.cc 
	fea/forwarding_plane/ifconfig ifconfig_set.cc 

Log message:
	Refactor the IfConfigUpdateReplicator internal mechanism for
	propagating the interface information from IfConfig to other
	FEA components:
	
	* Moved the IfConfigUpdateReplicator, IfConfigErrorReporter
	  and IfConfigAddressTable instances from FeaNode to IfConfig,
	  because this is where they belong (by functionality).
	
	* The (new) IfConfig methods to access the new instances above
	  are ifconfig_update_replicator(), ifconfig_error_reporter()
	  and ifconfig_address_table().
	
	* Refactor the implementation of IfConfigUpdateReporterBase()
	  so now it contains internally a reference to the replicator
	  and the iftree that is monitored.
	
	* Added new methods IfConfigUpdateReporterBase::add_to_replicator()
	  and remove_from_replicator() which add/remove the
	  IfConfigUpdateReporterBase instance to/from the corresponding
	  replicator.
	
	* Modify the IfConfigUpdateReplicator::add_reporter() so
	  it propagates all current interface information to new
	  IfConfigUpdateReporterBase reporters.
	
	* Modify the MfeaNode registering/de-registering for receiving
	  the FEA interface information: the registration happens
	  when MfeaNode is started, while the de-registration happens
	  when MfeaNode is stopped. This avoids unnecessary handling
	  of interface information and elimininates confusing MFEA-related
	  XLOG_INFO() messages if MfeaNode is not configured.
	
	* Refactor the MfeaNode::interface_update(), vif_update, address_update()
	  internal logic, so it is more liberal with handling the CREATED cases:
	  previously the code printed an error if CREATED was received, but
	  the MfeaNode had already created that interface internally.
	  The new logic is more liberal so CREATED will perform the CHANGED
	  operations (if the interfce was already created internally).

Revision  Changes                                 Path
1.4       +2 -5;  commitid: 17f5b463a8fb07ea6;    xorp/fea/fea_node.cc
1.5       +1 -22;  commitid: 17f5b463a8fb07ea6;   xorp/fea/fea_node.hh
1.3       +61 -41;  commitid: 17f5b463a8fb07ea6;  xorp/fea/forwarding_plane/ifconfig/ifconfig_set.cc
1.65      +12 -10;  commitid: 17f5b463a8fb07ea6;  xorp/fea/ifconfig.cc
1.59      +30 -12;  commitid: 17f5b463a8fb07ea6;  xorp/fea/ifconfig.hh
1.12      +12 -9;  commitid: 17f5b463a8fb07ea6;   xorp/fea/ifconfig_addr_table.cc
1.12      +3 -5;  commitid: 17f5b463a8fb07ea6;    xorp/fea/ifconfig_addr_table.hh
1.3       +70 -1;  commitid: 17f5b463a8fb07ea6;   xorp/fea/ifconfig_reporter.cc
1.3       +49 -3;  commitid: 17f5b463a8fb07ea6;   xorp/fea/ifconfig_reporter.hh
1.26      +9 -7;  commitid: 17f5b463a8fb07ea6;    xorp/fea/libfeaclient_bridge.cc
1.13      +6 -5;  commitid: 17f5b463a8fb07ea6;    xorp/fea/libfeaclient_bridge.hh
1.71      +22 -41;  commitid: 17f5b463a8fb07ea6;  xorp/fea/mfea_node.cc
1.40      +1 -5;  commitid: 17f5b463a8fb07ea6;    xorp/fea/mfea_node.hh
1.7       +4 -6;  commitid: 17f5b463a8fb07ea6;    xorp/fea/xrl_fea_node.cc



More information about the Xorp-cvs mailing list