Re: [Isis-wg] Proposed Changes in draft-ietf-isis-segment-routing-extensions

Chris Bowers <cbowers@juniper.net> Tue, 31 March 2015 19:07 UTC

Return-Path: <cbowers@juniper.net>
X-Original-To: isis-wg@ietfa.amsl.com
Delivered-To: isis-wg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 189B71ACF03 for <isis-wg@ietfa.amsl.com>; Tue, 31 Mar 2015 12:07:00 -0700 (PDT)
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, RCVD_IN_DNSWL_NONE=-0.0001, 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 6z2fqsoXty2y for <isis-wg@ietfa.amsl.com>; Tue, 31 Mar 2015 12:06:56 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0142.outbound.protection.outlook.com [65.55.169.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9CA741A92BB for <isis-wg@ietf.org>; Tue, 31 Mar 2015 12:06:56 -0700 (PDT)
Received: from BLUPR05MB292.namprd05.prod.outlook.com (10.141.23.27) by BLUPR05MB435.namprd05.prod.outlook.com (10.141.27.150) with Microsoft SMTP Server (TLS) id 15.1.118.21; Tue, 31 Mar 2015 19:06:54 +0000
Received: from BLUPR05MB292.namprd05.prod.outlook.com ([10.141.23.27]) by BLUPR05MB292.namprd05.prod.outlook.com ([10.141.23.27]) with mapi id 15.01.0118.022; Tue, 31 Mar 2015 19:06:54 +0000
From: Chris Bowers <cbowers@juniper.net>
To: "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>, Hannes Gredler <hannes@juniper.net>, "Stefano Previdi (sprevidi)" <sprevidi@cisco.com>
Thread-Topic: [Isis-wg] Proposed Changes in draft-ietf-isis-segment-routing-extensions
Thread-Index: AQHQaJKbAqhh7sk3rE6H3+1kXcrYT500B/gAgAEBMgCAAG1PAIABKscg
Date: Tue, 31 Mar 2015 19:06:54 +0000
Message-ID: <BLUPR05MB29291EC58E8B695A39D5159A9F40@BLUPR05MB292.namprd05.prod.outlook.com>
References: <61FC3466-5350-46DF-829F-889B45F8EB92@cisco.com> <BLUPR05MB2924095A24F0706DBE3AA28A9090@BLUPR05MB292.namprd05.prod.outlook.com> <D13AC54D.2421F%psarkar@juniper.net> <B5C81E8E-D5D2-4BF7-A06C-707BC24F0885@cisco.com> <20150330132640.GA38169@hannes-mba.local> <F3ADE4747C9E124B89F0ED2180CC814F57406165@xmb-aln-x02.cisco.com>
In-Reply-To: <F3ADE4747C9E124B89F0ED2180CC814F57406165@xmb-aln-x02.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [66.129.239.14]
authentication-results: cisco.com; dkim=none (message not signed) header.d=none;
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR05MB435;
x-forefront-antispam-report: BMV:1; SFV:NSPM; SFS:(10019020)(6009001)(479174004)(377454003)(164054003)(24454002)(13464003)(77096005)(2950100001)(19580395003)(77156002)(86362001)(19580405001)(2900100001)(74316001)(106116001)(15975445007)(102836002)(561944003)(66066001)(62966003)(92566002)(2656002)(50986999)(122556002)(76576001)(230783001)(46102003)(93886004)(54356999)(76176999)(87936001)(40100003)(99286002)(33656002)(427584002); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR05MB435; H:BLUPR05MB292.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
x-microsoft-antispam-prvs: <BLUPR05MB435C1B09937F1B80661BB18A9F40@BLUPR05MB435.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(5002010)(5005006); SRVR:BLUPR05MB435; BCL:0; PCL:0; RULEID:; SRVR:BLUPR05MB435;
x-forefront-prvs: 0532BF6DC2
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2015 19:06:54.0923 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR05MB435
Archived-At: <http://mailarchive.ietf.org/arch/msg/isis-wg/WRDfE0zEYdaHDutXXjn0l5UntL0>
Cc: "isis-wg@ietf.org list" <isis-wg@ietf.org>, "draft-ietf-isis-segment-routing-extensions@tools.ietf.org" <draft-ietf-isis-segment-routing-extensions@tools.ietf.org>
Subject: Re: [Isis-wg] Proposed Changes in draft-ietf-isis-segment-routing-extensions
X-BeenThere: isis-wg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF IS-IS working group <isis-wg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/isis-wg>, <mailto:isis-wg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/isis-wg/>
List-Post: <mailto:isis-wg@ietf.org>
List-Help: <mailto:isis-wg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/isis-wg>, <mailto:isis-wg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Mar 2015 19:07:00 -0000

Les,

Here is a practical example of the issue with using per-algorithm node-SIDs.  Suppose an operator has a network with 100 nodes (R0 -R99).  They assign unique Node-SIDs 0-99 to those nodes for algorithm=0, in order to accomplish shortest path routing based on IGP metric with SR labels.  Each node will need to advertise a label block of size=100.  

Assume that at some future point in time, the IETF defines algorithm=1 to mean shortest path routing based on latency, and vendors implement this.  Suppose that the operator wants to use latency-based SPF routes for some traffic and metric-based SPF routes for other traffic.   The operator will need to define a new set of unique Node-SIDs for algorithm=1.  A reasonable choice would be to assign Node-SID values of 100-199 to R0-R99 for algorithm=1.  Each node will now need to advertise a label block of size=200.  So far the need for per-algorithm node-SIDs is an annoyance, but not too difficult to deal with.  

Now assume that the operator needs to add 10 new nodes to the SR domain, specifically nodes R100-R109.  Each node needs to advertise a label block of size=220.   The main issue is deciding how to assign per-algorithm node-SIDs for the 10 new nodes?  One option is to redo the node-SID numbering scheme so that R0-R109 have node-SIDs 0-109 for algorithm=0 and node-SIDs 110-229 for algorithm=1.  However, this require renumbering existing nodes.  The other option is to avoid renumbering of nodes by assigning nodes R100-R109 node-SIDs 200-209 for algorithm=0 and node-SIDs 210-219 for algorithm=1. Each of these options has drawbacks.  The first requires renumbering existing nodes, while the second is difficult to maintain since there is no obvious relationship between the node-SIDs for different algorithms.

Instead, the use of per-algorithm label-blocks avoids this problem completely.  When the SR domain is initially deployed, R0-R99 can be assigned node-SIDs 0-99 as one would expect.  When support for algorithm=1 gets added,  the operator does not need to assign and configure any new node-SIDs.  Instead, the routers automate the process by advertising different label blocks for each algorithm.  When another 10 nodes get added to the SR domain, R100-R109 get assigned node-SIDs 100-109 as one would expect.  And the router advertises a label block of size=110 for each algorithm, as one would expect.  Adding new nodes in the presence of multiple algorithms is simplified significantly with the use of per-algorithm label blocks.

As you point out, the same logic applies to multiple topologies, so it would make sense to advertise per-topology label blocks.

There are other numbering schemes for per-algorithm node-SIDs that one can consider, but as far as I can tell, they run into problems when trying to add more nodes or more algorithms.  One could also lessen the impact of this somewhat by anticipating growth in each of the dimensions (number of nodes, number of algorithms, and number of topologies) and pre-assigning node-SIDs based on anticipated maximum values in each dimension, but this can result in advertising label blocks that are potentially much larger than actually needed.

Chris

-----Original Message-----
From: Isis-wg [mailto:isis-wg-bounces@ietf.org] On Behalf Of Les Ginsberg (ginsberg)
Sent: Monday, March 30, 2015 2:58 PM
To: Hannes Gredler; Stefano Previdi (sprevidi)
Cc: isis-wg@ietf.org list; draft-ietf-isis-segment-routing-extensions@tools.ietf.org
Subject: Re: [Isis-wg] Proposed Changes in draft-ietf-isis-segment-routing-extensions

Hannes/Chris -

There is a rather large conceptual change being proposed here.

At present, the SRGB advertisements specify the label range(s) which a given node has reserved for use by SR - no further restrictions are defined. In most cases multiple vendors have indicated that a single SRGB range is sufficient - but the specification allows for advertisement of multiple ranges in case the label space on a given node is fragmented such that multiple ranges might be required. The suggested change Stefano has posted makes no change to this other than a very minor format change that restricts the advertisement to a single TLV for ease of use.

What the two of you are proposing is that we fundamentally change SRGB advertisements so that each range is tied to a specific SR use case. At present you are only proposing "algorithm" - but it would be just as logical to propose other contexts (for example "per topology" ranges) as well. This makes a very fundamental change in the functionality associated w an SRGB. It is no longer simply a range reserved for use by SR - it becomes a range reserved for a particular SR use case - which means multiple SRGBs would no longer be an option to address a local label allocation issue, but required to support all SR use cases. The backwards compatibility issues are MUCH LARGER and introduce a fundamental change in the attributes of an SRGB range. It will also have implications on how nodes support local label allocation.

I don't think this is necessary nor is it desirable.

   Les


> -----Original Message-----
> From: Isis-wg [mailto:isis-wg-bounces@ietf.org] On Behalf Of Hannes 
> Gredler
> Sent: Monday, March 30, 2015 6:27 AM
> To: Stefano Previdi (sprevidi)
> Cc: draft-ietf-isis-segment-routing-extensions@tools.ietf.org; isis- 
> wg@ietf.org list
> Subject: Re: [Isis-wg] Proposed Changes in 
> draft-ietf-isis-segment-routing- extensions
> 
> hi stefano,
> 
> On Sun, Mar 29, 2015 at 10:06:08PM +0000, Stefano Previdi (sprevidi) wrote:
> | Hi Chris, Pushpasis,
> |
> | sorry but I disagree.
> |
> | The current proposal is a minor change that, will not incur ANY 
> | backward
> compatibility change (since nobody advertises multiple srgb's at this 
> stage) while your proposal makes a radical change in the format of the 
> sr-cap subtlv that would impact current deployments.
> |
> 
> have spoken to chris offline - what he wants to do is add the algo-ID 
> to the SRGB.
> 
>   my understanding is that this is required for resilient packet-rings 
> in the access
>   which have very constrained MPLS stacking capabilities (and R-LFA 
> with its two labels
>   blows the stacking budget and MRT single label does not) ...
> 
> The change is not as radical as it sounds - "if an implementation does 
> not support a non-zero algo-ID then it MUST ignore the SRGB"
> 
> and
> 
> "Every implementation MUST support the SRGBs with algo-id of zero"
> 
> /hannes
> 
> | On Mar 27, 2015, at 2:33 PM, Pushpasis Sarkar <psarkar@juniper.net>
> wrote:
> |
> | > Hi Chris,
> | >
> | > I fully agree to your proposal of a separate SRGB per algorithm 
> | > (e.g. SPF, MRT-Blue, MRT-Red).
> | >
> | > Regarding your comment on Multi-topology.. Today, MT in ISIS is 
> | > different than MT in OSPF. I think OSPF already has MT built-in 
> | > the OSPF protocol extension. However there is no such need to 
> | > extend that for ISIS, unless we intend to do OSPF-like MTR.
> | >
> | > Thanks,
> | > -Pushpasis
> | >
> | > On 3/27/15, 8:22 AM, "Chris Bowers" <cbowers@juniper.net> wrote:
> | >
> | >> All,
> | >>
> | >> Since the changes being proposed to the ISIS SR extensions will 
> | >> break backwards compatibility, I would like to suggest that that 
> | >> working group consider taking advantage of this opportunity to 
> | >> improve the way that SR extensions support forwarding based on
> algorithms other than SPF.
> | >>
> | >> Currently, in order to establish forwarding next-hops based on 
> | >> another algorithm, each node must be configured with an 
> | >> additional
> node-SID, each
> | >> unique in the IGP domain.    The configuration and management of
> unique
> | >> node-SIDs on a per-algorithm basis can be avoided by having each 
> | >> node assign a label block for each algorithm and advertise label 
> | >> blocks on a per-algorithm basis.  In this way, a given node only 
> | >> needs to have a single unique node-SID configured, while still 
> | >> supporting forwarding next-hops computed by different algorithms.
> | >>
> | >> As far as I can tell, the main drawback of this approach is that 
> | >> it would break backwards compatibility with existing 
> | >> implementations since the current extensions do not support the 
> | >> association of an algorithm with a label block.  However, if we 
> | >> group this change together with other non-backwards compatible 
> | >> changes, that drawback is minimized or eliminated.
> | >>
> | >> It may also make sense to take this opportunity to improve 
> | >> support for multi-topology routing in SR by introducing a 
> | >> mechanism to allow the SR-related sub-TLVs carried in the Router 
> | >> Capability TLV to be associated with a given MT-ID.
> | >>
> | >> Chris
> | >>
> | >> -----Original Message-----
> | >> From: Isis-wg [mailto:isis-wg-bounces@ietf.org] On Behalf Of 
> | >> Stefano Previdi (sprevidi)
> | >> Sent: Wednesday, March 25, 2015 6:42 AM
> | >> To: isis-wg@ietf.org list
> | >> Cc: draft-ietf-isis-segment-routing-extensions@tools.ietf.org
> | >> Subject: [Isis-wg] Proposed Changes in 
> | >> draft-ietf-isis-segment-routing-extensions
> | >>
> | >> All,
> | >>
> | >> The authors of draft-ietf-isis-segment-routing-extensions would 
> | >> like to expose the following proposed changes to SRGB 
> | >> advertisement which are being considered.
> | >>
> | >> 1. Single Vs. Multiple SRGB ranges Currently, section 3.1.  
> | >> SR-Capabilities Sub-TLV defines that:
> | >>
> | >> "A router not supporting multiple occurrences of the 
> | >> SR-Capability sub-TLV MUST take into consideration the first 
> | >> occurrence in the received set."
> | >>
> | >> The authors would like to remove above text so that a compliant 
> | >> implementation MUST support the receiving of multiple ranges.
> | >>
> | >> 2. Encoding the SR-Cap in a single LSP Fragment Vs. Single TLV 
> | >> Currently, section 3.1.  SR-Capabilities Sub-TLV defines that:
> | >>
> | >> "The SR Capabilities sub-TLV (Type: TBD, suggested value 2) MAY 
> | >> appear multiple times inside the Router Capability TLV and has 
> | >> following format [...]"
> | >>
> | >> and
> | >>
> | >> "Only the Flags in the first occurrence of the sub-TLV are to be 
> | >> taken into account"
> | >>
> | >> and
> | >>
> | >> "The originating router MUST encode ranges each into a different 
> | >> SR-Capability sub-TLV and all SR-Capability TLVs MUST be encoded 
> | >> within the same LSP fragment."
> | >>
> | >> and
> | >>
> | >> "The order of the ranges (i.e.: SR-Capability sub-TLVs) in the  
> | >> LSP fragment is decided by the originating router and hence the 
> | >> receiving routers MUST NOT re-order the received ranges. This  is 
> | >> required for avoiding label churn when for example a  numerical 
> | >> lower Segment/Label Block gets added to an already  advertised 
> | >> Segment/Label Block."
> | >>
> | >> Authors agreed that:
> | >> . the encoding scheme is suboptimal and doesn't make best use of
> | >>   the TLV/LSP space (e.g.: flags field is replicated and unused).
> | >> . we want to preserve the requirement of NOT sorting the received
> | >>   srgb ranges in order to avoid churns and downtime when a change
> | >>   is advertised (typically when the srgb is extended).
> | >>
> | >> Therefore a possible option is to restrict the advertisement of 
> | >> multiple srgb's into the SAME SR-Cap SubTLV where flags get 
> | >> defined once and srgb ranges encoded within the same (unique) 
> | >> SR-Cap SubTLV (btw, we still have room for up to 27 srgb ranges).
> | >>
> | >> Now, doing this will improve the encoding and clarity of the spec 
> | >> but introduces a backward compatibility issue with current 
> | >> version of the draft. Therefore it is important that all 
> | >> implementors make themselves known and tell the authors how 
> | >> difficult this change is from an implementation perspective.
> | >>
> | >> Among the authors we have 4 implementors for which the change
> seems
> | >> not to be a problem but other implementations of ISIS, Segment 
> | >> Routing extension may exists and so it is necessary to check 
> | >> whether anyone has a problem with the proposed change.
> | >>
> | >> Thanks.
> | >> s.
> | >>
> | >> _______________________________________________
> | >> Isis-wg mailing list
> | >> Isis-wg@ietf.org
> | >> https://www.ietf.org/mailman/listinfo/isis-wg
> | >>
> | >> _______________________________________________
> | >> Isis-wg mailing list
> | >> Isis-wg@ietf.org
> | >> https://www.ietf.org/mailman/listinfo/isis-wg
> | >
> |
> | _______________________________________________
> | Isis-wg mailing list
> | Isis-wg@ietf.org
> | https://www.ietf.org/mailman/listinfo/isis-wg
> 
> _______________________________________________
> Isis-wg mailing list
> Isis-wg@ietf.org
> https://www.ietf.org/mailman/listinfo/isis-wg

_______________________________________________
Isis-wg mailing list
Isis-wg@ietf.org
https://www.ietf.org/mailman/listinfo/isis-wg