Re: What if? [was Re: Extension Header Insertion]

Brian E Carpenter <brian.e.carpenter@gmail.com> Wed, 11 December 2019 00:51 UTC

Return-Path: <brian.e.carpenter@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 7192A12018B for <ipv6@ietfa.amsl.com>; Tue, 10 Dec 2019 16:51:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 Un248e8xr_uR for <ipv6@ietfa.amsl.com>; Tue, 10 Dec 2019 16:50:59 -0800 (PST)
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) (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 88A3C120897 for <6man@ietf.org>; Tue, 10 Dec 2019 16:50:59 -0800 (PST)
Received: by mail-pl1-x635.google.com with SMTP id k20so662633pll.13 for <6man@ietf.org>; Tue, 10 Dec 2019 16:50:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=eDeSTPOyg7PcWBu7nyfQIklYntQ2yo9CpQkHNVuw2cA=; b=uBSo80v5u6NKCnuxGLqSdQLaprF/t6PyfJAaKpvspd33gc+yFdpSqGMaTlWy6iJDux tQc+itowjv1RTOLXyhBKO42rk4n2Bm5lS20uEt+4nKYiE1ZwQBPIBS6K3pCqH3Q+yERQ d0gvS6a9RqISBidL3WC6gL1uyC+NGQT21gEGIvj1LL0+5FzPQ47KFwsoR+fE8t7IG19G QhYFobfr3ZNKuKJK3bHEgC7rNheuEbpQOkev64td9ONuXUVxIUsWMgaj6jYpta8Dcdmc VwMHSj6EbtGqqDMxCHiGdsR35bv4pR9WTgAq3XB5I/dRQA01mGcstBUp61446cCyLYcs 2JiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=eDeSTPOyg7PcWBu7nyfQIklYntQ2yo9CpQkHNVuw2cA=; b=FIYq2KbUPVZiUK3ntM02hXqvFAzfQPGqcAuvZ47tHBetpLR+Vp2gw4JgP2MizgG0Ah JNxQ8i5lIol0weOinMFdarvqmX6Ou/L7smro012iPvn39rS4WfGlLpv6mZDG+61BKKhR jj06Yyu2s7nTVMnOo5PRb0aHbnsKtX9+A1Me5okLdrJv+2oxdmG6a7HbzHpvSggZTtwU AbF+3frB45h/seb7ZdBnteX7/sr79kRZSXnukvGgZg0HOw4JOEfKJEBf+DDv9WlbjWKk 370DKkmtUjkzj4hECE8mcGH+77klPhXaXR45uVs8S/KSDojxxcLXWsYpmxZSRugghNno O86Q==
X-Gm-Message-State: APjAAAVpwCRdWNr4rvr+MasR6NlYUBlU5vYb+O5ulm7A/S3OUlGE2Ztx zejz5Pp9Gc/vL9speLnIMjcsai7L
X-Google-Smtp-Source: APXvYqxstzkHIlRDKGdQ/f18hlzT7UttP1ZBVwaC9BTydZfwT+OxUUmFWcfOYIm4wu46aQXVjNpGQg==
X-Received: by 2002:a17:90a:628c:: with SMTP id d12mr356816pjj.107.1576025458563; Tue, 10 Dec 2019 16:50:58 -0800 (PST)
Received: from [192.168.178.30] (228.147.69.111.dynamic.snap.net.nz. [111.69.147.228]) by smtp.gmail.com with ESMTPSA id k190sm180118pga.73.2019.12.10.16.50.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Dec 2019 16:50:57 -0800 (PST)
Subject: Re: What if? [was Re: Extension Header Insertion]
To: "Darren Dukes (ddukes)" <ddukes@cisco.com>
Cc: Fernando Gont <fernando@gont.com.ar>, adrian@olddog.co.uk, Ron Bonica <rbonica@juniper.net>, 6man <6man@ietf.org>
References: <BN7PR05MB5699D9BA988F96E2F41CD390AE580@BN7PR05MB5699.namprd05.prod.outlook.com> <00dc01d5ae73$c361b450$4a251cf0$@olddog.co.uk> <dbcdeb1a-0091-da2b-20df-d991e6c06091@gmail.com> <9bc47200-4fea-37ce-0ede-cbf6a5f70ea9@gmail.com> <99e4bdd0-711d-7406-d3bf-786b0238c1e7@gont.com.ar> <44e6225f-97bc-37ba-c13e-b7bafa446fcc@gmail.com> <A5439DC7-5B11-40E9-BC32-6E675E2EDC20@cisco.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <7a0b4be6-9149-29d8-c253-19127bfcef14@gmail.com>
Date: Wed, 11 Dec 2019 13:50:52 +1300
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <A5439DC7-5B11-40E9-BC32-6E675E2EDC20@cisco.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/-xdkU8ybAq5-1BQvXqCsj-bX-1M>
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, 11 Dec 2019 00:51:01 -0000

Thanks Darren. I will hold off on the spring draft until we see a new version, since several of us are simply repeating ourselves at this point.

On balance I'm inclined to point a finger at RFC8200:

>    Each extension header should occur at most once, except for the
>    Destination Options header, which should occur at most twice (once
>    before a Routing header and once before the upper-layer header).

I now think that either that "should" should be a "must", or there
should be an explicit statement that only one routing header is
allowed. The complexities of multiple routing headers are endless.

What do others think?

Regards
   Brian Carpenter

On 11-Dec-19 11:04, Darren Dukes (ddukes) wrote:
> Hi Brian.  
> 
> I do believe that “assumption” you mention in draft-ietf-spring-network-programming is to be removed as a result of the last call discussion on spring@.
> 
> As I mentioned in a separate thread, RFC8200 states "IPv6 nodes must accept and attempt to process extension headers in any order and occurring any number of times”, the ‘assumption’ could been seen as a reminder of that requirement, but I don’t think thats necessary either.
> 
> There is no draft adopted by SPRING nor 6MAN that proposes multiple SRH be added to a packet.
> 
> If 6MAN intends to adopt a standards track definition of SRH insertion, then that document would need to fully describe the possible ramifications, including this one.  This we know, and are having much lively discussion on it.  I think we are safe to never have it ’sneak in’ without 6man having a say :)
> 
> Darren
> 
>> On Dec 10, 2019, at 2:27 PM, Brian E Carpenter <brian.e.carpenter@gmail.com <mailto:brian.e.carpenter@gmail.com>> wrote:
>>
>> Hi Fernando,
>>
>> On 10-Dec-19 21:39, Fernando Gont wrote:
>>> Hi, Brian,
>>>
>>> On 9/12/19 20:21, Brian E Carpenter wrote:
>>>> So, let's assume that two consecutive SRH headers are allowed in the same packet.
>>>
>>> Part of the problem with all these discussions is that folks seem to
>>> assume that there is no rationale for the existing rules, and they
>>> insist on changing them without providing any analysis/rationale.
>>>
>>> RFC8200 contains what should be considered a recommendation (at the very
>>> least) against multiple routing headers.
>>>
>>>
>>> A RH is meant to convey some sort of information about the path that a
>>> packet can traverse. So two SRHs would mean that the same packet should
>>> follow two different paths, at the same time. That doesn't seem to be
>>> much sense to me.
>>
>> I agree. That's why I am seriously asking whether we should recall
>> draft-ietf-6man-segment-routing-header-26 from the RFC Editor in order
>> to resolve this. Either (a) there MUST be at most one SRH in a packet,
>> or (b) the semantics and conflict resolution for multiple SRHs need to
>> be specified.
>>
>> At the moment we (6MAN) are on track to publish a Proposed Standard RFC
>> that leaves this ambiguous, and SPRING has a draft in WGLC that assumes (b).
>>
>>   Brian
>>
>>>
>>>
>>>
>>>> So the first one (an example from draft-ietf-6man-segment-routing-header-26) is:
>>>>
>>>>       Segments Left=2
>>>>       Last Entry=2
>>>>       Flags=0
>>>>       Tag=0
>>>>       Segment List[0]=S3
>>>>       Segment List[1]=S2
>>>>       Segment List[2]=S1
>>>>
>>>> and the second one is
>>>>
>>>>       Segments Left=1
>>>>       Last Entry=1
>>>>       Flags=0
>>>>       Tag=0
>>>>       Segment List[0]=S4
>>>>       Segment List[1]=S5
>>>>
>>>> I made that up and it's obviously nonsense, but if this is allowed why aren't the rules for processing conflicting SRHs described in draft-ietf-6man-segment-routing-header-26? Do we need to recall it from the RFC Editor queue to be fixed?
>>>
>>> It is clearly recommended against.
>>>
>>> However, the very draft-voyer-6man-extension-header-insertion doesn't
>>> even provide a rationale for EH insertion in the first place, let alone
>>> for this specific case that you (reasonably) raise.
>>>
>>> Unfortunately, when operating in a mode where analysis is discoraged,
>>> and "why?" questions are dismissed, I'm not sure there is any other
>>> possible alternative outcome than this -- documents with lots of
>>> unspecified stuff, violating specs at will, and designs try to cover up
>>> what seem to be sub-optimal design choices (like using 128-bit labels
>>> for what are expected/supposed to be limited domains) by screwing up the
>>> architecture to save bytes that were wasted elsewhere.
>>>
>>> Thanks,
>>>
>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org <mailto:ipv6@ietf.org>
>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
>