No subject
Wed Apr 20 09:34:48 2005
Return-Path: xorp-cvs-admin@icir.org
Delivery-Date: Wed, 20 Apr 2005 02:35:01 -0700
Received: from wyvern.icir.org (wyvern.icir.org [192.150.187.14])
by tigger.icir.org (8.12.11/8.12.8) with ESMTP id j3K9Z10p078734
for <atanu@tigger.icir.org>; Wed, 20 Apr 2005 02:35:01 -0700 (PDT)
(envelope-from xorp-cvs-admin@icir.org)
Received: from fruitcake.ICSI.Berkeley.EDU (fruitcake.ICSI.Berkeley.EDU [192.150.186.11])
by wyvern.icir.org (8.12.11/8.12.8) with ESMTP id j3K9Z1qv041648
for <atanu@icir.org>; Wed, 20 Apr 2005 02:35:01 -0700 (PDT)
(envelope-from xorp-cvs-admin@icir.org)
Received: from fruitcake.ICSI.Berkeley.EDU (localhost [127.0.0.1])
by fruitcake.ICSI.Berkeley.EDU (8.12.10/8.12.9) with ESMTP id j3K9Z1SO004343;
Wed, 20 Apr 2005 02:35:01 -0700 (PDT)
Received: from wyvern.icir.org (wyvern.icir.org [192.150.187.14])
by fruitcake.ICSI.Berkeley.EDU (8.12.10/8.12.9) with ESMTP id j3K9YmSO004334
for <xorp-cvs@icsi.berkeley.edu>; Wed, 20 Apr 2005 02:34:48 -0700 (PDT)
Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68])
by wyvern.icir.org (8.12.11/8.12.8) with ESMTP id j3K9YmAh041643
for <xorp-cvs@icir.org>; Wed, 20 Apr 2005 02:34:48 -0700 (PDT)
(envelope-from pavlin@icir.org)
Received: from xorpc.icir.org (localhost [127.0.0.1])
by xorpc.icir.org (8.12.11/8.12.8) with ESMTP id j3K9YmJ1000971
for <xorp-cvs@icir.org>; Wed, 20 Apr 2005 02:34:48 -0700 (PDT)
(envelope-from pavlin@xorpc.icir.org)
Received: (from pavlin@localhost)
by xorpc.icir.org (8.12.11/8.12.3/Submit) id j3K9YmUi000970
for xorp-cvs@icir.org; Wed, 20 Apr 2005 09:34:48 GMT
(envelope-from pavlin)
Date: Wed, 20 Apr 2005 09:34:48 GMT
From: Pavlin Radoslavov <pavlin@icir.org>
Message-Id: <200504200934.j3K9YmUi000970@xorpc.icir.org>
To: xorp-cvs@icir.org
X-XORP-CVS-Branch: HEAD
Subject: [Xorp-cvs] XORP cvs commit: xorp/pim
Sender: xorp-cvs-admin@icir.org
Errors-To: xorp-cvs-admin@icir.org
X-BeenThere: xorp-cvs@icir.org
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:xorp-cvs-request@icir.org?subject=help>
List-Post: <mailto:xorp-cvs@icir.org>
List-Subscribe: <http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs>,
<mailto:xorp-cvs-request@icir.org?subject=subscribe>
List-Id: Mailing list for XORP CVS commit messages <xorp-cvs.icir.org>
List-Unsubscribe: <http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs>,
<mailto:xorp-cvs-request@icir.org?subject=unsubscribe>
CVSROOT: /usr/local/share/doc/apache/cvs
Module name: xorp
Changes by: pavlin@xorpc.icir.org 2005-04-20 09:34:48 UTC
XORP CVS repository
Modified files:
pim pim_mre_task.cc pim_mre_task.hh
pim_mre_track_state.cc pim_mre_track_state.hh
pim_mrib_table.cc pim_mrt.hh pim_mrt_task.cc
Log message:
Bug fix:
If MRIB entries are deleted inside PIM, some of the PimMre entries may
still refer to the deleted MRIB entries. This may happen during the
execution of the tasks that are suppose to update the pointers to the
corresponding Mrib entries (e.g., PimMre::mrib_rp() and mrib_s()).
The solution is that on startup we change the MribTable behavior to
keep all removed Mrib entries on a list instead of just deleting them.
At the end of each add/remove Mrib entries transaction,
and after we have scheduled all tasks to take care of the PimMre
updates because of the MRIB changes (i.e., the
PimMrt::add_task_mrib_changed() tasks), we add a (new) task
to delete all Mrib entries that were just removed from the MribTable.
The assumption is that by the time all actions by the
add_task_mrib_changed() task are executed, there are no more pointers
to the removed Mrib entries, and then we can safely delete them.
Bug found by: "edrt" <edrt AT citiz.net>
Revision Changes Path
1.15 +15 -1 xorp/pim/pim_mre_task.cc
1.9 +7 -1 xorp/pim/pim_mre_task.hh
1.37 +2 -1 xorp/pim/pim_mre_track_state.cc
1.21 +7 -1 xorp/pim/pim_mre_track_state.hh
1.11 +19 -2 xorp/pim/pim_mrib_table.cc
1.14 +2 -1 xorp/pim/pim_mrt.hh
1.19 +31 -1 xorp/pim/pim_mrt_task.cc
_______________________________________________
Xorp-cvs mailing list
Xorp-cvs@icir.org
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs