Re: Draft-ietf-spring-network-programming ipv6 addressing architecture - was draft-ietf-6man-segment-routing-header-26 violating RFC4291, IPv6 Addressing Architecture?

Brian E Carpenter <brian.e.carpenter@gmail.com> Fri, 13 March 2020 02:49 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 4A9213A0E6C; Thu, 12 Mar 2020 19:49:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 bakt7ZrEOjzX; Thu, 12 Mar 2020 19:49:20 -0700 (PDT)
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) (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 455A93A0E6F; Thu, 12 Mar 2020 19:49:20 -0700 (PDT)
Received: by mail-pj1-x102b.google.com with SMTP id m15so2819735pje.3; Thu, 12 Mar 2020 19:49:20 -0700 (PDT)
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=C2dsbcdL/dWpLYgfhKIkCpgpyNkZE3v4eulzLwrxDs4=; b=PsDZoAWuVMAFwVxMwfhLzotNVKv/PoJ/m5xrG4pbvv+qO4KnmNuBVPhjYIzy7918t9 xSZtZfuP/VOkKcouLHDBKIry/Ht1Yiz96DYET/VlQN7IAZ4DnGrIURxRW0Fg7SHPh1Tg 1GBwTP6ahNfAAy/y0sUibbC3P/JVTv72WKZg5zzIccL1irjPP6ZPqj6Jwy+Qw7qqjwfm myM8AizcIKL01l2iQ2sBsmgEGZTTSpHtwQOaEKfvxFT2inAyWWj0s4jatokASl8dt0Xa Sy9QOygOWAq2B32+iQGy7D2aNiHc1u4Cu2KCIYz3yCmsATA4FuCScDsIAMWl84B/aa5t wILw==
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=C2dsbcdL/dWpLYgfhKIkCpgpyNkZE3v4eulzLwrxDs4=; b=bOuRLnV0OVgAvhP/rm8xMo7yczNNwTriGLANBIJYWTaHfLzoD83RKGk+sxxhPdZRnl EQNVSmOtDdJaeO97dqQYEINgr4FmZecbiSfW8JaN42zF0rzqtGpMF1BEqZTFxM2B5369 Wx+Lt27q+dxd+wDuHeG0wLLcoXO3UjHlUofyBy2W+AuD+L/9jRhnceCYkbdjOhN5LVBf 1YaqrnIMtIBcv7N2PrRHeivQrIf7P/TwOPbLOVQIceBDk0VXGoJXUqRPkqKwW0oLfycv vjw95eGL3I5nXIyBbRQFS9rji4SfXBELgB+B8zUd+Eos4IRg9VzFCaxr6YfJ8NrwPB50 yVHQ==
X-Gm-Message-State: ANhLgQ0gdEMO/Pe8LfH8MG/P5EX6sQvNryOHsEHtlgFsstYvwze1+T06 g7WJQ+GoFqTfUMVnm6VQOHpJ3Dh2
X-Google-Smtp-Source: ADFU+vvPnvorX7iYI3UmQY/CpKz3597yPmWCUym05ehIk2NC3UHyZfmwqMVgcoJN3mlPyN24eNEd6w==
X-Received: by 2002:a17:90b:124a:: with SMTP id gx10mr7375373pjb.117.1584067758987; Thu, 12 Mar 2020 19:49:18 -0700 (PDT)
Received: from [192.168.178.30] ([165.84.25.143]) by smtp.gmail.com with ESMTPSA id y15sm5778644pfc.206.2020.03.12.19.49.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Mar 2020 19:49:18 -0700 (PDT)
Subject: Re: Draft-ietf-spring-network-programming ipv6 addressing architecture - was draft-ietf-6man-segment-routing-header-26 violating RFC4291, IPv6 Addressing Architecture?
To: Andrew Alston <Andrew.Alston@liquidtelecom.com>, "Darren Dukes (ddukes)" <ddukes@cisco.com>, Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>
Cc: "spring@ietf.org" <spring@ietf.org>, 6man WG <ipv6@ietf.org>
References: <4F4FF5EC-690F-4C09-9101-98AB2DDFDE0C@liquidtelecom.com> <a38c3197-2513-4af6-cb4f-a0a96c082cb9@gmail.com> <DBBPR03MB541585909C4D92325A69F1EFEEFD0@DBBPR03MB5415.eurprd03.prod.outlook.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <a86dfff1-cecf-2b60-f4f4-fd003a956c73@gmail.com>
Date: Fri, 13 Mar 2020 15:49:14 +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: <DBBPR03MB541585909C4D92325A69F1EFEEFD0@DBBPR03MB5415.eurprd03.prod.outlook.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/8inkfaPIyfHDc_8ViguPnQKu-vc>
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: Fri, 13 Mar 2020 02:49:22 -0000

(General comment: I am disciplining myself to minimise responses on this topic.)

On 12-Mar-20 21:26, Andrew Alston wrote:
> Brian,
> 
> Let me clarify a few things – for my own understanding – I am happy to be wrong here, and if I am just let me know (while what I am writing may come across as statements, it was easiest to write that way, consider the statements clarification questions) –
> 
> Firstly – let us consider the RFC8402 argument for a second – though I think we should probably consider this separately.  In reference to RFC8402 this draft states – in section 3:
> 
>    When an SRv6 SID is in the Destination Address field of an IPv6
>    header of a packet, it is routed through an IPv6 network as an IPv6
>    address.
>  
> So – we establish that indeed – SRv6 SID’s are IPv6 addresses – there is no two ways about it – they go into the destination field.  This is contrary to what Robert argued in an email found at https://mailarchive.ietf.org/arch/msg/spring/u1AzYFpDe-AhIxXdih2BEIz65Bk/

So it seems. But the term "SID" seems a bit slippery, even in its definition in RFC8402. However, as far as the IPv6 routing system goes, an address is 128 bits long and cannot be otherwise.

> Now, lets look at this draft specifically in reference to RFC4291.
> 
> Section 2 of RFC4291 states that IPv6 addresses are identifiers for interfaces and sets of interfaces – where an interface is defined in RFC2460 as a “node’s attachment to a link”.  This document creates SID’s that have no binding to any interface.  Section 3 of the NP draft explicitly refers to lookups that lookup SID’s (which we have already established are addresses) that have no interface bindings.

Yet the packet has been delivered to the host via an interface, which means that it must be associated with that interface in some other node's neighbour cache. That's how it works for any address, even if it's associated with the loopback interface.

I think that what may be going on here is that the implementations implicitly handle SID-addresses exactly as if they were associated with the loopback interface, because they have to, otherwise nothing would work. But once the SID gets into the NP logic, it's no longer viewed as an IP address at all, because it might just as well have come from SRV-over-MPLS or something. Maybe. Just hand-waving here.
 
> In section 3.1 – this talks about the Locator – this is entirely compliant with section 2.5 of RFC4291 – however – the function and arguments section of this – have no relation to interface ID’s – it is debatable if this is as a result of problems in RFC8402 or indeed, potentially both drafts – since it is this document that explicitly creates these function and argument sections independently of RFC8402 in section 3.1.

Well, interface IDs are actually invisible in the routing system anyway. Ultimately we route on (the longest match with) 128 bits.
  
> Indeed RFC3587 states in section 3:
> 
> [ARCH] also requires that all unicast addresses, except those that
>    start with binary value 000, have Interface IDs that are 64 bits long
>    and to be constructed in Modified EUI-64 format.  The format of
>    global unicast address in this case is:

I wonder why that informational RFC isn't Historic? The current standards-track text on that point is in RFC4291, but is updated by RFC7136 to make EUI-64 optional and by RFC8064 to make EUI-64 a SHOULD NOT. It's just a shame that we couldn't agree on the wording of 4291bis.
 
> I fail to see how defining a function and arguments in the way this document describes are compliant with this.  Now, it can also be argued that there are many implementations that violate these specifications – Linux allows you to bind entire /64s to loopback addresses, however, I would argue that it is a very different case for an implementation to violate the specification as for an RFC to violate the specification and make it into a standard.

As somebody else pointed out, RFC7136 is pretty emphatic that the bits in an IID should have no semantics. But (as far as I know) that isn't how IPv6-SIDs work. As long as the routing protocols can treat them as opaque /128 values, it seems OK.

Regards
    Brian
 
> I will also note and acknowledge that some may think that I am being pretty pedantic here – but considering the context and the claims floating around about what other RFC’s say and don’t say – perhaps its time to start examining this whole thing with a fine tooth comb so that we can end up with a better result that works for everyone and doesn’t lead to unintended consequences.
> 
>  
> 
> Thanks
> 
>  
> 
> Andrew
> 
>  
> 
>  
> 
>  
> 
> *From:*Brian E Carpenter <brian.e.carpenter@gmail.com>
> *Sent:* Thursday, 12 March 2020 00:30
> *To:* Andrew Alston <Andrew.Alston@liquidtelecom.com>; Darren Dukes (ddukes) <ddukes@cisco.com>; Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>
> *Cc:* spring@ietf.org; 6man WG <ipv6@ietf.org>
> *Subject:* Re: Draft-ietf-spring-network-programming ipv6 addressing architecture - was draft-ietf-6man-segment-routing-header-26 violating RFC4291, IPv6 Addressing Architecture?
> 
>  
> 
> On 12-Mar-20 09:53, Andrew Alston wrote:
>> Hi Spring WG
>>
>>  
>>
>> On the basis of the below – I must conclude that the issues relating the SID/IPv6 semantics have indeed not been dealt with by the spring working group in the context of the network programming draft – and I would now like to raise those issues in the context of that draft – and the fact that draft-ietf-spring-network-programming violates the address semantic specifications of RFC4291.
> 
> I really think that this is subsidiary to RFC 8402 (a Proposed Standard):
> 
> SR can be applied to the IPv6 architecture with a new type of routing
> header called the SR Header (SRH) [IPv6-SRH]. An instruction is
> associated with a segment and encoded as an IPv6 address. An SRv6
> segment is also called an SRv6 SID. An SR Policy is instantiated as
> an ordered list of SRv6 SIDs in the routing header.
> 
> I don't see anything in the SRH draft or the network-programming draft
> that is not within that definition. Whether RFC 8402 contravenes RFC 4291
> is worth discussing, I guess. The latter says:
> 
> IPv6 addresses of all types are assigned to interfaces, not nodes.
> An IPv6 unicast address refers to a single interface. Since each
> interface belongs to a single node, any of that node's interfaces'
> unicast addresses may be used as an identifier for the node.
> 
> However, I can't find anything in RFC 4291 that forbids addresses
> having semantic meanings rather than being pure locators. It goes
> against one of my design prejudices, but I can't find anything
> resembling "Encoding semantics in address bits considered harmful"
> in the RFCs.
> 
> In reality, there are lots of operational practices that amount to
> giving semantic meanings to address bits.
> 
> Brian
> 
>>
>>  
>>
>> Can we please have a proper discussion on this
>>
>>  
>>
>> Thanks
>>
>>  
>>
>> Andrew
>>
>>  
>>
>>  
>>
>> *From: *"Darren Dukes (ddukes)" <ddukes@cisco.com <mailto:ddukes@cisco.com>>
>> *Date: *Wednesday, 11 March 2020 at 22:03
>> *To: *Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org <mailto:rbonica=40juniper.net@dmarc.ietf.org>>
>> *Cc: *Andrew Alston <Andrew.Alston@liquidtelecom.com <mailto:Andrew.Alston@liquidtelecom.com>>, 6man WG <ipv6@ietf.org <mailto:ipv6@ietf.org>>
>> *Subject: *Re: draft-ietf-6man-segment-routing-header-26 violating RFC4291, IPv6 Addressing Architecture?
>>
>>  
>>
>> Hi Ron, I made no comment in this thread on draft-ietf-spring-network-programming.
>>
>>  
>>
>> Darren
>>
>>
>>
>> On Mar 11, 2020, at 2:55 PM, Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org <mailto:rbonica=40juniper.net@dmarc.ietf.org <mailto:rbonica=40juniper.net@dmarc.ietf.org%20%3cmailto:rbonica=40juniper.net@dmarc.ietf.org>>> wrote:
>>
>>  
>>
>> Darren,
>>
>>  
>>
>> Didn’t we agree to close issue 66 because draft-ietf-6man-segment-routing header contains no text regarding SID/IPv6 address semantics. If that’s the case, how can you say that closing issue 66 implies WG consensus around SID/IPv6 address semantic proposed in draft-ietf-6man-network-programming?
>>
>>  
>>
>>                                                                                        Ron
>>
>>  
>>
>>  
>>
>>  
>>
>> Juniper Business Use Only
>>
>> *From:* ipv6 <ipv6-bounces@ietf.org <mailto:ipv6-bounces@ietf.org <mailto:ipv6-bounces@ietf.org%20%3cmailto:ipv6-bounces@ietf.org>>> *On Behalf Of *Darren Dukes (ddukes)
>> *Sent:* Tuesday, March 10, 2020 12:07 PM
>> *To:* EXT-Andrew.Alston@liquidtelecom.com <mailto:EXT-Andrew.Alston@liquidtelecom.com> <mailto:EXT-Andrew.Alston@liquidtelecom.com> <Andrew.Alston@liquidtelecom.com <mailto:Andrew.Alston@liquidtelecom.com <mailto:Andrew.Alston@liquidtelecom.com%20%3cmailto:Andrew.Alston@liquidtelecom.com>>>
>> *Cc:* 6man WG <ipv6@ietf.org <mailto:ipv6@ietf.org <mailto:ipv6@ietf.org%20%3cmailto:ipv6@ietf.org>>>
>> *Subject:* Re: draft-ietf-6man-segment-routing-header-26 violating RFC4291, IPv6 Addressing Architecture?
>>
>>  
>>
>> Hi Andrew please see issue #66 for the closure record. 
>>
>>  
>>
>> https://trac.ietf.org/trac/6man/ticket/66 <https://urldefense.com/v3/__https:/trac.ietf.org/trac/6man/ticket/66__;!!NEt6yMaO-gk!RN-QFuaCraX6vU74Vusek5FlDyBGgfC2Teh1Vz40nw0PBhWdPtA-SA3t_rxaFg4_$>
>>
>>  
>>
>> Darren
>>
>>  
>>
>> On Mar 9, 2020, at 3:18 PM, Andrew Alston <Andrew.Alston@liquidtelecom.com <mailto:Andrew.Alston@liquidtelecom.com <mailto:Andrew.Alston@liquidtelecom.com%20%3cmailto:Andrew.Alston@liquidtelecom.com>>> wrote:
>>
>>  
>>
>> Hi Darren
>>
>>  
>>
>> >  Hi Mark, the working group discussed the
>>
>>  > association with RFC4291 and closed it with
>>
>>  > the text in the document.
>>
>>  
>>
>> Can we get a reference to these discussions please - would just be useful to back and refresh memories and wasn’t able to find them
>>
>>  
>>
>> Thanks
>>
>>  
>>
>> Andrew
>>
>>  
>>
>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org <mailto:ipv6@ietf.org>
>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
>>
>