Re: [rbridge] a stronger RPF check for TRILL
Anoop Ghanwani <anoop@alumni.duke.edu> Fri, 09 March 2012 13:07 UTC
Return-Path: <rbridge-bounces@postel.org>
X-Original-To: ietfarch-trill-archive-Osh9cae4@ietfa.amsl.com
Delivered-To: ietfarch-trill-archive-Osh9cae4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E74C321F8657 for <ietfarch-trill-archive-Osh9cae4@ietfa.amsl.com>; Fri, 9 Mar 2012 05:07:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.327
X-Spam-Level:
X-Spam-Status: No, score=-3.327 tagged_above=-999 required=5 tests=[AWL=-0.250, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_55=0.6, MANGLED_DIET=2.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id epyO2V-F2XUJ for <ietfarch-trill-archive-Osh9cae4@ietfa.amsl.com>; Fri, 9 Mar 2012 05:07:39 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by ietfa.amsl.com (Postfix) with ESMTP id 1980F21F8606 for <trill-archive-Osh9cae4@lists.ietf.org>; Fri, 9 Mar 2012 05:07:38 -0800 (PST)
Received: from boreas.isi.edu (localhost [127.0.0.1]) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id q29CqKS1019946; Fri, 9 Mar 2012 04:52:21 -0800 (PST)
Received: from mail-pw0-f52.google.com (mail-pw0-f52.google.com [209.85.160.52]) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id q29Cptgw019923 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <rbridge@postel.org>; Fri, 9 Mar 2012 04:52:04 -0800 (PST)
Received: by pbcuo15 with SMTP id uo15so3430416pbc.39 for <rbridge@postel.org>; Fri, 09 Mar 2012 04:51:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=bfVWLbDon9r0OYUTK9REPKnDA739xgN8J/ryQcApvk4=; b=Z++7GwCbfd9VkmiW7TQjd5XjJw57IIJhvS1Na8X/zvAag4Xcs/SS++wBsNc43J5j/F uAL4d8x9HQsHD0vKbLboVNy0OCGDLNtKBFlelE9ebpcBv0b1PmIvJzwpos8Dk9v+8219 V+Awt9F2rdlUWNxuGwRksPyJAtt20bLZ6aswTCwOTC9TyH1IDHD8MsOKxi1EOU2RYOot gv2Q+HOBI3ta0uFRdM0WxVj1/yI4GUAY2bGyB5bCK2t0DNJZaCRI+oyJzuujFEyqi7w2 zUhcJUTKZxbLsmbSM7tl10jyk0C9HYtVV2AfUKgq2bTyAhqx3smNZhEy1mF1CfMy4nYf LnXA==
MIME-Version: 1.0
Received: by 10.68.125.196 with SMTP id ms4mr4068041pbb.131.1331297515558; Fri, 09 Mar 2012 04:51:55 -0800 (PST)
Received: by 10.142.154.10 with HTTP; Fri, 9 Mar 2012 04:51:55 -0800 (PST)
In-Reply-To: <OF717BEAAE.B04DF3B2-ON872579BB.00608789-882579BB.00615D1A@us.ibm.com>
References: <OF717BEAAE.B04DF3B2-ON872579BB.00608789-882579BB.00615D1A@us.ibm.com>
Date: Fri, 09 Mar 2012 04:51:55 -0800
X-Google-Sender-Auth: fV6HHg0rFHMgpiY1VdM47DkAM8Y
Message-ID: <CA+-tSzwj5KRZnBAnPQYsN=hvm-tV1MsefXN8NqKvoh3RbHHOEQ@mail.gmail.com>
From: Anoop Ghanwani <anoop@alumni.duke.edu>
To: Santosh Rajagopalan <sunny.rajagopalan@us.ibm.com>
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: ghanwani@gmail.com
Cc: rbridge@postel.org
Subject: Re: [rbridge] a stronger RPF check for TRILL
X-BeenThere: rbridge@postel.org
X-Mailman-Version: 2.1.6
Precedence: list
List-Id: "Developing a hybrid router/bridge." <rbridge.postel.org>
List-Unsubscribe: <http://mailman.postel.org/mailman/listinfo/rbridge>, <mailto:rbridge-request@postel.org?subject=unsubscribe>
List-Archive: <http://mailman.postel.org/pipermail/rbridge>
List-Post: <mailto:rbridge@postel.org>
List-Help: <mailto:rbridge-request@postel.org?subject=help>
List-Subscribe: <http://mailman.postel.org/mailman/listinfo/rbridge>, <mailto:rbridge-request@postel.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: rbridge-bounces@postel.org
Errors-To: rbridge-bounces@postel.org
The tree adjacency check already accounts for this. http://tools.ietf.org/html/rfc6325#section-4.6.2.5 >> The Outer.MacSA is checked and the frame discarded if it is not a tree adjacency for the tree indicated by the egress RBridge nickname on the port where the frame was received. >> This is done in addition to the port-based RPF check. Anoop On Thu, Mar 8, 2012 at 9:43 AM, Santosh Rajagopalan <sunny.rajagopalan@us.ibm.com> wrote: > It appears the the multidestination frame checks present in TRILL may not be > strong enough to cover some cases of packet duplicates during network > transition scenarios. In this email, I'm going to suggest a modification of > the TRILL RPF check to cover these cases. > > The root problem is that there's a notion of directionality built into the > RPF concept ("accept packets from X along this vector"). In a p2p link, > specifying the port alone uniquely qualifies that vector. However, in a > multiaccess link, there are many "links/adjacencies" overlaid on the > physical link. To identify one of them, you need to specify both the > outer_smac *and* the port. So the RPF check should actually be "accept > packets from X along (outer_smac, port)". > > Consider this network: > > F--A--B--C--o--D > All the links except the link between C and D are p2p links. C and D are > connected over a classical ethernet network (represented by the pseudonode > "o"). Let's say D gets picked as the root for a multidestination tree (the > choice of root is unimportant here). > The resulting tree looks like: > > F--A--B--C--o--D > > Now lets say that a link comes up from A to the same classical ethernet > network. So the network looks like this: > ________ > | | > F--A--B--C--o--D > > Let's say the resulting tree in steady state includes all links except the > B-C link. After the network has converged, a packet that starts out from F > will go F->A, where A will send one copy to the A-B link and another copy > into the CE network, from where it will be received by C and D. > > However, lets consider a transition stage where A and D have acted on their > LSPs and programmed their forwarding plane, while B and C have not yet done > so. > This means that B and C both consider the link between them to still be part > of the tree. > > So a packet that starts out from F and reaches A will be copied by A into > the A-B link and the A-o link. D's RPF check says to accept packets on this > tree coming from F over its link to the CE network, so it gets accepted. D > is also adjacent to A on the tree, so the tree adjacency check also passes. > > However, the packet that gets to B gets sent out by B to C. C's RPF check > still has the old state, and it thinks the packet is ok. C sends the packet > along the old tree, which is towards the CE network. D receives one more > packet, but the tree adjacency check passes because C is adjacent to D in > the new tree as well. The RPF check also passes because D's link to the CE > network is ok for receiving packets from A. > > So now D gets duplicates of every packet until B and C act on their LSPs and > program their hardware tables. The AF state is (I believe) irrelevant here > because we're talking about TRILL encapsulated packets, not native CE > frames. > > In the example above, the adjacency check alone doesn't help, because the > rbridge D has adjacencies to both A & C on the tree. A check on (port, smac) > will pass for packets from both A and C. > > The only check which can stop this from happening, I believe, is if you > replace the current RPF check which looks like this: > {tree_id, source_rbridge}->{allowed_port} > > with a modified check which looks like this: > > {tree_id, rbridge}->{allowed_port, allowed_outer_smac} > > This will make sure that packets will be accepted by D only if they were > sent by A. This combined check can be a replacement for the currently > separate adjacency and RPF checks. > > Thoughts? > -- > Sunny Rajagopalan > > > _______________________________________________ > rbridge mailing list > rbridge@postel.org > http://mailman.postel.org/mailman/listinfo/rbridge > _______________________________________________ rbridge mailing list rbridge@postel.org http://mailman.postel.org/mailman/listinfo/rbridge
- Re: [rbridge] a stronger RPF check for TRILL Donald Eastlake
- [rbridge] a stronger RPF check for TRILL Santosh Rajagopalan
- Re: [rbridge] a stronger RPF check for TRILL Anoop Ghanwani
- Re: [rbridge] a stronger RPF check for TRILL Radia Perlman
- Re: [rbridge] a stronger RPF check for TRILL Jon Hudson
- Re: [rbridge] a stronger RPF check for TRILL letracy
- Re: [rbridge] a stronger RPF check for TRILL Santosh Rajagopalan
- Re: [rbridge] a stronger RPF check for TRILL Sam Aldrin
- Re: [rbridge] a stronger RPF check for TRILL letracy
- Re: [rbridge] a stronger RPF check for TRILL Donald Eastlake
- Re: [rbridge] a stronger RPF check for TRILL Santosh Rajagopalan