Re: [spring] “SRV6+” complexity in forwarding

Dirk Steinberg <dirk@lapishills.com> Wed, 18 September 2019 23:40 UTC

Return-Path: <dirk@lapishills.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B9A71200EB for <ipv6@ietfa.amsl.com>; Wed, 18 Sep 2019 16:40:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, NO_DNS_FOR_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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=lapishills-com.20150623.gappssmtp.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 tpL-FotsTS5e for <ipv6@ietfa.amsl.com>; Wed, 18 Sep 2019 16:40:35 -0700 (PDT)
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) (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 ABA581200B5 for <6man@ietf.org>; Wed, 18 Sep 2019 16:40:34 -0700 (PDT)
Received: by mail-wm1-x32c.google.com with SMTP id 7so2087051wme.1 for <6man@ietf.org>; Wed, 18 Sep 2019 16:40:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lapishills-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sivvGFEEbl9PNiThRilpTtrtkU2y1/D8C48RnnH2TEw=; b=w13MFG5/mlB8pEomFwIwrnuwvzRGjBYOajdkqIF2pjU8rUz5JV2ZOutg8oCQvJILZb 0n4TZFYwovbY7fvH2vJUVW2H14r0echh+qR4x8qVv5TWhRZguDoOuIuKA3UVgFQvv58v vlQR5oiG1o285BGY6cvn0X25nI0YAaOgNNC0pP/mtJewY4GpuJmQDuYAqjg6mEKyPkxw nurVjjmxpk/h/kXpegyFj9mmZYrm4DDqB1ROrvfXcQecc58/KtpOFEP6Tw8iZXZfPIrI G6tRJ3MYzZ8FNqy/o5VN4XBIeGNFpd10xhUVrrbzG7rKemUeMPc6Wm9upIfEzwCI0YaN nYfA==
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=sivvGFEEbl9PNiThRilpTtrtkU2y1/D8C48RnnH2TEw=; b=Z2n2GwEY/KRFvQ4vE6cXoFwu79Dz84YDL87xdeiJxt2p3IouUUibBXsvMfzpEIDmlP /0IZWoAmcbAvpy1h1ncUOmuK07haNZ7bPU05tIsknmBDeUwB+CNgSfDG58qkr/vDSyG6 6og/FkCZgGe+taWeYnDfBt568TH/OEBqB41INASSPVNSFUsBu2oZis/C4LCLP2EcMcp7 ysO2meHHKiEXJRyEzuKt1K+dX5OhjAQRw9Vah864PcuappGRwXWV4294PhC+lF+jaJ7Q 5eQayFFxook+Cd24rVd73cI7jMHRi5yJ+p9K+5lBzUIZfDzehlQgp7v2s/mTqWt+WO7u li7A==
X-Gm-Message-State: APjAAAVpOIKQ6Tp5YDPi7pxtTL6tKxHoUI/mIg2RrkZR0i9Xiz0Xz8XM f06BsVtUa5Lmj+QumtsuxHk+GD7hXuwzgV9wlTUp8A==
X-Google-Smtp-Source: APXvYqz9qXzOOdARU0E5r/Lia/6EnEXa4YK8a2q3jQGQp91lppDBndjIMtVjsRopJrAS/fiTcSC/3Nb9L7w5Tcaitio=
X-Received: by 2002:a1c:e008:: with SMTP id x8mr275824wmg.85.1568850032364; Wed, 18 Sep 2019 16:40:32 -0700 (PDT)
MIME-Version: 1.0
References: <CAHd-QWtA21+2Sm616Fnw0D-eB7SNb_BeG8-A-MCLLFgTwSpOsg@mail.gmail.com> <BYAPR05MB54632F09C712ADB30138CFA9AEBE0@BYAPR05MB5463.namprd05.prod.outlook.com> <BYAPR19MB3415D21403394F8129A4BAD8FCB90@BYAPR19MB3415.namprd19.prod.outlook.com> <30491F13-C652-45C3-AB2B-95F765FBB4EA@juniper.net> <65C5CB04-3A2F-4F83-A7C8-2045154F93AE@cisco.com> <BYAPR05MB5463EC3250F2A303A3641839AEBA0@BYAPR05MB5463.namprd05.prod.outlook.com> <91CBADAD-EFE6-46E1-A9D3-DAA111357179@juniper.net> <CAOj+MMGyUFRPDqCBo5SbLX486o_9GLpM6Zxf8KSt1voWiqhkGQ@mail.gmail.com> <E8D473B5-3E8D-4339-9A79-0CAE30750A55@juniper.net> <CAOj+MMFOy5PyTo=jPJkVrQOctdWjsTbD=7ix-2n89vodKzT3gQ@mail.gmail.com> <2F604D74-51CF-4F2F-AEA9-1CBDEEA9B9F7@gmail.com> <F09C2D09-D769-4817-AF73-97D6ED1BC4BF@lapishills.com> <201909120857387140042@chinatelecom.cn> <1568259664564.62561@bell.ca> <CAO42Z2wQ_8GEE+=nAMFBj+ape9Vf7fARVoOwGdCiUxdffkyXgw@mail.gmail.com> <BYAPR05MB5463A04B05B4BD6AA294F7F0AEB00@BYAPR05MB5463.namprd05.prod.outlook.com> <6EA6F7C0-BEB2-4749-A6AB-62B1337213B2@cisco.com> <BYAPR05MB5463426F1668202EE5F183EFAE8F0@BYAPR05MB5463.namprd05.prod.outlook.com> <634900D2-FBCE-47CF-8907-C8B9CB3A4102@cisco.com> <CALx6S34=Tw-u4Hz-07-Rs-GjsungkqnD_fMoQnGc17u3VJhY1g@mail.gmail.com>
In-Reply-To: <CALx6S34=Tw-u4Hz-07-Rs-GjsungkqnD_fMoQnGc17u3VJhY1g@mail.gmail.com>
From: Dirk Steinberg <dirk@lapishills.com>
Date: Thu, 19 Sep 2019 01:40:22 +0200
Message-ID: <CAFqxzqYr7g2jzwJrhvjL_DXYZsDzbzqx01cy0zB1aBweDde1XQ@mail.gmail.com>
Subject: Re: [spring] “SRV6+” complexity in forwarding
To: Tom Herbert <tom@herbertland.com>
Cc: "Darren Dukes (ddukes)" <ddukes@cisco.com>, "xiechf@chinatelecom.cn" <xiechf@chinatelecom.cn>, SPRING WG <spring@ietf.org>, 6man <6man@ietf.org>, Robert Raszuk <robert@raszuk.net>, Ron Bonica <rbonica@juniper.net>, Rob Shakir <robjs@google.com>, Tarek Saad <tsaad.net@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000e2a4540592dc5c40"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/TINDDi46CHlJSx7_yKWQVZudilc>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Sep 2019 23:40:38 -0000

SRv6 does not require TLV processing for normal forwarding (use case: SP
core).

- Dirk

On Wed, Sep 18, 2019 at 5:57 PM Tom Herbert <tom@herbertland.com> wrote:

> On Wed, Sep 18, 2019 at 6:42 AM Darren Dukes (ddukes) <ddukes@cisco.com>
> wrote:
> >
> > Hi Ron.
> >
> > I summarized my argument as follows:
> > "Regardless of ASIC capabilities there are two performance penalties you
> will not escape with PSSI+CRH+PPSI: TLV parsing and multiple lookups.”
> >
> > You’ve confirmed this additional overhead for "SRv6+".  Thanks.
> >
>
> Darren,
>
> How does one escape the performance penalty of TLV processing in SRV6?
>
> Tom
>
>
> > You then say "So long as the ASIC can process enough packets per second
> to saturate the line cards, we are forwarding at full line rate."
> >
> > Yes this is true, but we can conclude: The complexity of "SRv6+"
> requires ASICs do much more work per packet vs SRv6.
> >
> > Thanks
> >   Darren
> >
> >
> > On Sep 16, 2019, at 9:59 PM, Ron Bonica <rbonica@juniper.net> wrote:
> >
> > Hi Darren,
> >
> > I think that your argument can be summarized as follows:
> >
> >
> > SRv6 requires only two FIB searches
> > SRv6+ requires 4 or more FIB searches
> > Therefore, SRv6+ cannot possibly forward at line speed
> >
> >
> > Have I summarized your argument correctly? If not, please set me
> straight. If so, please read on.
> >
> > First, SRv6+ never requires more than 4 FIB searches. The DOH that
> precedes the CRH contains, at most, one PSSI. Therefore SRv6+ requires four
> FIB searches, at most.
> >
> > Second, SRv6+ only requires 4 FIB searches the following case:
> >
> >
> > The packet contains two instances of the DOH. (Most use-cases require
> only one.)
> > The processing node is configured to process the PSSI. (Many ASIC-based
> devices, because of their role in the network, won’t support any per
> segment service instructions. This nodes will be configured to ignore the
> PSSI. That is why it is optional.)
> >
> >
> > So, in most use-cases, SRv6+ requires only 3 FIB searches.
> >
> > So, you might now argue that:
> >
> >
> > SRv6 requires only two FIB searches
> > SRv6+ requires three and sometimes four FIB searches
> > Therefore, SRv6+ cannot possibly forward at line speed
> >
> >
> > Here, some slightly deeper thought might be required. A platform has two
> relevant resources:
> >
> >
> > A route lookup ASIC, that can process some number of packets per second
> > Some number of interfaces, that can forward some number of bits per
> second
> >
> >
> > So long as the ASIC can process enough packets per second to saturate
> the line cards, we are forwarding at full line rate. So long as a platform
> has a sufficiently capable ASIC, it will be able to forward at line speed.
> But it’s a matter of how the platform is designed. If the ASIC is not
> sufficiently capable, of course, it will not forward at line speed.
> >
> > In your email, you say that I have been asked several times to report on
> the state of Juniper’s SRv6+ implementation. While I cannot provide
> details, you can assume that we wouldn’t be working on this if we thought
> that performance was going to be sub-optimal.
> >
> > You also suggest that Juniper’s is the only implementation. Are you sure
> that this is correct?
> >
> >
>                                             Ron
> >
> >
> >
> >
> >
> > Juniper Business Use Only
> > From: Darren Dukes (ddukes) <ddukes@cisco.com>
> > Sent: Monday, September 16, 2019 4:38 PM
> > To: Ron Bonica <rbonica@juniper.net>
> > Cc: Mark Smith <markzzzsmith@gmail.com>; EXT - daniel.bernier@bell.ca <
> daniel.bernier@bell.ca>; xiechf@chinatelecom.cn; SPRING WG <
> spring@ietf.org>; 6man <6man@ietf.org>; Robert Raszuk <robert@raszuk.net>;
> Rob Shakir <robjs@google.com>; Tarek Saad <tsaad.net@gmail.com>
> > Subject: “SRV6+” complexity in forwarding
> >
> > Hi Ron, I agree ASICs are always improving, indeed this is evident in
> the number of successful SRv6 deployments and multiple vendor
> implementations at line rate on merchant silicon, and multiple vendor ASICs.
> >
> > Is “SRv6+” (PSSI+CRH+PPSI) implemented and deployed at line rate?
> > You’ve been asked this several times.  Since you’re the only
> implementor(?) and one operator is claiming deployment or testing, I am
> curious.
> >
> > Regardless of ASIC capabilities there are two performance penalties you
> will not escape with PSSI+CRH+PPSI: TLV parsing and multiple lookups.
> >
> > Requiring all segments in a CRH segment list to process an arbitrary
> length DOH+set of PSSI’s and other options is always very expensive.
> > - It is expensive in SRAM as previously discussed in these threads.
> > - It is expensive in parsing logic to know and process a set of TLVs in
> any ASIC or NP.
> >
> > Spreading PSSI, CRH, PPSI operations in multiple headers and multiple
> identifiers you now have multiple lookups at a node.
> > 1 - lookup destination address
> > 2 - lookup one or more PSSI and future destination options.
> > 3 - lookup the CRH label or PPSI label.
> > 4 - lookup new destination address
> >
> > Compare this with SRv6.
> > 1 - lookup destination address
> > 2 - lookup new destination address
> >
> > While ASICs are more capable and will continue to be more capable, these
> technical performance problems you introduce with PSSI+CRH+PPSI will not go
> away.
> >
> > Darren
> >
> >
> >
> > On Sep 12, 2019, at 12:34 PM, Ron Bonica <rbonica=
> 40juniper.net@dmarc.ietf.org> wrote:
> >
> >
> > --------------------------------------------------------------------
> > IETF IPv6 working group mailing list
> > ipv6@ietf.org
> > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > --------------------------------------------------------------------
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>