[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