Re: [spring] Is srv6 PSP a good idea

Mark Smith <markzzzsmith@gmail.com> Wed, 26 February 2020 11:57 UTC

Return-Path: <markzzzsmith@gmail.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 58DC43A08A9 for <spring@ietfa.amsl.com>; Wed, 26 Feb 2020 03:57:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.597
X-Spam-Level:
X-Spam-Status: No, score=-0.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 u6_LnjUiJ3rO for <spring@ietfa.amsl.com>; Wed, 26 Feb 2020 03:57:30 -0800 (PST)
Received: from mail-oi1-x235.google.com (mail-oi1-x235.google.com [IPv6:2607:f8b0:4864:20::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8A5703A08A8 for <spring@ietf.org>; Wed, 26 Feb 2020 03:57:30 -0800 (PST)
Received: by mail-oi1-x235.google.com with SMTP id p125so2723978oif.10 for <spring@ietf.org>; Wed, 26 Feb 2020 03:57:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DfC7tBMmzHlPBLCM1dLQ6uzzA8K6xTLifRS1JbAVilY=; b=B1KLSEoRyjIpsmyGlqCE0cbGnuw+a027qS9MjIP2wY7nj/LBY93J4kREJMUtsiB1Im oa6sCBVfp0D2CInaatPO82wlcI5i5WwCnt9ke8rqKbaiKvwO/RbimFqSl3hnVosJJcD+ 2u3odXIBFwWdERd8QJH7IrdpVuNPDEDKwSq4LSNdbgXNprWY8ByPmPjCCOBCGkRqheUI lObDg7QIdv4654u5tHV8uC9it/906u6btou2INbgp5Io49GWevCiwhlIB0PCmArOTjoH 7ozKu1fGGAjznvCasmQFHIz5s4PyJJfj5Fq7IDV9Zvs3Ijw11jHGI8i/WAzRCbgT28Sz t8Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DfC7tBMmzHlPBLCM1dLQ6uzzA8K6xTLifRS1JbAVilY=; b=JbgVyldktaz7EMu3ZuXzxi9ACFOLaQVwW0gVJAtQguQvg+awGeekwBmna3PXNifbeU duH7KP/rP1MHCQ0udkqZBWMATV52qciR9IWABzvmlOwFnd4gcBSuD/iKPFckccoPXgK8 N2nVh976Q1Pg35p82z2WLR7IgV3024l7HtPhpItTQVD4ZDq13ps6CrIEdl4N2AjANgK1 rP07liJ8WoUyF7urQ2LOt0gvShv3FIUCadpFI73R3l2QfoW1NX4FqcA9ohbKXFjWpCPa D9Xg+LD75aj4/NcOkV3ZntVAkU78aVzwSN+wSICBq8o8OdU2OFsu2hv9iO/QZexwgj8x Uijw==
X-Gm-Message-State: APjAAAUNeHvbgb1KrZjwIk67XMEpcrq83FwWOEOaYXn9rT/gs+3ToZNV nWrDrjtYP2iRvjS3ZyChdcXnTES2zRs0iqcWXfk=
X-Google-Smtp-Source: APXvYqwEYBxVW2LP51F8YrM+z+v+eZmfBYuiX1IxHUwr+RPGnjRHz5deBZmtg8Y3pkpQpTTaiVHCqeSrLqOOaYA2aXo=
X-Received: by 2002:aca:4306:: with SMTP id q6mr2772093oia.54.1582718249687; Wed, 26 Feb 2020 03:57:29 -0800 (PST)
MIME-Version: 1.0
References: <5c2a4b36-0c59-709e-23eb-00f4aa1ce52f@joelhalpern.com> <9B89F4C2-5594-4D31-8893-21F3F4A0DF6C@cisco.com> <BN7PR05MB569969EE8D1929E7069E1BB0AE550@BN7PR05MB5699.namprd05.prod.outlook.com> <58ED78D3-9E0C-4556-8853-8754B361DF6D@cisco.com> <BN7PR05MB5699D79B1FC40662EE9E95B6AE500@BN7PR05MB5699.namprd05.prod.outlook.com> <81A30B25-9857-467E-85AE-1FE84B6F3197@cisco.com> <CAO42Z2zq0chKx08d10JBNkpa5e8J4MWAJWk+2Qs1DD7y_wkYUw@mail.gmail.com> <05981e2ea71c4b3083ed6e15c7e20641@huawei.com>
In-Reply-To: <05981e2ea71c4b3083ed6e15c7e20641@huawei.com>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Wed, 26 Feb 2020 22:57:17 +1100
Message-ID: <CAO42Z2wzk7W4_gy6j+sW=1z+xoyMMxsjnUbZkaf=jcG0zZqddg@mail.gmail.com>
To: "Xiejingrong (Jingrong)" <xiejingrong@huawei.com>
Cc: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, Ron Bonica <rbonica@juniper.net>, "spring@ietf.org" <spring@ietf.org>, "Joel M. Halpern" <jmh@joelhalpern.com>
Content-Type: multipart/alternative; boundary="0000000000000d5d97059f794f52"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/g-lYSqjKsNHnYr-I78p8woNpDQg>
Subject: Re: [spring] Is srv6 PSP a good idea
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, 26 Feb 2020 11:57:33 -0000

On Wed, 26 Feb 2020, 20:50 Xiejingrong (Jingrong), <xiejingrong@huawei.com>
wrote:

> Hi Mark,
> I think both AH and PSP are optional.
> If AH is desired to deploy, then the operator can choose not to use PSP.
> If AH is not deployed, and the operator has its requirements of
> incremental-deployment, then the operator can choose to use PSP.


You've missed the point. AH is an assurance mechanism for something that
should *already* be happening - processing packets in accordance with RFC
8200.

Somebody choosing not to use AH doesn't mean SPRING can ignore the IPv6
specifications.



If the already deployed PSP is removed from the draft, then I think it's
> backward for interoperation.
>
> RFC4301:
> 3.2.  How IPsec Works
>
>    IPsec uses two protocols to provide traffic security services --
>    Authentication Header (AH) and Encapsulating Security Payload (ESP).
>    Both protocols are described in detail in their respective RFCs
>    [Ken05b, Ken05a].  IPsec implementations MUST support ESP and MAY
>    support AH. (Support for AH has been downgraded to MAY because
>    experience has shown that there are very few contexts in which ESP
>    cannot provide the requisite security services.  Note that ESP can be
>    used to provide only integrity, without confidentiality, making it
>    comparable to AH in most contexts.)


> Thanks,
> Jingrong
>
> -----Original Message-----
> From: spring [mailto:spring-bounces@ietf.org] On Behalf Of Mark Smith
> Sent: Wednesday, February 26, 2020 8:31 AM
> To: Pablo Camarillo (pcamaril) <pcamaril@cisco.com>
> Cc: Ron Bonica <rbonica@juniper.net>; spring@ietf.org; Joel M. Halpern <
> jmh@joelhalpern.com>
> Subject: Re: [spring] Is srv6 PSP a good idea
>
> Hi Pablo,
>
> On Sat, 21 Dec 2019 at 04:38, Pablo Camarillo (pcamaril) <
> pcamaril@cisco.com> wrote:
> >
> >  Hi Ron,
> >
> > I guess we are making some progress here but going in some circles. So
> far we have moved from “this violates RFC8200” to “there are no use-cases
> or benefits” to “this is complex for an ASIC” to “what is the benefit
> again” and now back to “this is complex for an ASIC”.
> >
>
> As far as I know, the next header field in both the IPv6 fixed header and
> in extension headers is immutable while the packet is travelling within the
> network, as is the payload length field in the IPv6 base fixed header.
>
> Nothing in RFC 8200 modifies those fields while the packet is in flight
> between the packet's original source and final destination, nor is there
> anything in RFC 8200 that specifies how to do those modifications and any
> other discussion about the consequences and considerations when doing so.
>
>
> The IPsec AH header is providing integrity checking over fields in the
> IPv6 packet that shouldn't be being modified while the packet is within
> the network. What is and isn't protected by AH can be seen to be a
> specification of what processing on a packet can and cannot occur while it
> is in flight across the network towards its final destination.
>
> Therefore, AH is really a quality assurance mechanism for the network
> packet processing that RFC 8200 specifies. The processing of the packet by
> the network with or without the use of AH should be the same. AH should
> really only be necessary if there is a belief that the network is likely
> not to be processing packets in accordance to RFC 8200, either accidentally
> or intentionally.
>
>
> Per RFC4302 (IPsec AH),  the following section explicitly states which
> fields in the IPv6 header are immutable and are to be protected by AH:
>
>
> 3.3.3.1.2.  ICV Computation for IPv6
>
> 3.3.3.1.2.1.  Base Header Fields
>
>    The IPv6 base header fields are classified as follows:
>
> Immutable
>            Version
>            Payload Length
>            Next Header
>            Source Address
>            Destination Address (without Routing Extension Header)
>
>    Mutable but predictable
>            Destination Address (with Routing Extension Header)
>
>    Mutable (zeroed prior to ICV calculation)
>            DSCP (6 bits, see RFC2474 [NBBB98])
>            ECN (2 bits, see RFC3168 [RFB01])
>            Flow Label (*)
>            Hop Limit
>
>         (*) The flow label described in AHv1 was mutable, and in
>             RFC 2460 [DH98] was potentially mutable.  To retain
>             compatibility with existing AH implementations, the
>             flow label is not included in the ICV in AHv2.
>
>
>
>
> > As for how easy or not something is, the PSP behavior has been
> implemented and deployed (running code). The use-cases have been described
> and positively reinforced by operators. I don't think there is any further
> explanation to provide.
> >
>
> "Just because you can do something, doesn't mean you should."
>
> How much troubleshooting experience have they had with this?
>
> I think a very important factor is how easy something is to troubleshoot -
> how obvious is the mechanism works; is the mechanism consistent with
> existing behaviours i.e. the principle of least surprise (removing EHs at
> an intermediary hop certainly isn't in IPv6, even if the intermediary hop
> as the packet's current DA); when it inevitably fails, how obvious is it
> where the fault is likely to be; and how quickly can a typical fault be
> rectified.
>
>
>
> Regards,
> Mark.
>
>
>
>
> > Happy Holidays,
> > Pablo.
> >
> >
> > -----Original Message-----
> > From: Ron Bonica <rbonica@juniper.net>
> > Date: Tuesday, 17 December 2019 at 16:06
> > To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "Joel M.
> > Halpern" <jmh@joelhalpern.com>, "spring@ietf.org" <spring@ietf.org>
> > Subject: RE: [spring] Is srv6 PSP a good idea
> >
> >     Pablo,
> >
> >     In your message below, are you arguing that it is easier for the
> penultimate node to remove the SRH than it is for the ultimate node to
> ignore it? I think that would be a stretch.
> >
> >
>
> > Ron
> >
> >
> >
> >     Juniper Business Use Only
> >
> >     -----Original Message-----
> >     From: Pablo Camarillo (pcamaril) <pcamaril@cisco.com>
> >     Sent: Saturday, December 14, 2019 4:50 AM
> >     To: Ron Bonica <rbonica@juniper.net>; Joel M. Halpern <
> jmh@joelhalpern.com>; spring@ietf.org
> >     Subject: Re: [spring] Is srv6 PSP a good idea
> >
> >     Ron,
> >
> >     What is the "price paid by the penultimate segment"? All the current
> implementations do this at linerate with no performance degradation as I
> have explained in my email before.
> >
> >     There is substantial benefit. Four operators have deployed PSP,
> which proves the benefit.
> >     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].
> >     Operators have expressed their value in [4] and [5].
> >
> >     [1].-
> https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/spring/wTLJQkzC6xwSNPbhB84VH0mLXx0__;!!NEt6yMaO-gk!TzJ8_ZyDvWvLPNwsalQ6RiBzoLkP6Vj30eGaDVFEWdDq_IdPkWwaIL4IcdXeBzk_$
> >     [2].-
> https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/spring/V0ZpjVLSVZxHaBwecXFxqJjlg_c__;!!NEt6yMaO-gk!TzJ8_ZyDvWvLPNwsalQ6RiBzoLkP6Vj30eGaDVFEWdDq_IdPkWwaIL4IcU9bihBc$
> >     [3].-
> https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/spring/ssobwemrPz0uEZjvRCZP1e4l_l0__;!!NEt6yMaO-gk!TzJ8_ZyDvWvLPNwsalQ6RiBzoLkP6Vj30eGaDVFEWdDq_IdPkWwaIL4Icc_wo902$
> >     [4].-
> https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/spring/KXCBHT8Tpy17S5BsJXLBS35yZbk__;!!NEt6yMaO-gk!TzJ8_ZyDvWvLPNwsalQ6RiBzoLkP6Vj30eGaDVFEWdDq_IdPkWwaIL4IcRXo_q-1$
> >     [5].-
> > https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/spri
> > ng/ErcErN39RIlzkL5SKNVAeEWpnAI__;!!NEt6yMaO-gk!TzJ8_ZyDvWvLPNwsalQ6RiB
> > zoLkP6Vj30eGaDVFEWdDq_IdPkWwaIL4IceGPpSab$
> >
> >     Cheers,
> >     Pablo.
> >
> >     -----Original Message-----
> >     From: Ron Bonica <rbonica@juniper.net>
> >     Date: Thursday, 12 December 2019 at 21:50
> >     To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "Joel M.
> Halpern" <jmh@joelhalpern.com>, "spring@ietf.org" <spring@ietf.org>
> >     Subject: RE: [spring] Is srv6 PSP a good idea
> >
> >         Pablo,
> >
> >         I am not convinced the benefit derived by the ultimate segment
> > justifies the price paid by the penultimate segment. Specifically,
> >
> >         - the ultimate segment benefits because it doesn't have to skip
> over the SRH with SL == 0
> >         - in order for the ultimate segment to derive this benefit,
> > the penultimate segment needs to remove bytes from the middle of the
> > packet and update two fields in the IPv6 header
> >
> >         As Joel said, we typically don't add options (i.e., complexity)
> to a specification unless there is substantial benefit.
> >
> >                                                             Ron
> >
> >
> >
> >
> >         Juniper Business Use Only
> >
> >         -----Original Message-----
> >         From: spring <spring-bounces@ietf.org> On Behalf Of Pablo
> Camarillo (pcamaril)
> >         Sent: Wednesday, December 11, 2019 3:12 PM
> >         To: Joel M. Halpern <jmh@joelhalpern.com>; spring@ietf.org
> >         Subject: Re: [spring] Is srv6 PSP a good idea
> >
> >         Joel,
> >
> >         1.- The use-case for PSP has already been provided at the
> mailer. There are scenarios where it provides benefits to operators.
> >
> >         2.- The PSP behavior is optional. It is up to the operator in
> his deployment to decide whether to enable it or not at one particular
> router.
> >         Similarly, a vendor may decide not to implement it. The PSP
> behavior has been implemented by several vendors and deployed (see the srv6
> deployment draft).
> >
> >         3.- A network may have PSP enabled at some nodes and not at
> others.  Everything is still interoperable and works fine.
> >
> >         4.- PSP is not a complex operation in hardware (doable at
> linerate on existing merchant silicon).
> >         Example: It has been implemented and deployed on Broadcom J/J+.
> If I recall correctly Broadcom Jericho+ started shipping in March 2016! PSP
> is supported on this platform at linerate with no performance degradation
> (neither PPPS nor BW).
> >         Given that this is doable in a platform from more than 3 years
> ago, I fail to see how you need "very special provision" to do this.
> >
> >         Is it really something that horrible to provide freedom of
> choice to the operators deploying?
> >
> >         In summary, it can be implemented without any burden in hardware
> and deployment experience prove this is beneficial to operators.
> >
> >         Thanks,
> >         Pablo.
> >
> >         -----Original Message-----
> >         From: spring <spring-bounces@ietf.org> on behalf of "Joel M.
> Halpern" <jmh@joelhalpern.com>
> >         Date: Wednesday, 11 December 2019 at 03:55
> >         To: "spring@ietf.org" <spring@ietf.org>
> >         Subject: [spring] Is srv6 PSP a good idea
> >
> >             For purposes of this thread, even if you think PSP violates
> RFC 8200,
> >             let us assume that it is legal.
> >
> >             As I understand it, the PSP situation is:
> >             o the packet arrives at the place (let's not argue about
> whether SIDs
> >             are locators) identified by the SID in the destination
> address field
> >             o that SID is the next to last SID in the SID list
> >             o that sid is marked as / known to be PSP
> >             o at the intended place in the processing pseudocode, the
> last (first)
> >             entry in the SRH is copied into the destination IPv6 address
> field of
> >             the packet
> >             -> The SRH being used is then removed from the packet.
> >
> >             In order to evaluate whether this is a good idea, we have to
> have some
> >             idea of the benefit.  It may be that I am missing some of
> the benefit,
> >             and I would appreciate clarification.
> >             As far as I can tell, the benefit of this removal is that in
> exchange
> >             for this node doing the work of removing the SRH, the final
> node in the
> >             SRH does not have to process the SRH at all, as it has been
> removed.
> >
> >             I have trouble seeing how that work tradeoff can be
> beneficial.
> >             Removing bytes from the middle of a packet is a complex
> operation.
> >             Doing so in Silicon (we expect this to be done in the fast
> path of
> >             significant forwarders as I understand it) requires very
> special
> >             provision.  Even in software, removing bytes from the middle
> of a packet
> >             requires somewhere between some and a lot of extra work.  It
> is
> >             distinctly NOT free.
> >
> >             In contrast, we have assumed that the work of processing SRH
> itself is
> >             tractable, since otherwise all of SRv6 would be
> problematic.  So why is
> >             this necessary.
> >
> >             Yours,
> >             Joel
> >
> >             PS: Note that both the MPLS case and the encapsulation case
> are very
> >             different in that the material being removed is at the front
> of the IP
> >             packet.  Pop or prepend are MUCH easier than middle-removal
> (or
> >             middle-insertion).
> >
> >             _______________________________________________
> >             spring mailing list
> >             spring@ietf.org
> >
> > https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spri
> > ng__;!!NEt6yMaO-gk!Uvd5DRUIJlsmob5a7r4JRgMMbZcE60JOPIW3K2MubKpIuKXA1r7
> > 8vsFpWAHa8hW2$
> >
> >
> >         _______________________________________________
> >         spring mailing list
> >         spring@ietf.org
> >
> > https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spri
> > ng__;!!NEt6yMaO-gk!Uvd5DRUIJlsmob5a7r4JRgMMbZcE60JOPIW3K2MubKpIuKXA1r7
> > 8vsFpWAHa8hW2$
> >
> >
> >
> > _______________________________________________
> > spring mailing list
> > spring@ietf.org
> > https://www.ietf.org/mailman/listinfo/spring
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>