[Xorp-cvs] XORP cvs commit: xorp/libfeaclient
Pavlin Radoslavov
pavlin@icir.org
Tue, 1 Nov 2005 23:33:16 GMT
CVSROOT: /usr/local/share/doc/apache/cvs
Module name: xorp
Changes by: pavlin@xorpc.icir.org 2005-11-01 23:33:16 UTC
XORP CVS repository
Modified files:
libfeaclient ifmgr_xrl_replicator.cc ifmgr_xrl_replicator.hh
Log message:
Refactor the mechanism for sending the commands to the remote
targets by introducing a centralized queue for all commands.
We need this centralized mechanism to ensure that the commands
are sent to the remote targets in the order the targets are
listed. Otherwise, there could be a race condition if some of
the targets try to communicate with each other immediately after
they receive the updates.
For example, if an IP address is moved from one interface to
another, the static_routes target may receive the interface update
and send a route update to RIB before the RIB has even received the
interface update. The result of such race condition is unpredictable:
e.g., routes with incorrect next-hop interface, or routes that
are rejected by the RIB.
This fixes the remaining issue in bugzilla entry #297
Bugzilla URL: http://www.xorp.org/bugzilla/show_bug.cgi?id=297
Revision Changes Path
1.12 +116 -7; commitid: 13a694367fa157ea6; xorp/libfeaclient/ifmgr_xrl_replicator.cc
1.9 +59 -2; commitid: 13a694367fa157ea6; xorp/libfeaclient/ifmgr_xrl_replicator.hh