Re: [Bier] Explicit Tracking

Eric C Rosen <erosen@juniper.net> Thu, 08 January 2015 16:00 UTC

Return-Path: <erosen@juniper.net>
X-Original-To: bier@ietfa.amsl.com
Delivered-To: bier@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B88C31A8ABC for <bier@ietfa.amsl.com>; Thu, 8 Jan 2015 08:00:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xKVtd43nukl9 for <bier@ietfa.amsl.com>; Thu, 8 Jan 2015 08:00:42 -0800 (PST)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0767.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::767]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DB2F91A8AD1 for <bier@ietf.org>; Thu, 8 Jan 2015 08:00:40 -0800 (PST)
Received: from [172.29.33.129] (66.129.241.13) by BY1PR0501MB1095.namprd05.prod.outlook.com (25.160.103.141) with Microsoft SMTP Server (TLS) id 15.1.49.12; Thu, 8 Jan 2015 16:00:17 +0000
Message-ID: <54AEA989.50803@juniper.net>
Date: Thu, 08 Jan 2015 11:00:09 -0500
From: Eric C Rosen <erosen@juniper.net>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: "Dolganow, Andrew (Andrew)" <andrew.dolganow@alcatel-lucent.com>, "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>, BIER <bier@ietf.org>
References: <54AC0915.4000804@juniper.net> <D0D19F9D.65458%andrew.dolganow@alcatel-lucent.com> <54AD487B.5050302@juniper.net> <D0D2B388.655F1%andrew.dolganow@alcatel-lucent.com> <BY2PR05MB079F0A6214471A92520A23DD4460@BY2PR05MB079.namprd05.prod.outlook.com> <D0D2B6F4.65606%andrew.dolganow@alcatel-lucent.com> <54AD546B.9040409@juniper.net> <D0D2C22E.65657%andrew.dolganow@alcatel-lucent.com>
In-Reply-To: <D0D2C22E.65657%andrew.dolganow@alcatel-lucent.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [66.129.241.13]
X-ClientProxiedBy: BLUPR11CA0022.namprd11.prod.outlook.com (10.141.240.32) To BY1PR0501MB1095.namprd05.prod.outlook.com (25.160.103.141)
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=erosen@juniper.net;
X-DmarcAction: None
X-Microsoft-Antispam: UriScan:;
X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(3005003);SRVR:BY1PR0501MB1095;
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA: BCL:0; PCL:0; RULEID:(601004); SRVR:BY1PR0501MB1095;
X-Forefront-PRVS: 0450A714CB
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6049001)(6009001)(479174004)(24454002)(35774003)(189002)(199003)(51704005)(377424004)(377454003)(64126003)(76176999)(50986999)(31966008)(92566001)(93886004)(62966003)(77156002)(2950100001)(77096005)(36756003)(42186005)(65816999)(54356999)(23746002)(68736005)(50466002)(122386002)(86362001)(47776003)(20776003)(64706001)(87976001)(65806001)(106356001)(105586002)(4396001)(46102003)(101416001)(99396003)(21056001)(120916001)(1941001)(40100003)(97736003)(66066001)(83506001)(33656002)(107046002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0501MB1095; H:[172.29.33.129]; FPR:; SPF:None; MLV:sfv; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
Received-SPF: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
X-Exchange-Antispam-Report-CFA: BCL:0;PCL:0;RULEID:;SRVR:BY1PR0501MB1095;
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2015 16:00:17.0397 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0501MB1095
Archived-At: <http://mailarchive.ietf.org/arch/msg/bier/3g0BP_MZuwPSbsCFzeB7neMGUe4>
Cc: erosen@juniper.net
Subject: Re: [Bier] Explicit Tracking
X-BeenThere: bier@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"Bit Indexed Explicit Replication discussion list\"" <bier.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bier>, <mailto:bier-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/bier/>
List-Post: <mailto:bier@ietf.org>
List-Help: <mailto:bier-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bier>, <mailto:bier-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 16:00:47 -0000

On 1/7/2015 11:07 AM, Dolganow, Andrew (Andrew) wrote:
> Eric,
>
> I think we converged.

Yes, I don't think we have any real disagreement.

> Please note that my draft allows any wildcard tracking, so I assume you
> not limiting tracking to only (C-*, C-G) wildcard as per below, correct?

I think we are in agreement here, but for clarity we need to distinguish 
between two different things:

- The PIM receive states, which are always either (C-S,C-G) or (C-*,C-G).

- The NLRI of the S-PMSI A-D route, which may contain (C-S,C-G), 
(C-*,C-G), (C-S,C-*), or (C-*,C-*).

RFC6625 gives the rules for determining which S-PMSI A-D route matches 
which PIM receive state.  Note, for example, that a PIM receive state of 
(C-S,C-G) or (C-*,C-G) might match an S-PMSI A-D route whose NLRI 
contains (C-*,C-*).  Or a PIM receive state of (C-S,C-G) might match an 
S-PMSI A-D route whose NLRI contains (C-S,C-*).

Any S-PMSI A-D route should be able to invoke explicit tracking of the 
receive states that match it.

>
> Since this is a general explicit tracking, I propose we merge the two
> proposals, so everyone can look at this from general explicit tracking
> procedures for any case.
>
> We probably should then bring this discussion to BLESS.

Sounds like a good plan (assuming you mean BESS ;-)).

>
> Andrew
>
>
>
> On 2015-01-07, 10:44 AM, "Eric C Rosen" wrote:
>
>> Let me write down how I think explicit tracking should work, and you can
>> tell me whether (a) it's at odds with what's in your draft, or (b) it
>> duplicates what's in your draft, or (c) it extends what's in your draft
>> in a useful way, or (d) it extends what's in your draft in a useless way
>> ;-)
>>
>> (Perhaps this discussion really belongs on the BESS ML, but we might as
>> well continue it here for a little while.)
>>
>> RFC6625 (and other RFCs or RFCs-to-be that update RFC6625) specify a
>> set of rules for finding the S-PMSI A-D route that is the "match for
>> reception" for a given (C-S,C-G) or (C-*,C-G) state.  As
>> draft-dolganow-l3vpn-mvpn-expl-track points out, the defintion of "match
>> for reception" needs to be modified as follows:
>>
>>     When finding the "match for reception" for a given (C-S,C-G) or
>>     (C-*,C-G), ignore any S-PMSI A-D route that has no PMSI Tunnel
>>     attribute (PTA), or that has a PTA specifying "no tunnel info".
>>
>> I'd like to propose now to introduce a new notion: the "match for
>> tracking".  This differs from the "match for reception" as follows:
>>
>>     For a given C-flow ((C-S,C-G) or (C-*,C-G)) the "match for tracking"
>>     is chosen as follows.  Ignore any S-PMSI A-D route that has no PTA,
>>     or whose PTA does not have either LIR or LIR-pF set.  (In particular,
>>     DO NOT ignore an S-PMSI A-D route that has a PTA specifying "no
>>     tunnel info", but whose LIR or LIR-pF bits are set).  Then apply the
>>     rules (from RFC6625 and other RFCs or RFCs-to-be that update it) for
>>     finding the "match for reception".  The result (if any) is the
>>     match for tracking".
>>
>> For example, suppose a given PE router, PE1, has chosen PE2 as the
>> "upstream PE" for a given (C-S1,C-G1).  And suppose PE1 has installed
>> the following two routes that were originated by PE2:
>>
>> Route1: A (C-*,C-*) S-PMSI A-D route, whose PTA specifies a tunnel.
>>
>> Route2: A (C-S1,C-G1) S-PMSI A-D route, whose PTA specifies "no tunnel
>> info" and has LIR set.
>>
>> Route1 is (C-S1,C-G1)'s match for reception, and Route2 is (C-S1,C-G1)'s
>> match for tracking.
>>
>> Note that if there is no installed S-PMSI A-D route for (C-S2,C-G2),
>> then Route1 would be (C-S2,C-G2)'s match for reception and also its
>> match for tracking.
>>
>> As another example, suppose PE1 has installed the following two routes
>> that were originated by PE2:
>>
>> Route3: A (C-*,C-*) S-PMSI A-D route (irrespective of whether the PTA
>> specifies a tunnel)
>>
>> Route4: A (C-S1,C-G1) S-PMSI A-D route whose PTA specifies a tunnel.
>>
>> Then Route 4 is both the "match for reception" and the "match for
>> tracking" for (C-S1,C-G1).
>>
>> Note that for a particular C-flow, the PE1's match for reception might
>> be the same route as its match for tracking, or its match for reception
>> might be a "less specific" route than its match for tracking.  But its
>> match for reception can never be a "more specific" route than its match
>> for tracking.
>>
>> Now we have a number of cases to look at:
>>
>> 1. PE1's match for tracking the is same as its match for reception, but
>> neither LIR nor LIR-pF flags are on.  In this case, there is no explicit
>> tracking for the C-flow.  The match for reception is processed
>> according to existing procedures.
>>
>> 2. PE1's match for tracking is the same as its match for reception, LIR
>> is set, LIR-pF is not set.  In this case, existing procedures are
>> followed.
>>
>> 3. PE1's match for tracking is the same as its match for reception, and
>> LIR-pF is set.  This case is discussed in a previous message.
>>
>> 4. PE1's match for tracking is not the same as its match for reception.
>> This can only happen if the match for tracking has a PTA specifying "no
>> tunnel info", with either LIR or LIR-pF set.  In this case, PE1 must
>> respond both to the match for tracking and to the match for reception.
>> To respond to the match for tracking, PE1 originates one or more Leaf
>> A-D routes; the PTA of each such route will specify "no tunnel info".
>> Construction of the NLRI of the Leaf A-D route is as specified in
>> RFC6514 (if LIR is set) or as specified in the referenced message on the
>> BIER mailing list (if LIR-pF) is set.  To respond to the match for
>> reception, existing procedures are used.  Note that if LIR or LIR-pF are
>> set in the PTA of the match for reception, PE1 may need to originate a
>> Leaf A-D route corresponding to the match for tracking as well as
>> originating a Leaf A-D route corresponding to the match for reception.
>>
>> I think the above procedures work at an egress PE, but they are not
>> quite right for an egress ABR/ASBR.  An egress ABR/ASBR does forward
>> along any S-PMSI A-D routes it gets.  If the PTA of the received S-PMSI
>> A-D route specifies a tunnel, the egress ABR/ASBR may change the PTA to
>> specify a different tunnel type.  However, we should require that if the
>> PTA specifies "no tunnel info", it is passed along unchanged.
>>
>> Then we can establish the following rule for egress ABRs/ASBRs.  Suppose
>> an egress ABR/ASBR receives an S-PMSI A-D route whose NLRI is X, and
>> whose PTA (a) specifies "no tunnel info" and (b) has LIR set.  The
>> egress ABR/ASBR should not immediately originate a Leaf A-D route in
>> response.  Rather it should wait until it receives a Leaf A-D route
>> whose NLRI contains X in the "route key" field.  If it receives such a
>> Leaf A-D route, it redistributes that route, but first it changes that
>> route's RT.  The "global administrator" field of the modified RT will be
>> set to the IP address taken either from the S-PMSI A-D route's next hop
>> field, or from its Segmented P2MP Next Hop Extended Community.
>>
>> This will ensure that an egress ABR/ASBR only sends a Leaf A-D route in
>> response to a "match for tracking" if it is on the path to an egress PE
>> for the flow(s) identified in the corresponding S-PMSI A-D route.
>>
>> Comments?
>>
>>
>>
>>
>>
>