Re: “SRV6+” complexity in forwarding

Mark Smith <markzzzsmith@gmail.com> Thu, 19 September 2019 00:44 UTC

Return-Path: <markzzzsmith@gmail.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 195B11209BD; Wed, 18 Sep 2019 17:44:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.497
X-Spam-Level:
X-Spam-Status: No, score=-0.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-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, RCVD_IN_DNSWL_NONE=-0.0001, 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 wZzlZISDdh8G; Wed, 18 Sep 2019 17:44:29 -0700 (PDT)
Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) (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 020FC1209E9; Wed, 18 Sep 2019 17:44:29 -0700 (PDT)
Received: by mail-oi1-x236.google.com with SMTP id w144so1263525oia.6; Wed, 18 Sep 2019 17:44:28 -0700 (PDT)
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=vyxbESD9R69CzOe8LopBRGzTWXQ3fQzmR+CfBGpzTOI=; b=BNsScgaBrQUifdKot6uq21yvmPaiEpP9TIKFCGtG5+PZjsdCqaCUQW3HsnKewQ0e+I MMFgvx3V6TqMyMHvL+JSRGl+SVldjNUTu1HKU7qivN1sSzHZ24ebNrx/8ZqeLOrEp/3n gPOEmO7Bt4uL7yh3xSWr5fOcCxREh4kcAeIjkr97QMdsQh8IP6QFVOIVE38KL5WPhxEE EnmTX04Vm6XGJjmlj/+x48i1NAdZIZzoSHK5ON8Lua9EDa6+2G3dKemKlWgy7+OECnVx 5VeTESmAcN88ifQOUAx0IYw+nGSrELH1L7s2jtW7yB6T7BreFaYHAVew+8bnVfmK4e4x IUWg==
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=vyxbESD9R69CzOe8LopBRGzTWXQ3fQzmR+CfBGpzTOI=; b=TNsvd/ePBx8VaYYh7R1odxi3Vkp0V8/nCjgGa1xHrcXgAkqYjJcRxy3olH1pQX0IzM E3DXuNiikuWexIJSbAEytUZg1/xwDa28Nq/wqscVPQnvGLLAPsLv+pq4/a8Hc21FnNTL yLqzNvqDD6tNu3GvNQnslqvQfZS6EDgWrtE91E2wXl1oEu1m8LUnVQT/uQPsary115iA bIsU23PKM1e8aHjFbvlAW37GYoaAyh6L+SyF5D3Jv7jwh+6AheHGVv+dNOT6pUBCfhR5 pLjD1ttqCksNVbdju79nkD3GhbibUO9Qh1HpMQ2AccKhL38qe2VWEQbjDVZs+IsghruD /6LA==
X-Gm-Message-State: APjAAAWgxZT1jzv7mWkkQ7xiah8bbnOyAHgSi9x+NscxFxeT9qXDZzse MQnd6zzzGcfBR1BvlbiMnHL5l8jEIf7YWupfoes=
X-Google-Smtp-Source: APXvYqy3LmUijZYtuZXdSaE1lRkeRdH8RbKe1UO0/46afvVddYVh4qPwhRhVMRlSuBtN4wX7GYENiAvAceJrOIBBtkg=
X-Received: by 2002:aca:4e87:: with SMTP id c129mr472437oib.7.1568853868283; Wed, 18 Sep 2019 17:44:28 -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> <1AD1C187-31A8-4372-BBB9-13D4E17B2CC1@gmail.com>
In-Reply-To: <1AD1C187-31A8-4372-BBB9-13D4E17B2CC1@gmail.com>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Thu, 19 Sep 2019 10:44:16 +1000
Message-ID: <CAO42Z2xABm9EDttPtr+vgHr6ZNX7m3CdUmROkz+w1OOP_5RxRw@mail.gmail.com>
Subject: Re: “SRV6+” complexity in forwarding
To: Gyan Mishra <hayabusagsm@gmail.com>
Cc: "Darren Dukes (ddukes)" <ddukes@cisco.com>, 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>
Content-Type: multipart/alternative; boundary="000000000000860c710592dd41a9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/yvGgx_Ip5TS3zRIdj9K46SAULPM>
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: Thu, 19 Sep 2019 00:44:39 -0000

None of that means there isn't room for improvement, or that lessons that
can be learned and applied a second time around (just need to watch out for
second system syndrome). The first version isn't always if ever the best
version.

On Thu, 19 Sep 2019, 09:57 Gyan Mishra, <hayabusagsm@gmail.com> wrote:

> Daren
>
> This is from 2019 CISCO Live presentation
>
>
> https://www.ciscolive.com/c/dam/r/ciscolive/us/docs/2019/pdf/BRKMPL-2132.pdf
>
> IETF Standardization
> • The work started by Cisco in 2014
> • Significant industry collaboration
> • There are over SRv6 50 IETF documents
> • The work spans over 13 working groups
> • SRv6 header has been last called
> • Network Programming is a Working Group document • Multivendor Consensus
>  #CLUS © 2019 Cisco and/or its affiliates. All rights reserved. Cisco
> Public
>
> Cisco Deployments
> • Softbank
> • Cisco Supports SoftBank on First SRv6 Deployment in Prep for 5G •
> Nationwide SRv6 network carrying live traffic
> • Iliad
> • Nationwide SRv6 network to provide a new mobile offering in Italy • The
> SRv6 backbone is based on Cisco ASR 9000 and NCS 5500 • All the cell site
> routers are SRv6 capable Iliad's NodeBox
> • China Telecom
> • Multi-city SRv6 network
>
> Gyan
>
> Sent from my iPhone
>
> On Sep 18, 2019, at 9:41 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.
>
> 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
> --------------------------------------------------------------------
>
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
>