[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