Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt

Andrew Alston <> Thu, 27 February 2020 20:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5F49F3A0AE9 for <>; Thu, 27 Feb 2020 12:03:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[AC_DIV_BONANZA=0.001, BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id OuPh1cPA6zqU for <>; Thu, 27 Feb 2020 12:03:00 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6C1593A0AF3 for <>; Thu, 27 Feb 2020 12:02:59 -0800 (PST)
Received: from ( []) (Using TLS) by with ESMTP id uk-mta-60-5S4XSn7mMFylBWG6fn70Cw-1; Thu, 27 Feb 2020 20:02:54 +0000
X-MC-Unique: 5S4XSn7mMFylBWG6fn70Cw-1
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18; Thu, 27 Feb 2020 20:02:52 +0000
Received: from ([fe80::31cd:8171:1d1f:2fa9]) by ([fe80::31cd:8171:1d1f:2fa9%5]) with mapi id 15.20.2750.024; Thu, 27 Feb 2020 20:02:52 +0000
From: Andrew Alston <>
To: Robert Raszuk <>, Ron Bonica <>
CC: SPRING WG <>, 6man WG <>, "Pablo Camarillo (pcamaril)" <>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt
Thread-Topic: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt
Date: Thu, 27 Feb 2020 20:02:51 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-GB
user-agent: Microsoft-MacOutlook/
x-originating-ip: [2c0f:fe40:3:3:242c:1bf5:421d:984d]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 229414db-fae5-4c0e-d47e-08d7bbc00705
x-ms-traffictypediagnostic: DBBPR03MB5382:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 03264AEA72
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(366004)(376002)(396003)(346002)(39860400002)(136003)(199004)(189003)(2906002)(316002)(53546011)(6506007)(64756008)(54906003)(186003)(2616005)(110136005)(33656002)(5660300002)(30864003)(6512007)(91956017)(66556008)(76116006)(66476007)(478600001)(36756003)(81166006)(81156014)(8676002)(66446008)(4326008)(6486002)(8936002)(66946007)(71200400001)(86362001)(66574012)(966005)(579004); DIR:OUT; SFP:1102; SCL:1; SRVR:DBBPR03MB5382;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: mvSxGOhsaqRM8+2T0TE7Dgq/cyiKjMQ/synhSmLMfcqfZTSunWvVylj2G/D3MALPNHZEyujXthz61YlH6XPdF0m47ue7P+8D8uwQuG27tgp4nTGMPeWFuUbduoyWo3PqHQvxd9iDFSnbcGYHqmR1rtMjMNvc5qVD0XizpqEFMVp25TrCcaAM5PDmh0IWjO0iXHMf+3pDjGtJRyzscOXQNIpSn6mXKj9WEQCGu1RyzveEgw6OhdPmT4dwVPIbYORwQl/kRiJMUi/8kbFWQCmYPFLqa42RbzfW2jlOb+ZadYX/MKeye34NXSoPTGHCsIyrWxr9NtTliGJku11NBYcKI64+8VKpXmeg4sTNo+JdPoRxZuWz7rhN0WnWsNfdzIU7YZWs5AIMrjjNLC2dI95XRpMkSIrxTDqIHOZOXsegp/les2B1EU1KeOUYs99qcqIAImY5NsA6U1eCJ3LDXuSJz20mzoC7SP9TwxkEA0MlbZF50y7rOEALseIAVWzZeupCYD0GqdGefUHID++GAd+3Qg==
x-ms-exchange-antispam-messagedata: v4Eq5PFEuVdmpAZqQqTrMFzi9/VOQnOvtK2fIhkfECtzj5kx3BAoQDo6T8mZOW1h3OvxOGZ0eEHVoiYV/3OH5Q3zQiT4wUAZP06FXMq7Qbc6++2pjjSf4WGV9Zl4AXm8DY7bI5QMrOBz46uN0gVPiFtN4CIKVEjcK5LAxFWBgvT4PK93aMlG2lXg/Pjil3Mytr99ZFBCrqMj7YTKuNwKiA==
x-ms-exchange-transport-forked: True
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 229414db-fae5-4c0e-d47e-08d7bbc00705
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2020 20:02:52.1482 (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: 4pzjTR0GYKpXFLCIwKmqXn3DxNaDL3yqcT/rrkEohIjxPgjI6GkIM1ZAWC55O6S5MFexSIVZCDG1d1fO2UmSNBmQRZcAtQH9ytgSEOGZMhQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB5382
X-Mimecast-Spam-Score: 0
Content-Type: multipart/alternative; boundary="_000_E10A9067BB0D4373BA90EF977795A1F3liquidtelecomcom_"
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 27 Feb 2020 20:03:10 -0000

Robert –

Do you know or can you please name any hardware that cannot do line rate PSP?  I could understand not being able to do USP at line rate – which may in certain implementations cause re-circulation (maybe THAT’S the unstated dirty secret that are keeping people pushing this without stating a use case?) – but PSP?


From: ipv6 <> on behalf of Robert Raszuk <>
Date: Thursday, 27 February 2020 at 22:11
To: Ron Bonica <>
Cc: SPRING WG <>rg>, 6man WG <>rg>, "Pablo Camarillo (pcamaril)" <>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt


How about we go the other way and really admit that some hardware just can not PSP at line rate ?

But for that there is very simple solution - you advertise PSP depth of zero in IGP extensions and you are done.

Both ISIS and OSPFv3 extensions support this already today.

And as it has been said and illustrated it does not stretch RFC8200 at all. PSP is performed by node listed in DA of the arriving packet. Such node can do whatever it want with the outer header of the packet. Some folks try to punch holes in 8200 to cover their issues - is that in good spirit of IETF ?

Your idea of taking piece of the consistent spec away is very broken as it now makes other documents inconsistent and blocks hardware where such function is supported today at line rate.

Let the operator choose if he wants PSP or not and move on ...


On Thu, Feb 27, 2020 at 7:39 PM Ron Bonica <<>> wrote:

The question at hand is whether PSP is so crucial to SRv6 that it is worth stretching the limits of RFC 8200 compliance. The emails that you site below say that it is for the following reasons:

  1.  Because PSP is already deployed
  2.  Because PSP unburdens the ultimate segment router from the task of processing and removing the SRH
  3.  Because PSP enables incremental deployment

The first argument can be dismissed out of hand. Just because something has been deployed doesn’t mean that it adds value or even that it causes no harm.

The second argument is dubious. Given that the ultimate segment endpoint has to remove the outer IPv6 header and forward the packet, the additional cost of checking the Segments Left field and removing the SRH is minimal.

The third argument was best articulated Dan Voyer in<> and deserves some consideration. In his deployment scenario, the ultimate segment endpoint:

  *   Can process a SID, received as an IPv6 DA, on the fast path
  *   Cannot process an SRH, even if Segments Left equal 0, on the fast path.

In this scenario, PSP keeps packets off of that device’s slow path.

While I have sympathy for Dan’s dilemma, I wonder whether it is a good idea to stretch the IPv6 standard to accommodate IPv6-challenged devices.

Maybe a compromise is possible? Would it be possible to move discussion of the PSP out of the Network programming draft and into a separate draft that a) describes the use-case in which it is required and b) discourages its use in all other cases.


Juniper Business Use Only
From: spring <<>> On Behalf Of Pablo Camarillo (pcamaril)
Sent: Tuesday, February 25, 2020 10:17 AM
To: Gyan Mishra <<>>
Cc: SPRING WG <<>>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt


As I (and other WG members) have explained in the past, PSP is not trying to provide any feature parity with MPLS.

It enables new use-cases that have been provided by other members in the list. [1], [2] and [5].
From operational perspective it is not complex as explained in [3].
There is substantial benefit. Four operators have deployed PSP, which proves the benefit.
And additionally operators have expressed their value in [4] and [5].


I don't see the point of starting a new thread from zero that discusses the same thing.


From: Gyan Mishra <<>>
Date: Tuesday, 25 February 2020 at 00:35
To: "Pablo Camarillo (pcamaril)" <<>>
Cc: Ron Bonica <<>>, SPRING WG <<>>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt

PSP has historical context from PHP ( Penultimate Hop POP) in the MPLS world.

20+ years ago when MPLS we originally developed the concept of PHP implicit null reserved label value 0 was done to offload the burden of the egress PE FEC destination to pop the entire label stack before forwarding the native IP packet to the CE.

Hardware these days for the last 15 years or so are so advanced that the idea that you are saving processing on the egress PE has not existed for a long time.

Even  back then in both SP and enterprise space there were issues that arise related to PHB QOS egress queuing,  that occurs on the PHP node that had the MPLS shim popped, it cannot schedule on the topmost label via exp provider markings done on the ingress PE upon label imposition.

A workaround to this issue was to set explicit null label value 0 and use pipe or uniform mode to tunnel the customer payload to the egress PE FEC destination called UHP ultimate hop node with topmost label intact.

The concept of implicit null PHP concept did not bode well in the MPLS world so I don’t see why that feature parity would be added to a next gen protocol that would be the future MPLS replacement.

I agree with taking some of the good features and knobs from MPLS, but why take the ones like implicit null with is really an archaic feature.

My 2 cents


On Mon, Feb 24, 2020 at 5:38 PM Pablo Camarillo (pcamaril) <<>> wrote:

This is the 5th time that we have this discussion in the past five months.

I consider those three questions as closed based on the previous discussion.<;!!NEt6yMaO-gk!TEtwPySm6G-5vGGZ1n_7cdy_CuLlKozmPjpyK5rOohk2yw1JV1unB51aYs9oOW3B$>


From: Ron Bonica <<>>
Date: Monday, 24 February 2020 at 16:27
To: Andrew Alston <<>>, Mark Smith <<>>, Sander Steffann <<>>
Cc: SPRING WG <<>>, "Pablo Camarillo (pcamaril)" <<>>
Subject: RE: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt


We may need to ask the following questions:

1)      Does PSP violate letter of RFC 8200?

2)      Does PSP violate the spirit of RFC 8200?

3)      Is PSP a good idea?

The 6man WG, and not SPRING, should answer the first two questions. So I will avoid them an explore the third.

At first glance, PSP adds no value. Once Segments Left has been decremented to 0, the Routing header becomes a NOOP. So why bother to remove it? I see the following arguments:

1)      To save bandwidth between the penultimate and ultimate segment endpoints.

2)      To unburden the ultimate segment endpoint from the task of processing the SRH

3)      To unburden the ultimate segment endpoint from the task of removing the SRH

The first argument is weak. Routing headers should not be so large that the bandwidth they consume is an issue.

The second argument is also weak. Once the ultimate segment endpoint has examined the Segments Left field, it can ignore the SRH. The ultimate segment endpoint must be SRv6-aware, because it must process the SID in the IPv6 destination address field. Given that the ultimate segment endpoint is SRv6 aware, it should be able to process the SRH on the fast path.

The third argument is even weaker. The ultimate segment endpoint:

-          Has to remove the IPv6 tunnel header, anyway

-          Being closer to the edge, may be less heavily loaded than the penultimate segment endpoint.

Can anyone articulate a better justification for PSP? If not, why test the limits of RFC 8200 over it?


Juniper Business Use Only
From: spring <<>> On Behalf Of Andrew Alston
Sent: Monday, February 24, 2020 5:06 AM
To: Mark Smith <<>>; Sander Steffann <<>>
Cc: SPRING WG <<>>; Pablo Camarillo (pcamaril) <<>>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt

I agree with the sentiments expressed below


From: spring <<>> On Behalf Of Mark Smith
Sent: Monday, 24 February 2020 00:50
To: Sander Steffann <<>>
Cc: SPRING WG <<>>; Pablo Camarillo (pcamaril) <<>>
Subject: Re: [spring] I-D Action: draft-ietf-spring-srv6-network-programming-10.txt

On Mon, 24 Feb 2020, 07:47 Sander Steffann, <<>> wrote:

> We have published a new update to draft-ietf-spring-srv6-network-programming. This revision simplifies the counters as per [1], clarifies the upper layer header processing as per [2] and removes the reference to the OAM draft [3].

I still oppose the segment popping flavours in section 4.16 without updating RFC8200.

I would expect that defying Internet Standard 86/RFC8200 means this ID needs to have Experimental rather than Standards Track status.


spring mailing list<><;!!NEt6yMaO-gk!Tfl9m_at6pZSp38lOtxE5WZLnsW_ojrgXUvQ_Rx-tN4MY7qa-MtwIQWgGCTduGJT$>
spring mailing list<><;!!NEt6yMaO-gk!TEtwPySm6G-5vGGZ1n_7cdy_CuLlKozmPjpyK5rOohk2yw1JV1unB51aYkKy0jPv$>
Gyan  Mishra
Network Engineering & Technology
Silver Spring, MD 20904
Phone: 301 502-1347

spring mailing list<><>