Re: Comments on draft-bonica-spring-srv6-plus

"Joel M. Halpern" <jmh@joelhalpern.com> Mon, 08 July 2019 22:47 UTC

Return-Path: <jmh@joelhalpern.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 4358C120342; Mon, 8 Jul 2019 15:47:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.679
X-Spam-Level:
X-Spam-Status: No, score=-1.679 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.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 2mkcJc4A8hal; Mon, 8 Jul 2019 15:47:34 -0700 (PDT)
Received: from maila2.tigertech.net (maila2.tigertech.net [208.80.4.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0195812016E; Mon, 8 Jul 2019 15:47:33 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 45jLF14fKczKxM8; Mon, 8 Jul 2019 15:47:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1562626053; bh=eEoteB8JuPv7/zl3XcPygN+6XMLmlpjMyBs9Xj++HU4=; h=Subject:Cc:References:From:Date:In-Reply-To:From; b=aChwzbxLPv4P9n3fnpRtVKZo7gw342rrsmrDt40fS5VD6upwo6ZMlYlL4vtlLd/20 MEAf5lPIlrq9Oo+BcJLKhkAa6fbyTZmasYIXcWykSeqBMlbYq/B5JtCKIt82V0TWH6 t0Tof4faB6vfqwKHKQzOPlFYDWaTmhW0Ejpt52nI=
X-Virus-Scanned: Debian amavisd-new at maila2.tigertech.net
Received: from Joels-MacBook-Pro.local (209-255-163-147.ip.mcleodusa.net [209.255.163.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by maila2.tigertech.net (Postfix) with ESMTPSA id 45jLF05YynzKmqn; Mon, 8 Jul 2019 15:47:32 -0700 (PDT)
Subject: Re: Comments on draft-bonica-spring-srv6-plus
Cc: SPRING WG <spring@ietf.org>, IPv6 List <ipv6@ietf.org>
References: <156203443756.5663.9945449277625935606.idtracker@ietfa.amsl.com> <BYAPR05MB42456FC99AE1C49B65A17FF6AEF80@BYAPR05MB4245.namprd05.prod.outlook.com> <CALx6S34Qe1Fqagrv+pv0HG=JO3BWe0vfKmvLNaPhhmYW-aUa+g@mail.gmail.com> <BYAPR05MB4245E320947B75009E90A02FAEFB0@BYAPR05MB4245.namprd05.prod.outlook.com> <CALx6S36GWLTyuXiaBUWCA8ypxv68v7voq_wJUqY8zdr5XrqWaA@mail.gmail.com> <CAO42Z2zHMowTsgjxf-5fz8_DJD3b2mVs6YQCdvP7oG8w1jvB0A@mail.gmail.com> <BYAPR05MB42451A4B567C0418AB1D0EADAEF40@BYAPR05MB4245.namprd05.prod.outlook.com> <DA0E4FF7-7844-4195-B4F1-EE2747B263C7@gmail.com> <BYAPR05MB4245020D28DA688617BE0D00AEF60@BYAPR05MB4245.namprd05.prod.outlook.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <51d7094b-dbc2-a490-12af-8f8ae2f597db@joelhalpern.com>
Date: Mon, 08 Jul 2019 18:47:31 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.7.2
MIME-Version: 1.0
In-Reply-To: <BYAPR05MB4245020D28DA688617BE0D00AEF60@BYAPR05MB4245.namprd05.prod.outlook.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/AH48RTw3aQjUtOtag-1wQJjK-lc>
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: Mon, 08 Jul 2019 22:47:43 -0000

While one can argue forever abotu where the critical points are, I think 
we all know that all other things being equal (yeah, I know, they never 
are) smaller is better.
It thus seems clear to me that we should simply mandate support for both 
16 and 32 bit SIDs in the CRH.

Yours,
Joel

On 7/8/19 6:28 PM, Ron Bonica wrote:
> Bob,
> 
> SR encodings that require 128-bytes of overhead consume excessive bandwidth:
> 
> - on network links
> - in ASICS
> 
> While the former is interesting, the later is probably more significant.  In order to process at high speeds, ASICs need to access the entire IPv6 header chain. So, they copy the header chain, including all extension headers,  from buffer memory to on-chip memory. As the number of bytes in the header chain increases, so does the cost of that copy. And the longer the header chain, the less accessible the technology becomes to low-cost ASICs.
> 
> So, the most significant benefit may be  in keeping that copy under 128 bytes.
> 
>                                                                                                         Ron
> 
> 
> 
> 
> 
> Juniper Business Use Only
> 
> -----Original Message-----
> From: Bob Hinden <bob.hinden@gmail.com>
> Sent: Saturday, July 6, 2019 5:42 PM
> To: Ron Bonica <rbonica@juniper.net>
> Cc: Bob Hinden <bob.hinden@gmail.com>; Mark Smith <markzzzsmith@gmail.com>; Tom Herbert <tom@herbertland.com>; SPRING WG <spring@ietf.org>; IPv6 List <ipv6@ietf.org>
> Subject: Re: Comments on draft-bonica-spring-srv6-plus
> 
> Ron,
> 
>> On Jul 6, 2019, at 2:05 PM, Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org> wrote:
>>
>> Hi Mark,
>>
>> In my experience, operators object when SR overhead consumes more than 80 bytes. Also, I have encountered two classes of operator:
> 
> What is special about 80?   Why not 64, 128, 256?
> 
> Bob
> 
> 
>>
>> 	• Those who avoid strictly-routed segments
>> 	• Those who rely heavily on strictly-routed segments
>>
>> Those who avoid strictly-routed segments rarely generate SID Lists that contain more than 8 entries. So, they are generally OK with 32-bit encoding. This is because with 32-bit encoding, the total SR overhead is exactly 80 bytes (i.e., 40 bytes for the IPv6 header and 40 bytes for the CRH).
>>
>> By contrast, those who rely on strictly-routed segments regularly generate SID Lists that contain more than 8 entries. So, they are generally required 16-bit encoding.
>>
>> IMHO, the operator understands its needs better than we do. We should support both. Let the operator decide at run time.
>>
>>                                                                                                                   
>> Ron
>>
>>
>> From: Mark Smith <markzzzsmith@gmail.com>
>> Sent: Wednesday, July 3, 2019 9:08 PM
>> To: Tom Herbert <tom@herbertland.com>
>> Cc: Ron Bonica <rbonica@juniper.net>; SPRING WG <spring@ietf.org>;
>> 6man WG <ipv6@ietf.org>
>> Subject: Re: Comments on draft-bonica-spring-srv6-plus
>>
>>
>>
>> On Thu., 4 Jul. 2019, 06:06 Tom Herbert, <tom@herbertland.com> wrote:
>> On Wed, Jul 3, 2019 at 12:44 PM Ron Bonica <rbonica@juniper.net> wrote:
>>>
>>> Hi Tom,
>>>
>>> Thanks for the review.
>>>
>>> On Friday, I will update draft-bonica-6man-comp-rtg-hdr. It will contain a section on mutability. It will say:
>>>
>>> - the Segments Left field is mutable
>>> - every other field in the CRH is immutable
>>>
>>> I will also update draft-bonica-6man-vpn-dest-opt and draft-bonica-6man-seg-end-opt. Both of those request an IANA option type with the CHG bit equal to 0. So they are both immutable.
>>>
>>> SID encoding isn't entirely opportunistic. Since the last IETF, we realized that it would be burdensome for every vendor  to support all three SID lengths. So, we said that implementations MUST support 32-bit encoding and MAY support 16 bit encoding. (We dropped 8-bit encoding entirely).
>>
>> This sounds dicey from an interoperability and flexibility point of
>> view. Supposed I've deployed a network where everyone is using 16 bits
>> SIDs. But, then for some reason I need to switch vendors for a small
>> part of the network and their implementation doesn't support 16 bits.
>> Do I need to up the MSV and make all SIDs to be 32 bits just on the
>> off chance that one of the new nodes might be in some SID list?
>>
>>>
>>> A side effect of this decision is that a node should only send CRH's with 16-bit encoding every other node in the domain supports 16-bit encoding.. So, network operators will need to configure the SID length on each node, with the default being 32.
>>
>> Well, in light the above problem, I have to wonder if it's better to
>> only support 32 bits. The leap from 128 bits to 32 bits is much more
>> consequential than going from 32 to 16 bits. Other than that, it
>> simplifies the protocol, reduces support and test matrix, ensures
>> interoperability, etc.
>>
>> One single size is much better.
>>
>> I think most people will pick the larger size, regardless of their functional SID space need, to avoid the possibility of getting it wrong and then having to do a lot of after hours and possibly service impacting work in the future to expand from the smaller to larger size.
>>
>> Implementations would also be simpler, so less opportunities for implementation bugs.
>>
>> It also means no possibility of configuration errors because the size is a constant rather than a settable parameter.
>>
>> A lot of the principles in RFC 5505 - "Principles of Internet Host Configuration" - seem to me to be equally applicable to network interior protocols.
>>
>> For example, I think the whole of "2.1. Minimize Configuration" fully applies here.
>>
>> Regards,
>> Mark.
>>
>>
>>
>>
>> Tom
>>
>>>
>>>                                                                               
>>> Ron
>>>
>>>
>>>
>>> Juniper Business Use Only
>>>
>>> -----Original Message-----
>>> From: Tom Herbert <tom@herbertland.com>
>>> Sent: Wednesday, July 3, 2019 2:48 PM
>>> To: Ron Bonica <rbonica@juniper.net>
>>> Cc: SPRING WG <spring@ietf.org>; 6man WG <ipv6@ietf.org>
>>> Subject: Comments on draft-bonica-spring-srv6-plus
>>>
>>> Hi Ron,
>>>
>>> Thanks for the draft.
>>>
>>> I think the name SRV6+ might be a little misleading in that it could
>>> be misinterpreted as SRV6+ being a superset of SRV6. Specifically,
>>> SRV6+ doesn't allow 128 bit SIDs which seems inherent in SRV6 and so
>>> the primary function (and implementation) of SRV6 isn't compatible. It doesn't seem like it would be that much effort to allow a 128 bit SID size to be compatible.
>>>
>>> I don't understand the rationale for needing a MSV to be explictly configured throughout the domain. Couldn't the appropriate SID size be chosen by the sender at run time. For instance, if all the SIDs in a list are less than 65,536 then 16 bit SIDs can be used, else 32 bit SIDs are used (I assume 16 and 32 bit SIDs are in same number space).
>>> Since CRH has the bits stating the SID length there is no ambiguity at the receiver. SID compression is opportunistic and it's always good practice to avoid situations that require wide scale renumbering.
>>>
>>> Please add a section on mutability requirements of protocol fields so that there is no ambiguity.
>>>
>>> Tom
>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org
>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
>>
>> Juniper Business Use Only
>> --------------------------------------------------------------------
>> 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
> --------------------------------------------------------------------
>