Re: [spring] Beyond SRv6.

Andrew Alston <Andrew.Alston@liquidtelecom.com> Wed, 07 August 2019 04:15 UTC

Return-Path: <andrew.alston@liquidtelecom.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D6A812010C for <spring@ietfa.amsl.com>; Tue, 6 Aug 2019 21:15:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Pe0Nwg0nIKEp for <spring@ietfa.amsl.com>; Tue, 6 Aug 2019 21:15:53 -0700 (PDT)
Received: from eu-smtp-delivery-182.mimecast.com (eu-smtp-delivery-182.mimecast.com [207.82.80.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1B784120104 for <spring@ietf.org>; Tue, 6 Aug 2019 21:15:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MJ1u0FPKEz0XHbgaMd8R3r2A80N+sPECd6U0fqlrNUvyadw5vZ8ga9wnkk2LR3VEkytkWTdqdqXFEQhO10F7Q0BpblJeOoluxVnrQfY5M9oCnOYHQdd8us6YwKmWOfm71NGZBeIgwJMrie+4GGgk5UIWdUC30umiSXoHYZKITKECL6Fe530zXWFbqdZXFuKr4T4kr4ujDh8+1sOA8POKqb/eBUxY9WEerE2JuXsVllL6urBKdSKkpd72g7831+4ug9F4IWpn0/ohya7xxGJQSLKSXLE6W+0sw2rilinI+TlfkT/lcrg1j5dbK2A8NEj7GT2xSA4T1YG9lXTnL9CbXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4T5GWPHLj0BVQkyhFhsEvEpFbNrpOtJicK798qTsTgM=; b=nqopkdlHhb062deqbFyymaGk3zzGTxW7b+Bs+2JUMeaI1EPln81AUvTNtQWVP+crtWkWF/34SD6Y8/M4L3HwNzBq0e3O+ajjw+OrX82wDQLlztq5aQlbTSmKt6onOLF4Z5vrCdTxhR1zBxYUusuvrh3ts0xhjiFVX/kBPL8O6HWF3+GB/kTUQWfQHici483eTYJDB3XooAdlQWTZeetwRrYe1b0d79xS1Mw7Xc4OBJqeM15UpB1DVowk6pWgQLyU1zbNFR89jR9XeG4Nbf5pCj5vFxmDpUVWIvpTRH8ue/IJAUwfE9i6hyuw472CxUaeCGRWT2m+yMmMSFx1Tg8hzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=liquidtelecom.com; dmarc=pass action=none header.from=liquidtelecom.com; dkim=pass header.d=liquidtelecom.com; arc=none
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2052.outbound.protection.outlook.com [104.47.8.52]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-16-G08_Si7DMKexJrGAxxIGAA-1; Wed, 07 Aug 2019 05:15:46 +0100
Received: from DBBPR03MB5415.eurprd03.prod.outlook.com (20.179.46.78) by DBBPR03MB5349.eurprd03.prod.outlook.com (20.179.45.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.14; Wed, 7 Aug 2019 04:15:44 +0000
Received: from DBBPR03MB5415.eurprd03.prod.outlook.com ([fe80::2029:6aba:b96f:8dec]) by DBBPR03MB5415.eurprd03.prod.outlook.com ([fe80::2029:6aba:b96f:8dec%4]) with mapi id 15.20.2136.018; Wed, 7 Aug 2019 04:15:44 +0000
From: Andrew Alston <Andrew.Alston@liquidtelecom.com>
To: Rob Shakir <robjs=40google.com@dmarc.ietf.org>, SPRING WG List <spring@ietf.org>
Thread-Topic: [spring] Beyond SRv6.
Thread-Index: AQHVSwgx1C0+06fAOEubArDypHiFT6bvBi7w
Date: Wed, 07 Aug 2019 04:15:44 +0000
Message-ID: <DBBPR03MB5415D63DDE6E6E7F77911B90EED40@DBBPR03MB5415.eurprd03.prod.outlook.com>
References: <CAHd-QWtA21+2Sm616Fnw0D-eB7SNb_BeG8-A-MCLLFgTwSpOsg@mail.gmail.com>
In-Reply-To: <CAHd-QWtA21+2Sm616Fnw0D-eB7SNb_BeG8-A-MCLLFgTwSpOsg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [197.155.81.57]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b940d525-6793-4fb7-bd1c-08d71aedeaa5
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DBBPR03MB5349;
x-ms-traffictypediagnostic: DBBPR03MB5349:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <DBBPR03MB5349CF08D9DDE7D2D58AF6CBEED40@DBBPR03MB5349.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 01221E3973
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(396003)(346002)(366004)(136003)(376002)(39860400002)(189003)(199004)(6436002)(55016002)(236005)(486006)(9686003)(966005)(110136005)(10916006)(478600001)(52536014)(26005)(11346002)(561944003)(33656002)(186003)(446003)(6246003)(14444005)(66066001)(53946003)(6306002)(54896002)(102836004)(476003)(53936002)(30864003)(256004)(76176011)(7696005)(606006)(3846002)(99286004)(8676002)(6506007)(2906002)(7736002)(74316002)(86362001)(14454004)(71190400001)(71200400001)(25786009)(66476007)(66446008)(76116006)(316002)(66946007)(5660300002)(68736007)(53546011)(6116002)(81166006)(81156014)(66556008)(64756008)(8936002)(229853002); DIR:OUT; SFP:1102; SCL:1; SRVR:DBBPR03MB5349; H:DBBPR03MB5415.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: VgOUCyfJMPUvXIKWl2wzfLZwbIQV7HH30oxowVMsFnbdX9eqJg32PUF9hk9Q5Sv6ZDOjB+CztHQ60N73jWoFbj1vofAxmyuvhLmeMctwA+EnbOB8CZRqloj3gUGeCFrSOBHkcVL6lUMKEWnf3ODp/zG/zX1v7Yxwta7GjSq8C+gnR7z3IOrd3JpKszEpjQW4ZEJ3XEzyXMIl3niS2BWsbpCpOG5UzFzME84TOUr2LObxUiU3HkVGqa+Z1aHcK+UvXMIxr0pLZ8j0JNFDj3Qu3Uk2Z+bY0y73aH5sktHMt9y653q0cIEPeqBYmuJjVO6Ilbal2QuINkS2w3SKaGz7Gk6xmlwiao36uA/gZcT7WSqULew9a0B0sLu2QqKLQbxPlz32/ZQh1hhbTICrvkk5fOQgSslUl0HAP/1oUeESgY8=
x-ms-exchange-transport-forked: True
MIME-Version: 1.0
X-OriginatorOrg: liquidtelecom.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b940d525-6793-4fb7-bd1c-08d71aedeaa5
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Aug 2019 04:15:44.0867 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 68792612-0f0e-46cb-b16a-fcb82fd80cb1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Andrew.Alston@liquidtelecom.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB5349
X-MC-Unique: G08_Si7DMKexJrGAxxIGAA-1
X-Mimecast-Spam-Score: 0
Content-Type: multipart/alternative; boundary="_000_DBBPR03MB5415D63DDE6E6E7F77911B90EED40DBBPR03MB5415eurp_"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/7afDEB1u9Xasr8lYlv8qjjoYJQA>
Subject: Re: [spring] Beyond SRv6.
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Aug 2019 04:15:58 -0000

Thanks Rob,

So – Firstly let’s start with the use cases.  Our biggest requirement for any of this is about traffic steering and about removal of V4 from the network in the long term.  Our entire motivation for getting involved in SR in the first place initially revolved around the fact that in our view LDPv6 was pretty much still born – and the lack of MPLS feature parity with IPv6 was causing us significant problems.  We hoped that SR would eventually resolve much of this.  Now – in that case SR-MPLS would have been just fine and frankly speaking – we were entirely happy with pure SR-MPLS and I’m on record saying that I didn’t see much of a use case for SRv6 at all.

We then got to a situation however, where we hit an implementation problem.  At least one vendor categorically stated to us that they would not support SR-MPLS as relates to V6 – and if we wanted SR with V6 – SRv6 was what we were going to have to have.  Since then I’ve had another vendor send me a very similar message.  This left us with a problem – and so on to SRv6 we came.  In looking at SRv6 though and the traffic patterns on our network and based on various factors – the overhead imposed by SRv6 in its original form is simply untenable.  We did some analysis on the actual traffic patterns on our network, and dependent on depth of the SID stack and the particular segment of the network and the types of traffic – we calculated an increase in utilization of between 5% on the low end and 19% on the upper end.  That – simply doesn’t work for us.

Secondly – We have fairly major concerns about using V6 addresses in an “overloaded manner”  Effectively, we prefer V6 addresses to be exactly that – addresses used to address nodes.  We have a concern that attempting to pack more and more functionality into the address space could result in unknown and unintended consequences.  It also from an operational perspective in our view creates more complexity.   The merging of programmability and routing and other such things directly into the address creates a wider failure domain where hitting a bug on one thing could impact a lot more than just routing etc.

So – moving on to the two proposed drafts.  We got involved in CRH because it solved three major problems we were facing.


  1.  It gave us a form of SR that allowed us to do traffic steering and meet our use cases when it became clear that SR-MPLS probably wasn’t going to work for us because of resistance from certain vendors and their clearly stated positions
  2.  It solved the problem of overhead we saw on SRv6
  3.  It left the address space de-coupled from routing and programmability – which we believe creates additional issues as stated above.  It also allows relatively easy expansion to support inter-domain SR using BGP signaling – and because of the immutability of the extension header allowed full end to end path visibility at any point in the network.

Now – if I have to compare what is proposed with CRH with what is proposed by USID from our perspective.  Firstly – I’m at a loss as to how USID and programmability of intermediate nodes are actually going to work.  In CRH – you have a destination option that contains both either per segment service instructions or per service instructions or both.

So now – on to looking at USID.


  1.  Firstly – we believe that USID actually compromises network programmability.  In USID – if you’re compressing the routing header and avoiding carrying the entire 128bit SID across the network – you’re tying enough of the address to the steering that there is precious little left for programmability instructions outside of the final end node. While we can carry the full SID in USID and shift only the address itself to maintain path visibility – that is needless overhead.
  2.  USID will result in an inflation of the IGP tables.  It requires me to have addresses on the devices that are inside the block used for steering – and since its entirely impractical to renumber in such a way that it would work with the current address assignments – this means running two addresses on each loopback – which from an IGP perspective are treated as standard addresses.  As a result – I’m seeing an increase in my V6 IGP – and an increase in my V6 FIB.  This is problematic on the smaller end point devices.
  3.  Thirdly – as discussed in the WG meeting in Montreal – we believe that the current draft could result in a pretty excessive wastage of IPv6 space, and we’re yet to see any real answers to this.

Now – on to the other questions posed.  With regards to scalability.  We need to be able to steer at least 6 SID’s deep – 10 would be preferable to deal with certain corner cases.  We need to be able to do this at line rate and get the same network performance using the mechanisms we use from this that we would get from normal SR-MPLS.

The current SRv6 solution as stated above is not deployable – the overhead is to high and the concerns run deep about the other issues mentioned.  Our solution we’re working towards where we need SRv6 in the absence of SR-MPLS is stitch SR-MPLS to SRv6 through packet encapsulation – effectively use an SR-MPLS binding label to trigger a packet encapsulation to V6 with CRH – route across the segments that do not support SR-MPLS using standard V6 routing – and use a destination option to trigger decapsulation as it hits the next SR-MPLS supporting network segment.  The advantage of this approach is that while it doesn’t allow granular steering through the intermediate network segment – it does preserve the SR-MPLS label stack end to end and in effect creates a form of lose routing over that segment while preserving the SR-MPLS label stack.   Effectively this is similar to using SR-MPLS over UDP or GRE – we’re just working on coming up with a defined way to stitch between native SR-MPLS and UDP/GRE/Whatever – and we hope to have a proposal about this stitching mechanism in the next couple of days, we’ve been working on some code to test theories related to it prior to releasing a draft about this.   Ideally – because of the stance expressed by vendors where we see a situation where both CRH and USID end up stalling – we would like a situation where stitching from SR-MPLS to either format is possible – and ideally stitching between USID and CRH is also possible – creating inter-op while avoiding stalling progress.

From an operator perspective – we simply do not see native SRv6 as workable – and we also see an entrenchment by the vendors in their positions regarding the CRH  and USID proposals – while having a need that is not being met.  Hence – our perspective is that allowing both standards to move forward while having a defined inter-op mechanism gives us the fastest resolution and meets the needs we face today.  Basically as an operator – we need our problems solved – and if inter-op between the proposals speeds this up – then lets create such an inter-op.  This is far preferable in our eyes to being in a situation where what currently exists doesn’t work – and where entrenchment of positions stalls progress on either option – leaving us as an operator caught in the middle with an active issue without resolution.

I hope that addresses many of the questions – and I’d welcome discussion with the proposers of the various drafts and both the chairs and the AD’s if necessary.

Thanks

Andrew

From: spring <spring-bounces@ietf.org> On Behalf Of Rob Shakir
Sent: Monday, 5 August 2019 00:04
To: SPRING WG List <spring@ietf.org>
Subject: [spring] Beyond SRv6.


Hi SPRING WG,


Over the last 5+ years, the IETF has developed Source Packet Routing in NetworkinG (SPRING) aka Segment Routing for both the MPLS (SR-MPLS) and IPv6 (SRv6) data planes. SR-MPLS may also be transported over IP in UDP or GRE.


These encapsulations are past WG last call (in IESG or RFC Editor).


During the SPRING WG meeting at IETF 105, two presentations were related to the reduction of the size of the SID for IPv6 dataplane:

  *   SRv6+ / CRH -- https://tools.ietf.org/html/draft-bonica-spring-srv6-plus-04<https://tools.ietf.org/html/draft-bonica-spring-srv6-plus-04>
  *   uSID -- https://tools.ietf.org/html/draft-filsfils-spring-net-pgm-extension-srv6-usid-01<https://tools.ietf.org/html/draft-filsfils-spring-net-pgm-extension-srv6-usid-01>


During the IETF week, two additional drafts have been proposed:

  *   https://tools.ietf.org/html/draft-li-spring-compressed-srv6-np-00<https://tools.ietf.org/html/draft-li-spring-compressed-srv6-np-00>
  *   https://tools.ietf.org/html/draft-mirsky-6man-unified-id-sr-03<https://tools.ietf.org/html/draft-mirsky-6man-unified-id-sr-03>


As we expressed during the meeting, it is important for the WG to understand what the aims of additional encapsulations are. Thus, we think it is important that the WG should first get to a common understanding on the requirements for a new IPv6 data plane with a smaller SID - both from the perspective of operators that are looking to deploy these technologies, and from that of the software/hardware implementation.


Therefore, we would like to solicit network operators interested in SR over the IPv6 data plane to briefly introduce their:

  *   use case (e.g. Fast Reroute, explicit routing/TE)
  *   forwarding performance and scaling requirements

     *   e.g., (number of nodes, network diameter, number of SID required in max and average). For the latter, if possible using both SRv6 128-bit SIDs and shorter (e.g. 32-bit) SIDs as the number would typically be different (*).

  *   if the existing SRv6 approach is not deployable in their circumstances, details of the requirement of a different solution is required and whether this solution is needed for the short term only or for the long term.


As well as deployment limitations, we would like the SPRING community to briefly describe the platform limitations that they are seeing which limit the deployment of SRv6  In particular limitations related to the number of SIDs which can be pushed and forwarded and how much the use of shorter SIDs would improve the deployments .


For both of these sets of feedback if possible, please post this to the SPRING WG. If the information cannot be shared publicly, please send it directly to the chairs & AD (Martin).


This call for information will run for four weeks, up to 2019/09/03. As a reminder, you can reach the SPRING chairs via spring-chairs@ietf.org<mailto:spring-chairs@ietf.org> and ADs via spring-ads@ietf.org<mailto:spring-ads@ietf.org>.


Thank you,

-- Rob & Bruno


(*) As expressed on the mailing list, a 128 bit SID can encode two instructions a node SID and an adjacency SID hence less SID may be required.