Re: [spring] Question from SPRING regarding draft-filsfilscheng-spring-srv6-srh-compression

Andrew Alston <Andrew.Alston@liquidtelecom.com> Fri, 15 October 2021 18:36 UTC

Return-Path: <andrew.alston@liquidtelecom.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 E35943A097E for <spring@ietfa.amsl.com>; Fri, 15 Oct 2021 11:36:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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 (1024-bit key) header.d=liquidtelecom.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 n31H7hFlw_Ae for <spring@ietfa.amsl.com>; Fri, 15 Oct 2021 11:36:01 -0700 (PDT)
Received: from eu-smtp-delivery-182.mimecast.com (eu-smtp-delivery-182.mimecast.com [185.58.85.182]) (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 8856D3A0980 for <spring@ietf.org>; Fri, 15 Oct 2021 11:36:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=liquidtelecom.com; s=mimecast20210406; t=1634322953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Q3DrV7RoK0tV50w5A8aWTmZWwiXQ9zj3izEsdIS9Ark=; b=m6KBmNJvmLym72RkjFzdTnhBgvp9g/anFk3RLlaoTsl9EfVbimSS3/UAbdGbe7lDiEAaAX YKTnRADK5Zbrj+IPNGA1xAfdjzOvguf5857fyICQ4Ws4I+9WJGiN2UpZ7sJfNk/BiEcv+G T5zXG343eI5y3Dy0AdnAV/Tq1Tlau4s=
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-32-tnn2-H0TP8alE7RHOAL3Aw-2; Fri, 15 Oct 2021 19:35:50 +0100
X-MC-Unique: tnn2-H0TP8alE7RHOAL3Aw-2
Received: from AS8PR03MB7622.eurprd03.prod.outlook.com (2603:10a6:20b:346::6) by AS8PR03MB7921.eurprd03.prod.outlook.com (2603:10a6:20b:424::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15; Fri, 15 Oct 2021 18:35:48 +0000
Received: from AS8PR03MB7622.eurprd03.prod.outlook.com ([fe80::90ec:90d5:59c4:fef9]) by AS8PR03MB7622.eurprd03.prod.outlook.com ([fe80::90ec:90d5:59c4:fef9%7]) with mapi id 15.20.4608.016; Fri, 15 Oct 2021 18:35:48 +0000
From: Andrew Alston <Andrew.Alston@liquidtelecom.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>, "ipv6@ietf.org" <ipv6@ietf.org>
CC: "spring@ietf.org" <spring@ietf.org>
Thread-Topic: [spring] Question from SPRING regarding draft-filsfilscheng-spring-srv6-srh-compression
Thread-Index: AQHXv+XgSULF7Ea5WUWRAuZUPOIHz6vUmW+A
Date: Fri, 15 Oct 2021 18:35:48 +0000
Message-ID: <4AF550FA-B350-45EF-85CD-AE7CB3F71132@liquidtelecom.com>
References: <85fddbe9-4eb8-7d90-d246-a888fe8bdcd3@joelhalpern.com>
In-Reply-To: <85fddbe9-4eb8-7d90-d246-a888fe8bdcd3@joelhalpern.com>
Accept-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.53.21091200
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: abcaba1d-2b50-47ee-c123-08d9900a9b88
x-ms-traffictypediagnostic: AS8PR03MB7921:
x-microsoft-antispam-prvs: <AS8PR03MB79216C56D4F30549587051F9EEB99@AS8PR03MB7921.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0
x-microsoft-antispam-message-info: pPrDbWv6hr2uw9eQq/udHwZIr/yVF2YQzc7TriBfO6DJU+kpZ9LdJZHelQDEmzzAoRLCOFCya8U6e1fTq+zZ9Bw3P1YtQgDT8eY/Ixn8wW0sVAu6vAGh/6VQkjjv9qOmIdUT/frpmPvbaZC6Xn3kDmHfxkYSdJjqVNpD6M2GewbhhehKhLDXDIPVPz9Vkx8dkgX4BdRz+Vmb2Pk7OjwZiyZLDnKf2LWCImnU45CbIRbt9z3a/MUoUP4bE3gR2rHIE2W/3od+CrsojfVFqnt+lj1ZZe39tF5ywGVX9h/d3HiyvbCauiOWf8X6xgLxmgBnDI9QxzbxpJ65wD2uumBIG0C6ppC1u3LEIQNBU08WPe9wMIvujNHya9aV4U69ZmMMIPy1O+aFfUuWeyO8R1oIYB5jTKTI7fSh4R4T/tiLfQgSMkWwPCBArRoa4VCuJ3OBuZ6gr5VrKGGMtj8n5+M5JTYeTNqk8/6qrrL/vsDMXKIC/gHpj367Q+uLlwR+/SjH8tvzde7s16b/ewN+B1vV9rWMCrcgg+NTCX+PMgHX0VjDz1FWRPLKJNyZS8zmhhlIWEner1pSLqKgSOJuWQ9vvgGCAbsct2GE+GsJzuQ5k8wI4+oiqA8xiF6pDWVIZ5LLovxN/WBp3jxDa1tlAzwG8bTDQWi7fB/u7WUpN+ltVE5+ZTAUmRuU7rdI72WDIAoxcZjQk7U7ASCMb6MUGmZJ2fFkHz8OUX/ZojVyp2+O+ZXV8JqlT4QuLPmooYFbJPQXmBfXLeka8sC3eQUmhmUpEmGqziKNja6gs0oRQjnNSoIzTlsgxkvFCUCVcR1tnxaq/O0pIHlnkKht5gZeoXHk1zMvG9w4T5EgztjZCxw0Nfk=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR03MB7622.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(86362001)(83380400001)(53546011)(508600001)(6506007)(66946007)(66476007)(66556008)(64756008)(66446008)(76116006)(91956017)(166002)(966005)(6512007)(66574015)(2616005)(36756003)(71200400001)(122000001)(2906002)(186003)(8936002)(4326008)(5660300002)(316002)(110136005)(8676002)(38070700005)(33656002)(38100700002)(6486002)(45980500001); DIR:OUT; SFP:1102
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Ec1Alw03YA0Ws3sjDUFYENjbdKLaO4eZWZvSsbZyCANEAFT4CqyAaQaN2xJZux4svVynpnonEtUkheQ2yX6u5Nd4OxfulR64x50PF0iIbxf+V7XQvQDxoGBrV9Ap7KI4lAcn7DlZDhE6KvQv7Jnsc3HeyPgY2hdS+Z4fS9y6VGcNgPRRf6wQqDecLoI+QOQmowFldiw9uF6/0gRYPkUIQtxEqJJXbdlm8Lmuf5GtGg6UWtk7dSv3M4wKRJa3BRzVyot2Cxuk+/5j7BT6GgvAA10o9aME7nIeCn/iHrAsIl7+FkxezUvccWTo+Yduq7FLdlDof93MzRKV9YBTLTB5JPf9mBOeoxIm0TjPFjB9zMVoYME7zISKAMS6EVrsTQBZvx0WKSGefbq2pTRZ98QseO/iUNL6CLXnJs3M+YuaJArU0pBgwdzVYlFeNnf2cymy/byX4AWf0tw7oMKThHrh4RFrvgpIky920g0KGz3QpiAUD2VND3MWvSZ7JtO8buFXkwc1OowxwA5J6SbCPMEE0ZJjj9nrClbHi9d2scxUqS9W50T62zLpl7ySVQ0+tH+4rWT7qUeff9olWBqgfULId0BQDpNWvcdkavzwURfhra+DbuyAfEbHlmeRl+Q+02YGUudeCcNCRSMjTjOZ3rGZi4MgIA7SntCdNZYK08zbQ8D+/ADQzF0ms3AijpguftMtfLT9HVUHd+60bGB0KWipVwsXei8Z7jMpv4QMmHxC7rtqPhBXInkw4C9BWdjV3YRO0nOF554WpUnTp6hiQpbuLyXIoRBH6081oVMO282qN7tZxxyh+IPBCe5GavgLHvFgORZqS3S+FHohurnTE/CPT1UlKO95lVFRxKoQTXBSyRedd/IOSBBMb2sdgytRSpIWMNMOEXLoNzpEzpAR70ns2ARf4gIbabKxIrIJl40mwTaxGKZs1ZoRA0uf9dok5nSoWXl5I6D9b0xBt/2Qcwnz67wAJrRNiZkzp/He7sKh9xzOzjm2IWvm/6KoJXSlfZPSeH2krS8gIp6KIPcFfK7J7MOL36imd4wLxmvAxdf6FU7hvT3PkBHnlSnu/+I4p/ueU9jIXWlrzz0lwJ7dvrvUpqPzAjrVGeijDzGZe+9msAwS2NY+b7/I2+2fwXPEEX5SqU7sUUP0/EUtragCKHjdsW5byXYuBe64qymUooNGHcJ+TJCqdksaq3kKbiuctRLoacj9pYX4YVAuq+jEZ1XqKRTRdNvddNzVAiZGNF4WohWmBPQYXpF4+QGZdwxLUtbTwKA3QSygrd9v5rbjtwp2hRjZOI/SmqWTChAEU1lE7tig0CINcbwaJ3AIZPfKFWEEG2jD54W4OjXB+7nikw7Lhg4FuLR+i/evr4fh6l8nziOQlkLeeAk9k4JMbslFUJzW
x-ms-exchange-transport-forked: True
MIME-Version: 1.0
X-OriginatorOrg: liquidtelecom.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB7622.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: abcaba1d-2b50-47ee-c123-08d9900a9b88
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2021 18:35:48.1874 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 68792612-0f0e-46cb-b16a-fcb82fd80cb1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: fdtBW9n0hQ8sTh9C3iUffdiZmI0RLOBglALiSI4pTIRU4uR2JL+8pLIcwrMWxRslrkURw/Fms6CvPEhpcOrUTPP34TpcoG633eOEDcwdR98=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7921
Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C82A168 smtp.mailfrom=andrew.alston@liquidtelecom.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: liquidtelecom.com
Content-Language: en-GB
Content-Type: multipart/alternative; boundary="_000_4AF550FAB35045EF85CDAE7CB3F71132liquidtelecomcom_"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/sJasGJbwU0huNBWaXQlQhT7lh1g>
Subject: Re: [spring] Question from SPRING regarding draft-filsfilscheng-spring-srv6-srh-compression
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: Fri, 15 Oct 2021 18:36:09 -0000

Joel,


  1.  Does the placement of a list of sids in the IPv6 DA field change the IPv6 architectural description of that field.


To this I would say 100% yes – Section 2 of RFC8200 defines an address as “an IPv6-Layer identifier for an interface or a set of interfaces” and right above that it describes as an interface as “A node’s attachment to a link”.  The definition of link above that also does not in any way help the case.  When you place a list of SID’s in the DA of a field – you no longer have an address by these definitions – you have – something else.  Yes – it can be clearly argued that the DA does not need to represent the ultimate destination – but it is hard to get away from the fact that this does change the definition as per the terminology section, since the address is no longer representative of an interface that represents a node’s attachment to a link – be it virtual or otherewise.



  1.  Does the operation of shifting information around in the IPv6 destination address field represent a modification or extension of the IPv6 data plane.



I am at a loss to see how this cannot be seen as a modification of the data plane.  You are taking an ingress packet – modifying the DA based either on whats in the DA itself (which is a more clear cut case – since you are using the address to modify itself – and it is in no way in line with what is described in point 1) or in the case of when an SRH packet is applied – deriving the DA in part from the what is contained in the SRH and in part from what is configured on the device.  As such the SRH itself does not “list one or more intermediate nodes to be visted”, that is derived information and I would argue outside of the spec.  This is particularly relevant considering that the packets do not contain SID length and multiple SID lengths are possible, as such deriving this information is a flexible behavior inside the data plane that is modified by configuration.



As I stated in another email – irrespective of how complex the pseudocode gets – and if you are deriving the information from the SRH or from the DA itself – the ultimate consequence of the behavior can still be summarized as da[location_size] << sid_size.  If you copy that information out of the routing header in an obfuscated way or not – that does not change the outcome – and in fact I would argue that any statements that because you can copy parts of the DA out of the SRH and some how do this via a less efficient method to achieve the same result – do not solve the issue of if this is a modification – all they do is create a situation where to avoid a claim of of data plane modification, pseudocode is proposed that is unlikely to ever be seen in a real implementation because of efficiency reasons, and hence we are in all likelihood accepting standardization of a method that we know may well be violated in every implementation – for the sake of making a claim of lack of violation of another standard.  This doesn’t sit well.

Thanks

Andrew




From: spring <spring-bounces@ietf.org> on behalf of "Joel M. Halpern" <jmh@joelhalpern.com>
Date: Wednesday, 13 October 2021 at 06:53
To: "ipv6@ietf.org" <ipv6@ietf.org>
Cc: "spring@ietf.org" <spring@ietf.org>
Subject: [spring] Question from SPRING regarding draft-filsfilscheng-spring-srv6-srh-compression

The SPRING working group is in the midst of an adoption call on
https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression/<https://datatracker.ietf.org/doc/draft-filsfilscheng-spring-srv6-srh-compression>.

The SPRING charter has text that is explicit that modifications to data
planes and architectures standardized by other working groups may not be
modified in SPRING unless the chairs and ADs responsible for that data
plane and / or architecture agree.

To complete the context, as my SPRING co-chairs are co-authors on the
document in question, they have recused themselves from decisional
activities regarding the document. Therefore, this message is coming
just from my as the responsible SPRING co-chair managing this adoption call.

As you have seen, multiple questions have been raised about the
relationship of the document to the IPv6 defined data plane and
architecture (particularly RFC 4291 and 8200). In particular the
questions seem to revolve around what the document describes as the
NEXT-C-SID flavor of compressed SID, and its relationship to the IPv6
standards. (For those seeking more context without reading the full
document, a paraphrase and simplification of the NEXT-C_SID flavor is
provided as a postscript.)

I raised the question of concurrence as required by the SPRING charter
with the Internet ADs and SPRING chairs. They quite reasonably asked me
to write a note to 6man explaining the concerns as clearly as a can, so
that they can then determine how to proceed.

The questions that prompted my inquiry are:

1) Does the placement of a list of sids in the IPv6 DA field change the
IPv6 architectural description of that field.
2) Does the operation of shifting information around in the IPv6
destination address field represent a modification or extension of the
IPv6 data plane.

On a related note, the document in question also defines two other
flavors, REPLACE-C-SID, and NEXT-and-REPLACE-C-SID. The
NEXT-and-REPLACE-C_SID flavor is defined to include the NEXT-C_SID
flavor operation, so seems to be affected by the same question.

From my own reading, it appears that the REPLACE-C-SID flavor does not
raise issues requiring 6man leadership concurrence.

Yours,
Joel M. Halpern for the SPRING working group


PS:
Clearly, understanding the question requires some understanding of what
the NEXT-C_SID flavor does. This explanation is a simplification for
length and context. Really, the best place to understand it is the
draft. However, to give you enough information to let you decide
whether you care, I will try to provide a fair summary. My apologies in
advance to the authors for necessary liberties for length. Also,
discussion of the draft contents (as distinct from the interaction with
the IPv6 data plane and architecture) belongs on the SPRING list, and
should not clutter up 6man.

SIDs are the identifiers used in segment routing.
In SRv6, as document in the current RFCs, these are 128 bits. As
defined in the relevant RFCs, SIDs which identify endpoints to which
packets are directed are identified by endpoint SIDs. These can have
behaviors (decapsulate and forward is one example). They can have
flavors such as where the SRH is removed.

The topic under discussion is means to compress these SIDs in the
packets on the wire. The document under discussion provides three
flavors of compression.

The fundamental mechanism of the draft is to use a single SRH entry as a
container for multiple SIDs. In the NEXT-C_SID mechanism, when it is
first encountered the entire container is copied into the desination
address of the IPv6 packet. The container has a common routing prefix
used for all the NEXT-C-SID SIDs. It is followed by a sequence of
compressed SIDs of a configured length. One could configure 16, 24, or
32 bits. Or whatever length. The routing advertisements are arranged
so that the IPv6 packet is directed to the node represented by the first
compressed SID on the basis of longest prefix match matching the
combination of the common routing prefix and that compressed SID.

When the packet arrives at that node, it looks up the configured
portion, the compressed SID, and determines the behavior and flavor. In
the case of the NEXT-C-SID flavor, the resulting operation is to shift
the entire remaining contents of the IPv6 address (the bits past the
first compressed sid) so as to over-write the first compressed SID. 0
bits are shifted into the low order positions. If the result is a
non-zero new first compressed SID, then the packets is forwarded and the
process repeats. When all that is left are 0s, if there is an SRH, it
is consulted to find the next SRH entry, which is, per normal SRv6
processing, put into the IPv6 DA.
Note that in the common case where the SIDS needed all fit in to a
single container, the analysis also assumes the use of the reduced
encapsulation options which omits the SRH that is not needed as it would
have no entries. This the packet contains a normal IPv6 header, with a
sequence of compressed SIDs (what one might or might not call a source
route) in the IPv6 destination address field.

PPS: If the authors of the NEXT-C-SID flavor feel I have mis-represented
the work, please, send clarifications or corrections. Again, the best
source of information is the draft itself. I was asked to provide extra
context in this email.

_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring<https://www.ietf.org/mailman/listinfo/spring>