No subject
Tue Aug 31 01:25:55 2004
Return-Path: xorp-cvs-admin@icir.org
Delivery-Date: Mon, 30 Aug 2004 18:26: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 i7V1Q1II019092
for <atanu@tigger.icir.org>; Mon, 30 Aug 2004 18:26: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.9p1/8.12.8) with ESMTP id i7V1Q1Ru025432
for <atanu@icir.org>; Mon, 30 Aug 2004 18:26: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 i7V1Q0kf000194;
Mon, 30 Aug 2004 18:26: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 i7V1Pukf000183
for <xorp-cvs@icsi.berkeley.edu>; Mon, 30 Aug 2004 18:25:56 -0700 (PDT)
Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68])
by wyvern.icir.org (8.12.9p1/8.12.8) with ESMTP id i7V1PuRu025430
for <xorp-cvs@icir.org>; Mon, 30 Aug 2004 18:25:56 -0700 (PDT)
(envelope-from atanu@icir.org)
Received: from xorpc.icir.org (localhost [127.0.0.1])
by xorpc.icir.org (8.12.9p1/8.12.8) with ESMTP id i7V1Pu8M068434
for <xorp-cvs@icir.org>; Mon, 30 Aug 2004 18:25:56 -0700 (PDT)
(envelope-from atanu@xorpc.icir.org)
Received: (from atanu@localhost)
by xorpc.icir.org (8.12.9p1/8.12.3/Submit) id i7V1PtUa068433
for xorp-cvs@icir.org; Tue, 31 Aug 2004 01:25:55 GMT
(envelope-from atanu)
Date: Tue, 31 Aug 2004 01:25:55 GMT
From: Atanu Ghosh <atanu@icir.org>
Message-Id: <200408310125.i7V1PtUa068433@xorpc.icir.org>
To: xorp-cvs@icir.org
X-XORP-CVS-Branch: HEAD
Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp
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/www/data/cvs
Module name: xorp
Changes by: atanu@xorpc.icir.org 2004-08-31 01:25:55 UTC
XORP CVS repository
Modified files:
bgp next_hop_resolver.cc
Log message:
bgp/harness/test_rib1.sh -t test9
Was occasionally failing on multiprocessor Linux box (koala).
This is a simple test, a route is originated by BGP for which the
nexthop does resolve. A route is added then immediately deleted from
the RIB. This sequence of events will cause the nexthop to resolve
and a BGP add route should be generated followed by a BGP withdraw
route. The test does not check for the generation of the packet only
that BGP is still running at the end of the test. Unfortunately BGP
was failing.
BGP RIB
<- route_info_invalid4
deregister_interest4 ->
A route add followed by an immediate route delete is sent to the
RIB. The RIB sends a message to BGP telling it that the route which
has been deleted from the RIB is invalid. At the same time BGP is
de-registering interest in this route. By the time the de-register
reaches the RIB it no longer has a registration, it returns an error
to BGP which considers any error fatal.
The BGP process is unexpectedly de-registering interest in this next
hop because in RibInTable<A>::push_next_changed_nexthop(), a replace
route has been replaced with a delete route followed by an
add_route. The delete route causes this de-registration.
This condition race has always existed.
The nexthop code was already storing any premature invalidates that it
received. When a de-register fails check the premature invalidate
state.
Revision Changes Path
1.32 +16 -3 xorp/bgp/next_hop_resolver.cc
_______________________________________________
Xorp-cvs mailing list
Xorp-cvs@icir.org
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs