No subject
Fri Jan 24 11:50:03 2003
Return-Path: xorp-cvs-admin@icir.org
Delivery-Date: Fri, 24 Jan 2003 11:51:03 -0800
Received: from wyvern.icir.org (wyvern.icir.org [192.150.187.14])
by tigger.icir.org (8.12.3/8.12.3) with ESMTP id h0OJp3Rw091074
for <atanu@tigger.icir.org>; Fri, 24 Jan 2003 11:51:03 -0800 (PST)
(envelope-from xorp-cvs-admin@icir.org)
Received: from ICSI.Berkeley.EDU (fruitcake.ICSI.Berkeley.EDU [192.150.186.11])
by wyvern.icir.org (8.12.3/8.12.3) with ESMTP id h0OJp260003017
for <atanu@icir.org>; Fri, 24 Jan 2003 11:51:02 -0800 (PST)
(envelope-from xorp-cvs-admin@icir.org)
Received: from fruitcake.icsi.Berkeley.EDU (localhost [127.0.0.1])
by ICSI.Berkeley.EDU (8.9.0/8.9.0) with ESMTP id LAA09969;
Fri, 24 Jan 2003 11:51:02 -0800 (PST)
Received: from wyvern.icir.org (wyvern.icir.org [192.150.187.14])
by ICSI.Berkeley.EDU (8.9.0/8.9.0) with ESMTP id LAA09934
for <xorp-cvs@icsi.berkeley.edu>; Fri, 24 Jan 2003 11:50:03 -0800 (PST)
Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68])
by wyvern.icir.org (8.12.3/8.12.3) with ESMTP id h0OJo360002995
for <xorp-cvs@icir.org>; Fri, 24 Jan 2003 11:50:03 -0800 (PST)
(envelope-from pavlin@xorpc.icir.org)
Received: from xorpc.icir.org (localhost [127.0.0.1])
by xorpc.icir.org (8.12.3/8.12.3) with ESMTP id h0OJo3NU017024
for <xorp-cvs@icir.org>; Fri, 24 Jan 2003 11:50:03 -0800 (PST)
(envelope-from pavlin@xorpc.icir.org)
Received: (from pavlin@localhost)
by xorpc.icir.org (8.12.3/8.12.3/Submit) id h0OJo3pg017023;
Fri, 24 Jan 2003 11:50:03 -0800 (PST)
(envelope-from pavlin)
From: Pavlin Radoslavov <pavlin@icir.org>
Message-Id: <200301241950.h0OJo3pg017023@xorpc.icir.org>
Date: Fri, 24 Jan 2003 11:50:03 ()
To: xorp-cvs@icir.org
Reply-To: pavlin@icir.org
Subject: [Xorp-cvs] XORP cvs commit: xorp/pim/ pim_mre.cc pim_mre_task.cc pim_mrt_task.cc
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
Repository: xorp/pim/
Changes by: pavlin@xorpc.icir.org. 03/01/24 11:50:03
Modified files:
xorp/pim/: pim_mre.cc pim_mre_task.cc pim_mrt_task.cc
Log message:
Fix the mechanism for deletion of PimMre entries:
If an entry is marked for deletion, then schedule a task
that will adjust the pointers from other related PimMre
entries to that entry.
When the task is executed, it will check first whether the
entry is still a candidate for removal (e.g., if there was
a Join message received right before this task was run).
Only if the entry is still a candidate for removal, then pull
it out of the multicast routing lookup table, and adjust
the pointers to that entry.
After all entries scheduled for removal with the same task
have been processed and pulled out, then free the memory
they are using.
Previously, a PimMre routing entry was pulled-out of the lookup
table right when the "PimMre delete" task was scheduled, and then
the task had only to adjust the pointers to it and to free its
memory.
However, this created the race condition that there might be
already some other tasks (scheduled to run before the
"PimMre delete" task) that may be refering to (and modifying)
this entry. If the PimMre entry was already pulled-out of
the multicast routing lookup table, then those tasks will be
modifying "half-dead" PimMre entry, and there will be
some loss of information.
_______________________________________________
Xorp-cvs mailing list
Xorp-cvs@icir.org
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs