Re: [spring] SRv6 SIDs and IPv6 addressing

"Joel M. Halpern" <jmh@joelhalpern.com> Wed, 18 March 2020 01:10 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 46D863A0D3A for <spring@ietfa.amsl.com>; Tue, 17 Mar 2020 18:10:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 dqBewKTUr_ds for <spring@ietfa.amsl.com>; Tue, 17 Mar 2020 18:10:39 -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 342573A0D42 for <spring@ietf.org>; Tue, 17 Mar 2020 18:10:39 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 48hsRL6yWfz6GGpx; Tue, 17 Mar 2020 18:10:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1584493838; bh=b0E0AMgtPbLgL1VzZuZ5O8XTxwEAndrWTFjcZnMSMXM=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=Fo5jUarZwKp+d50+8IBhxxkWyVOUiZcZRVKbHyEYYqpiuBCl/PpV9EfoGhshCMpZj sW7xsv65iODoQw/rLU1jDC8wf7nBC9BduJAAC+E5Yns5Oujl/yHpigqCm5DogPBLGp bAaTc+mbDQ3yD7uv06rkNdiME+Tb7DpR3u1hezgY=
X-Virus-Scanned: Debian amavisd-new at a2.tigertech.net
Received: from [192.168.128.43] (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 48hsRL2x14z6GChv; Tue, 17 Mar 2020 18:10:38 -0700 (PDT)
To: "Darren Dukes (ddukes)" <ddukes@cisco.com>
Cc: SPRING WG List <spring@ietf.org>
References: <B2206CB2-7E2F-4180-8C1D-A5DE6322E607@cisco.com> <8995ff5e-8340-d0d7-b487-42c9447afa92@joelhalpern.com> <D28F791F-BAF0-470F-8FB0-554DBA8E7C3B@cisco.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <1263410d-47a4-5dda-521b-04f8342850ea@joelhalpern.com>
Date: Tue, 17 Mar 2020 21:10:37 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <D28F791F-BAF0-470F-8FB0-554DBA8E7C3B@cisco.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/p18DCWwZpAr4uO3CIU4rjulZaA4>
Subject: Re: [spring] SRv6 SIDs and IPv6 addressing
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Mar 2020 01:10:42 -0000

In no other IETF context I can think of does an LP  match magically 
allow one to assign meaning to some of the other bit.

Look, if you want to claim that NP updates the definitions in the 
various other places to have this constructiion, I can't stop you.  I 
probably can't even stop such a description from becoming an RFC.  But I 
can and will object to a claim that the RFC we approved says that 
already.  It doesn't.

Frankly, we have plenty of proof (from the fact that we can do all these 
things with MPLS) that we do not need separate bits for these effects. 
You folks want it more explicitly encoded, in a separable fashion.  You 
can even argue that doing such simplifies operations and management. 
But don't pretend that such assignment of semantics to bits in addresses 
is what we allowed when we approved the RFC.  (I actually thought we had 
approved such, even though I dislike it.  But looking at the words that 
were approved, they simply do not say that.)

Yours,
Joel

On 3/17/2020 6:47 PM, Darren Dukes (ddukes) wrote:
> Hi Joel.
> 
> I believe we agree that RFC8754 does describe a segment as having two 
> parts, and NETPGM calls those parts LOC and FUNC.
> 
> So you asked specifically about FUNC:ARG.
> RFC8754 4.3.1 says:
>     When an SRv6-capable node receives an IPv6 packet, it performs a
>     longest-prefix-match lookup on the packet's destination address.
>     This lookup can return any of the following:
> 
>     *  A FIB entry that represents a locally instantiated SRv6 SID
>     ...
> 
> I believe we agree, a "longest-prefix-match” (LPM) may be less than 
> 128bit long.
> An LPM of less than 128 bits corresponds to a SRv6 SID of the format 
> LOC:FUNC, followed by some number of bits.
> NETPGM has given those bits a name: ARG
> 
> Thanks
> Darren
> 
>> On Mar 16, 2020, at 2:21 PM, Joel M. Halpern <jmh@joelhalpern.com> wrote:
>>
>> Darren, I had assumed that 8754 did indeed define things the way you 
>> use them.  However, I can not find the assertions you make.
>>
>> The short text in section 3.3 of RFC 6754 does not seem to create a 
>> distinction between segment or local interface.  For that to be the 
>> justification for SIDs do not have to interfaces is putting a lot of 
>> weight, and a significant change in the IP address architecture, on 
>> two words in an informative paragraph.
>> Further, section 4.3 draws a distinction between processing a SID and 
>> processing a packet addressed to an interface and that "is not locally 
>> instantiated as an SRv6 SID"  That does not create the distinction you 
>> are arguing for.
>>
>> Nothing in either document lays any groundwork I can see for 
>> LOC:FUNC:ARG.  On the one hand, 8402 applies to MPLS, which does not 
>> use any such distinction.  And when I search those documents, )maybe I 
>> missed something) I did not find any references to 'arg" or "loc" that 
>> seemed relevant.
>>
>> Yours,
>> Joel
>>
>> On 3/16/2020 12:45 PM, Darren Dukes (ddukes) wrote:
>>> The following are some observations on SRv6 SIDs and IPv6 addressing 
>>> as they pertain to draft-ietf-spring-network-programming (NETPGM)
>>> SRv6 RFCs tell us the following as it relates to SRv6 SIDs, IPv6 
>>> addresses and how SIDs are identified and assigned:
>>> - RFC8402 tells us an SRv6 SID is an IPv6 address.
>>> - RFC8754 section 1 defines SRv6 and its instantiation in the IPv6 
>>> dataplane, along with SID terminology
>>> - RFC8754 section 2 defines Segment List as a list of IPv6 addresses
>>> - RFC8754 section 3.3 defines an SR segment endpoint node, making the 
>>> distinction between "segment or local interface."
>>> - RFC8754 section 4.3 describes processing at segment endpoint node 
>>> for either; a fib entry representing a locally instantiated SRv6 SID, 
>>> or a local interface not instantiated as a SRv6 SID.
>>> - RFC8754 section 5 describes the Intra-SR-Domain deployment model, 
>>> where:
>>>  - within the SR domain "Allocate all the SIDs from a block S/s"
>>>  - within the SR domain “Assign all interface addresses from prefix A/a"
>>>  - At node k [within the SR domain], all SIDs local to k are assigned 
>>> from prefix Sk/sk
>>> How this relates to NETPGM
>>> - SRv6 SIDs are IPv6 addresses.
>>> - SRv6 SIDs are not necessarily interface addresses.
>>> - SRv6 SIDs are allocated from S/s within the SR domain (NETPGM 
>>> formalizes this as B)
>>> - SRv6 SIDs are locally instantiated at node k in prefix Sk/sk 
>>> (NETPGM formalizes this as LOC, or B:N for node N)
>>> - SRv6 SIDs are locally instantiated at a node using the remaining 
>>> bits of Sk/sk (NETPGM formalizes this as FUNC:ARG)
>>> NETPGM and the representation of a SID as LOC:FUNC:ARG are expected 
>>> by RFC8402 and RFC8754 and inline with both.
>>> NETPGM formalizes the concepts previously described, and required 
>>> within the SR domain.
>>> Darren
>>> _______________________________________________
>>> spring mailing list
>>> spring@ietf.org
>>> https://www.ietf.org/mailman/listinfo/spring
>>
>> _______________________________________________
>> spring mailing list
>> spring@ietf.org
>> https://www.ietf.org/mailman/listinfo/spring
>