[bess] [Shepherding AD review] review of draft-ietf-bess-bgp-srv6-args-04

"Gunter van de Velde (Nokia)" <gunter.van_de_velde@nokia.com> Wed, 12 February 2025 12:54 UTC

Return-Path: <gunter.van_de_velde@nokia.com>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 22839C20C8E2; Wed, 12 Feb 2025 04:54:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.25
X-Spam-Level:
X-Spam-Status: No, score=-2.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.148, 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_H2=-0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=nokia.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kZRPS8WcVl_t; Wed, 12 Feb 2025 04:54:43 -0800 (PST)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2053.outbound.protection.outlook.com [40.107.21.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0D45C1D3DF4; Wed, 12 Feb 2025 04:54:33 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=awv5SegtzEbJOk/nTZGU6RNGT1XCytUKcpsg+7gA05Z8KR4YhIkIB5Y7MsbotkGdGWtbQRb0jSOsPM4Ns+teThH8FLPuPbeyEbgDwDL14Fcxn3lnZtqSbM1ZUaHW/TMPVwuElGn7OFEO1Po8JlCGlXi/gHFaYkiNrbs2DaFJd2gXpLid6kopK3nB5kjEYAt77Zp+LmKGbhJ/chuLMtcrENeBtBTIc8Dx2amXpJzE6NviMQjZ02+kSwZXHqUAhcrVqXV4IFyPYbuEnLtFCTT+ZBrUfn0Fu9Fy/5MSRy+symCQ4JtM5aN4APQR4FH33IYWizN/d5IlEOar83lwK7LFWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=srBOR9Kq9VXGca8OUn651/gBSL1u+6uohd+EdDRXkuE=; b=rvrh5fjnHhLoJ+EJh2iDXHySQIi2Pi1ETeQbcqvWOuleW7VJbGgJGBUd87zauluvVlDq7uLbm8lgbE7Kc6tZEisZ8w5jdQe1R1AVUkjqZ3KDbJGbBtS2jbgXmmsFsvIcYvdRXnAuXriwRzZb52fuNIXyAbXfuUiKBKOj6+lK8mYdZ0lBlUwjcKS9lG8ETIb8vuVe4366Oe567n6FHSgkntsAY5pe23orJUkjyn+GNOWI4m/5lCkl0UO2s7iw0XTpWcM57hLGw9f4R9Hn24iVhcBBUOaqj2FGyz2ihmRCWFbI5r+srcpzWGesvdGjTyMRWyIZpCEVibE9kMHXKwGvLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=srBOR9Kq9VXGca8OUn651/gBSL1u+6uohd+EdDRXkuE=; b=pzg8k36H+gWdfGMrGd7xQSeWoDsToccafGOrA7yqo0bUDbA9JCoIzS9pYt+eNQwySmJgb307edz4D5X3gVhk1hCkoEeEKmjCdbATC+w1am6Rs2mWEgvLDJu0QH6ODB8BESQU9JbidbG2JdkXekJo/WbtB+fQOYx5t8qL4WDEbD4Hx3ZA/9wIM4/4ao/uoneYGCS1pp1pqUqzbMvRkhUOBuuiyy7fLj9ZLzqVeDBg4gqgQnferJQB6H4H3TEUdnRxYvW+N6amHyPRu2uGfvuHHzooB5A5FIHf8+j96NDhhugmcrHRIXsmmhA5k0fQqalqmMDE+Vqf1DUTl8JmzX24kw==
Received: from AS1PR07MB8589.eurprd07.prod.outlook.com (2603:10a6:20b:470::16) by DB9PR07MB7785.eurprd07.prod.outlook.com (2603:10a6:10:2ab::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.12; Wed, 12 Feb 2025 12:54:30 +0000
Received: from AS1PR07MB8589.eurprd07.prod.outlook.com ([fe80::5ca6:f902:8e31:6f3e]) by AS1PR07MB8589.eurprd07.prod.outlook.com ([fe80::5ca6:f902:8e31:6f3e%5]) with mapi id 15.20.8445.013; Wed, 12 Feb 2025 12:54:30 +0000
From: "Gunter van de Velde (Nokia)" <gunter.van_de_velde@nokia.com>
To: "draft-ietf-bess-bgp-srv6-args@ietf.org" <draft-ietf-bess-bgp-srv6-args@ietf.org>
Thread-Topic: [Shepherding AD review] review of draft-ietf-bess-bgp-srv6-args-04
Thread-Index: Adt9S//LEZPTi4y/S6ai5QEd5YVd9Q==
Date: Wed, 12 Feb 2025 12:54:30 +0000
Message-ID: <AS1PR07MB858983D340783C50D39064E9E0FC2@AS1PR07MB8589.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS1PR07MB8589:EE_|DB9PR07MB7785:EE_
x-ms-office365-filtering-correlation-id: 34a6eaf6-181e-4543-c0c8-08dd4b646444
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|10070799003|1800799024|366016|13003099007|38070700018|8096899003;
x-microsoft-antispam-message-info: LGDwNuN0dRkHxOKzy+WosTVMSrMX2o65clyn1WqVpbKCiP5u6gxpi1fQCdd6pswyXCxOs9oQlAN1F1b2NmMGVoDnZikFqhZVuWBwlFKAxxDnN9dxWx6vdWpIlSzdwXLmBvhYcRDLF2L4cXnomccgAu2AHq3tbhZif/Y340sSIA5Zf/KEKNwsPVOEwysblpPuD5A7luE8e4DMazN3Zz/B0cZlJavn3oOFRe0LRtISGz/7bUnfcWzbeg0n1d0GmCO7oWOZSUY22XmaiB7F9cgFIh/hsngDlSwqHyuEUyZ5zv82YIvS+bSIYvaAcq2ThJQIKSyEkEI+lTBrVwfGBDIEjBI7TN698tX2uHzbLLYh1QxDUJIu6A+APCTbuYQcZCtkEPBK909AcdA+zSRYvnQI9yej5kS9uvVQuIcG+yY7mfscxO2Xku1gQrdQi7A9gTqRdHAVrNPH7wnYCiJ13mtapfM+UA+9JmnWuILSkJWJbIG+mk7B/eVfFwNw/udsvWOIurAp9bzCsyMGmgyTgybG7/IqfUl5Fz85nIMgg1NslJZVgJBD2VMhwEjD5ji5aiiCldlKEe49Gd2rLc2v34JS6c+lXtmCEy4tUWX4O0oHS4KCDdtw3tZ++YVsuuORKW0lE/76MFuvMcm1HUdWHNIcq8ApliS5lB55203jWbbYy/VYPv+WSxFf/pvK8rkxe/FyIVA3HnMUg+ygpnLV0f/stRer3VLwP7GdqF65ixUUtl+x8zq+cbA4CR9qfbTPwUueVPkRDrD7WUT1S4xLdlbsbpwCjS127N9b71KSaGI5JDCpXYwSWop9KG7rPIczc3BECzn4xkx3eUrNnOiy6XYNheUvmMkR9yVMkIqdBYu23OGP8vlEzmbDqX5RedSWhGrgE1wAiz8X99PlozVxvSmApjv5YzD7zZLa8XbxORvmdQ8KOG5fNfHxkyrVfzM8hLU/HzY7h8QPVS4meuuwtlx+gcG9fdlyuCUlO8KQwqJdJQj2CAeHsQAfwYqYGCa6RQ7gJHgcWGLWObA5yDjdn2AlnuHhbhJJxQPweOwizRKsjqoMVB/bvt5LDLNPd2TNftRNueTDImYuffXr5bvK52Ft654MI5y8GFwDFbFkoKjiAA4cxVqZ8MwI3bC0zOzUaSEDVDf/9kHy8HBdmi4pRkftZn/noAmCSFlPERI6j4kQ9gGkf5gvhY5/ZiDjVhO2R13SSJw50W2MCxXCjeJBffz6Ci61q/n934ACXGFbCvLWZJYrKNPalHtFtEIbLDpsnSATYrA1kUddxXKPcX45NPxpouc5PqHDxD9rPXONJzhfYEu0ZKqH2oG1HGMfpXl96v7+zKSlwssVdSlknqQCDboGBM8s63vTe9M2QS2yV4wlUB46DiEx7ui4e8lPROmKQHb8
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS1PR07MB8589.eurprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(1800799024)(366016)(13003099007)(38070700018)(8096899003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 5d/moGUyETVXZc7XWMGckJh92VvO6z/XJmV66GcTwhkjkK3bbdpX/SuuVZn8q2y6AU/XdlBWc7fxnnwmo2lxn/Gbo9dGmJ648xgrMLTkh8L0bmNpXak8MVAp4IBKMSpbURXPvNlEAQ9PDVAX6VVUJ7Mo74Ou9DbAJ7FsEJOzyL4sh2EqEsZcdHcPbCfxUhVFjaTYW5STnCeL30qyUUhpryuXCsB1hpu55xxq1zyQg1NuLR+9q5aPZZM5rCUsjOMaTUCmR2P3xGDQxJrAaJPtiMvYpTSh8Wl+hHjNQ8nL6cy5rZgy7SIs0H1/2uLY6dS1zksJgwg2v0BEQJnEdfJ8zeLNO/fAa2UpIQ2zW1WU9eqEgtf887gAuwM5nDlIb3pgVcBQKgjWEHTrIalTuWxZb/YvA4uAiHK4H/z3uq9wNSnCbXNi+IE5HWdKY07PNTVC3vSM3usjdiYuyZKwrPGJgO46Y1+A5Ooj3gYgZlnOyEUXAPUyK4OO/X8GFArk4i3EF16+unkxXlHfTjJckVHdI6vKu5Qn4NEJp0eMSgzLkiV4S17l81kOo/zUQHv+UTbjZxOACdp7WRDHZooHiSHx8E4DyX6Q6KkHKBstU1Vb9x4LvRxGO2D2tYga9CNUdz/xUc7vWeB9Hy9qlSod6JdVqGS6lQyXZTmSEkHC77x1lY1zY2vDSlLmbrGScQ0c3g2gAPwDFL9P2S++kIaD2/WTVLJrSzabn9ZchvP9IdhI8LixunLEC7az6psUz4un7KzVR9NlVdMGes+EcFISVo9b2Kbsn1AWB+bGdVADfK0iKj5WoEHVG0B8xJzhgDfozs6Pyn98C2d8VG77FmiO7OT8pfumZmEe+gtdte+7TbzWz8cTqj+5yugMG8IkjlWJtMl3ipCQm++r2yFPJ6mpiAZFNOVjYmWbI2mP+8YxYMl9hcwyAvCxnZrCtAyUX3e/eBn+5hKlGsd9xrJ6WzGjnzTiaZZcNolNvSC13TC2cbEYhtnTQLukBP4WFmc2hCaZCbr8tYsTx2dA1OniI9S8pIeAF7Xq3mDPeHnNSqJSacQzx7ADcnnt0JIh3NbkgjLtQIHBHjG+wIlT9BkzBdituy8zrQnVnnZebvb4nTn/B5U5BXGeMJz97OJz1+0pNAjIlf4feMXbFByn4UZ7EfSQh+2thNlzIDJKyb+w0IxqnIgYFi77dhshy1Bi4HkfWptYJeiFvlwAPIMWOV/5iJOvxdVKL1rthsuVCpbhLmetSC2lYiGJ3zCtfx3cby3gFp//m1rdxfeKG/keyDHaEcJrMTpYNQclIv+ZZwq3mKKqZsIScyMHXx6+Sj7sED6oIcz5iFTgnBExcsvgaNxFXQUF9Lv8umhREMuLg9GcNCXV+25un4UvXI161nIQxLk5AdFYg86Y+B/lU+1sBsHVpgt5T39WzJ3E3F6Dz207fh4hrZ4CHxkvnTku+LcwUEk8ydyuIMMJIVDEvGAmqHLB+OIxWEqeILKJUP80FXRp1bhi21Rb5AP5N55R538iQJ0elYbuYOOsu2mov7SZsutY6jHkQSCSPLtdbEmOTUpWuzf0UBcGoBopX79zjZlcJU/T3KBlYtGCHEzs/z2pdJbIDzLL92tFK2xTe0liT/yu69EgTHYgo/za/+TZKgKEQpJ3ddaqJN609iZQYhAoj3aP0VSV+91Q5w==
Content-Type: multipart/alternative; boundary="_000_AS1PR07MB858983D340783C50D39064E9E0FC2AS1PR07MB8589eurp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS1PR07MB8589.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34a6eaf6-181e-4543-c0c8-08dd4b646444
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2025 12:54:30.7253 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2oxcOntovmxwuS3ixM1QNpObhJ5n6QzxvBIJkBprUNTyOJGDHTacDovpE5FFom4dSm03lGWnFv6YJtzku77Z+fTcsd32Tb8N1ZTbCWnI/mw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR07MB7785
Message-ID-Hash: ZAGQCYSQLHHSAJYBF7BFO7FLG7JZB36Z
X-Message-ID-Hash: ZAGQCYSQLHHSAJYBF7BFO7FLG7JZB36Z
X-MailFrom: gunter.van_de_velde@nokia.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-bess.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: 'BESS' <bess@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [bess] [Shepherding AD review] review of draft-ietf-bess-bgp-srv6-args-04
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/yhUmkV6rmB7h75ShVb371tXRNgA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Owner: <mailto:bess-owner@ietf.org>
List-Post: <mailto:bess@ietf.org>
List-Subscribe: <mailto:bess-join@ietf.org>
List-Unsubscribe: <mailto:bess-leave@ietf.org>

[Gunter Van de Velde, RTG AD, comments for draft-ietf-bess-bgp-srv6-args-04]

Hi Authors,

# The review includes mostly editorial suggestions and observations that arose during a thorough examination of the document.  Many thanks for writing up a solid document.

# Please find my review notes below. Before proceeding further requesting an IETF Last-Call and consequently with the IESG, I would appreciate it if you could consider these.

# Many thanks for the shepherd writeup from Jeffrey

# line numbers are rendered from the idnits tool found at https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-bess-bgp-srv6-args-04.txt

#GENERIC COMMENTS
#================

## I found that this document was not a-walk-in-the-park to digest. It has many abbreviations detailed procedures included.

## A terminology section may help a little, at least for trying to make reading the draft a less herculean effort. It is not easy to dig through the text while doing a treasure hunt at the same time for some used abbreviation terminology.

## RFC9602 suggests usage from IANA IPv6 Special-Purpose Address Registry the Address Block 5f00::/16 for SRv6 SIDs. In this document the classic IPv6 documentation address space used in the examples. It may be worth considering using for example 5f00:d0c::/32 instead?

## Argument Length is not abbreviated as AL on first usage, but on 2nd usage

## The following detailed comments section primarily consists of text refinements aimed at improving readability. In certain sections, BCP 14 keywords have been introduced to enhance clarity and alignment with standard terminology, while trying to preserve the intent of the original text.

#DETAILED COMMENTS
#=================

84              For some of the EVPN services, [RFC8986] introduced the End.DT2M SRv6
85              Endpoint Behavior that takes arguments (i.e., Arg.FE2).  [RFC9252]
86              specified the encoding and procedures for signaling of the SRv6 SID
87              and its argument via EVPN Route Type 3 and EVPN Route Type 1
88              respectively.  During the implementation and interoperability
89              testing, it was identified that the specifications in [RFC9252] were
90              not detailed adequately.

GV>

"
For certain EVPN services, [RFC8986] introduced the End.DT2M SRv6 Endpoint Behavior, which utilizes arguments (i.e., Arg.FE2). [RFC9252] subsequently specified the encoding and signaling procedures for the SRv6 SID and its associated argument via EVPN Route Type 3 and EVPN Route Type 1, respectively. However, during implementation and interoperability testing, it was observed that the specifications outlined in [RFC9252] lacked sufficient detail, leading to ambiguities in interpretation and implementation.
"

92              This document updates [RFC9252] to provide the necessary details and
93              clarifications related to the signaling of SRv6 Service SIDs
94              corresponding to SRv6 Endpoint Behaviors that use arguments.  While
95              the document refers more specifically to the signaling of the
96              End.DT2M SRv6 Endpoint Behavior via EVPN Route Types 1 and 3, the
97              procedures can be applied to the signaling of other similar endpoint
98              behaviors with arguments that may be signaled via BGP.

GV>

"
This document updates [RFC9252] by providing additional details and clarifications regarding the signaling of SRv6 Service SIDs associated with SRv6 Endpoint Behaviors that utilize arguments. While the focus is primarily on the signaling of the End.DT2M SRv6 Endpoint Behavior via EVPN Route Types 1 and 3, the procedures described herein are also applicable to other similar endpoint behaviors with arguments that may be signaled using BGP.
"

100           [RFC9252] section 6.3 specifies the use of a bitwise logical-OR
101           operation between the SID with ARG signaled via Route Type 1 and the
102           SID with LOC:FUNC parts signaled via Route Type 3 to form the SRv6
103           Service SID to be used in the data path.  However, this assumes that
104           the same uniform SID structure is used and signaled for all SIDs
105           advertised via Route Type 3 and the Route Type 1.  Such an assumption
106           may not always be correct and the procedures in this document remove
107           this restriction.

GV>

"
Section 6.3 of [RFC9252] specifies that the SRv6 Service SID used in the data plane is derived by applying a bitwise logical-OR operation between the SID with ARG signaled via Route Type 1 and the SID with LOC:FUNC components signaled via Route Type 3. However, this approach assumes a uniform SID structure across all SIDs advertised via Route Types 1 and 3. This assumption is not universally valid, and the procedures in this document remove this restriction, ensuring greater flexibility in SRv6 SID signaling.
"

109           The description and the examples in this document do not use the
110           Transposition Scheme.  Hence, the Transposition Offset (TPOS-O) and
111           Transposition Length (TPOS-L) are both shown to be 0 and the various
112           MPLS label fields into which the FUNC or ARG portions may be
113           transposed into are also not described.  The same examples could use
114           the Transposition Scheme.  This document does not introduce any
115           change with respect to the use of the Transposition Scheme in the
116           signaling of EVPN Routes and implementations need to follow the
117           procedures and recommendations related to the Transposition Scheme as
118           specified in [RFC9252].

GV>

"
The descriptions and examples presented in this document do not utilize the Transposition Scheme. Consequently, the Transposition Offset (TPOS-O) and Transposition Length (TPOS-L) are set to zero, and references to MPLS label fields where the FUNC or ARG portions may be transposed are omitted. However, the same examples could be applied with the Transposition Scheme. This document does not introduce any modifications to the use of the Transposition Scheme in the signaling of EVPN Routes. Implementations are expected to adhere to the procedures and recommendations specified in [RFC9252] concerning the Transposition Scheme.
"

130           As defined in [RFC8986], an SRv6 SID consists of three parts: Locator
131           (LOC), Function (FUNC), and Argument (ARG).  SRv6 SIDs corresponding
132           to SRv6 Endpoint Behaviors that do not support argument do not have
133           the ARG part, hence all the bits after FUNC MUST be zero and have
134           zero argument length.

GV>

"
As specified in [RFC8986], an SRv6 SID comprises three components: Locator (LOC), Function (FUNC), and Argument (ARG). For SRv6 SIDs associated with SRv6 Endpoint Behaviors that do not support argument, the ARG component is not present. Consequently, all bits following the FUNC field MUST be set to zero, and the argument length MUST be zero.
"

136           Certain SRv6 Endpoint Behaviors (e.g., End.DT2M), support arguments.
137           As indicated in section 3.2.1 of [RFC9252], the SRv6 SID Structure
138           sub-sub-TLV MUST be signaled along with SRv6 SID corresponding to
139           behaviors that support argument to enable the receiving router to
140           perform consistency checking for the argument and to perform correct
141           encoding of ARG value within the SRv6 SID.

GV>

"
Certain SRv6 Endpoint Behaviors (e.g., End.DT2M) support arguments. As specified in Section 3.2.1 of [RFC9252], the SRv6 SID Structure sub-sub-TLV MUST be included when signaling an SRv6 SID corresponding to an endpoint behavior that supports argument. This ensures that the receiving router can perform consistency verification of the argument and correctly encode the ARG value within the SRv6 SID.
"

143           While for some use cases, the SRv6 SID can be signaled as
144           LOC:FUNC:ARG all encoded within the SID, there are use cases where
145           the SRv6 SID (i.e., LOC:FUNC part) is signaled without the ARG via
146           one advertisement and its ARG value is signaled via another
147           advertisement or learnt via some other mechanism.  It is the SRv6
148           Source Node that needs to encode the ARG after the LOC:FUNC part to
149           form the complete SRv6 SID (LOC:FUNC:ARG) that can be used in the
150           data path and encoded in either the packet's IPv6 destination address
151           or as a segment in the Segment Routing Header (SRH) [RFC8754], as
152           required.

GV>

"
In certain use cases, the SRv6 SID can be signaled as a complete structure, with the LOC:FUNC:ARG components fully encoded within the SID. However, there are scenarios where the SRv6 SID, consisting only of the LOC:FUNC portion, is signaled in one advertisement, while the ARG value is either signaled through a separate advertisement or learned via an alternative mechanism. It is the responsibility of the SRv6 Source Node to append the ARG component to the LOC:FUNC portion, thereby constructing the complete SRv6 SID (LOC:FUNC:ARG). This fully-formed SID can then be utilized in the data plane, either as the IPv6 destination address of a packet or as a segment within the Segment Routing Header (SRH) [RFC8754], as required.
"

154           Since arguments may be optional, the SRv6 Endpoint Node that owns the
155           SID indicates the SRv6 SID Structure along with the advertisement of
156           the LOC:FUNC part of the SRv6 SID to indicate its support for ARGs
157           for that specific SID.  Using a zero Argument Length (AL) indicates
158           that the node does not accept ARG for the given SRv6 SID.  Using a
159           non-zero AL indicates the size of the ARG that is supported by the
160           node along with the Locator Block Length (LBL), Locator Node Length
161           (LNL), and Function Length (FL) indicating the offset at which the
162           node expects the ARG value to be encoded.

GV>

"
Since arguments may be optional, the SRv6 Endpoint Node that owns the SID MUST advertise the SRv6 SID Structure along with the LOC:FUNC portion of the SRv6 SID to indicate whether arguments are supported for that specific SID. A zero Argument Length (AL) value indicates that the node does not accept an argument for the given SRv6 SID. Conversely, a non-zero AL value specifies the size of the supported argument, along with the Locator Block Length (LBL), Locator Node Length (LNL), and Function Length (FL) parameters, which define the offset at which the node expects the ARG value to be encoded.
"

164           The advertisement of the ARG value may be done by the same node that
165           owns the SRv6 SID and is doing the advertisement of the LOC:FUNC
166           parts of that SID, or it may be done by some other node/mechanism.
167           The advertisement of the ARG value needs to indicate the size of the
168           ARG along with the value and the associated SRv6 Endpoint Behavior of
169           the SID.  There also needs to be some mechanism to associate the
170           advertisement of the ARG with the SID(s) for which that ARG may be
171           used.

GV>

"
The advertisement of the ARG value may be performed either by the node that owns the SRv6 SID and is advertising the LOC:FUNC portion of that SID, or by another node/mechanism. The advertisement of the ARG value MUST specify the size of the argument, its value, and the associated SRv6 Endpoint Behavior of the SID. Additionally, there MUST be a mechanism to associate the ARG advertisement with the corresponding SID(s) for which the argument is applicable.
"

175           As specified in [RFC9252], the LOC:FUNC part of the SRv6 SID with
176           End.DT2M behavior is signaled via EVPN Route Type 3 (Inclusive
177           Multicast Ethernet Tag Route) while the ESI Filtering ARG (the
178           Arg.FE2 notation introduced in [RFC8986]) part of the SRv6 SID is
179           signaled via EVPN Route Type 1 (Ethernet A-D per ES Route).  The
180           subsections below specify the signaling and processing in more detail
181           as compared to [RFC9252].

GV>

"
As specified in [RFC9252], the LOC:FUNC portion of the SRv6 SID with End.DT2M behavior is signaled via EVPN Route Type 3 (Inclusive Multicast Ethernet Tag Route), while the ESI Filtering ARG (denoted as Arg.FE2 in [RFC8986]) is signaled via EVPN Route Type 1 (Ethernet Auto-Discovery per Ethernet Segment (A-D per ES) Route). The following subsections provide a more detailed specification of the signaling and processing mechanisms compared to [RFC9252].
"

183           ESI Filtering is a split-horizon method that is used for Multi-Homing
184           [RFC7432] or E-Tree procedures [RFC8317].  ESI Filtering is not used
185           where there is no E-Tree leaf Broadcast, Unknown Unicast, or
186           Multicast (BUM) traffic, no multi-homing, no split-horizon method
187           used, or where "local-bias" method (refer [RFC8365]) is used.  In
188           this document we generically refer to "ESI Filtering" as the
189           procedure carried out by the disposition PE to avoid forwarding BUM
190           traffic to local Ethernet Segments or local leaf attachment circuits,
191           based on the presence of the ESI Filtering ARG.

GV>

"
ESI Filtering is a split-horizon mechanism used for Multi-Homing [RFC7432] or E-Tree procedures [RFC8317]. ESI Filtering is not applicable in scenarios where:

* No E-Tree leaf Broadcast, Unknown Unicast, or Multicast (BUM) traffic exists,
* No multi-homing is present,
* No split-horizon mechanism is required, or
* The local-bias method (as specified in [RFC8365]) is employed.

In this document, "ESI Filtering" is used as a general reference to the procedure performed by the disposition PE node to prevent forwarding of BUM traffic to local Ethernet Segments or local leaf attachment circuits, based on the presence of the ESI Filtering ARG.
"

193           The detailed descriptions in the sections below also apply to the
194           flavors of End.DT2M behavior for SRv6 SID list compression
195           [I-D.ietf-spring-srv6-srh-compression].  In a deployment with a mix
196           of compressed and uncompressed SIDs, the behaviors advertised in the
197           Ethernet Auto-Discovery (A-D) per ES Routes (EVPN Route Type 1) and
198           the Inclusive Multicast Ethernet Tag Routes (EVPN Route Type 3) MAY
199           be of a mix of compressed and uncompressed End.DT2M behaviors.  This
200           works as long as the checks for argument length consistency between
201           the EVPN Route Type 1 and 3, as described in the following sub-
202           sections, are satisfied.

GV>

"
The signaling and processing descriptions outlined in the following sections also apply to End.DT2M behavior flavors designed for SRv6 SID list compression [I-D.ietf-spring-srv6-srh-compression]. In deployments where a mix of compressed and uncompressed SIDs is present, the behaviors advertised in the Ethernet Auto-Discovery (A-D) per ES Routes (EVPN Route Type 1) and Inclusive Multicast Ethernet Tag Routes (EVPN Route Type 3) MAY consist of a combination of compressed and uncompressed End.DT2M behaviors. This approach remains valid provided that the argument length consistency checks between EVPN Route Type 1 and Route Type 3, as described in the following subsections, are satisfied.
"

204        3.1.  Advertisement of Ethernet A-D per ES Route
205
206           Ethernet Auto-Discovery (A-D) per ES Routes (EVPN Route Type 1)
207           defined in [RFC7432] are used to achieve split-horizon filtering and
208           fast convergence, in case of multi-homing.  A-D per ES routes are
209           also used to enable egress filtering of BUM traffic originated from a
210           Leaf, as specified in [RFC8317].

GV>

"
Ethernet Auto-Discovery (A-D) per ES Routes (EVPN Route Type 1), as defined in [RFC7432], are utilized to enable split-horizon filtering and fast convergence in multi-homing scenarios. Additionally, A-D per ES Routes facilitate egress filtering of BUM traffic originating from a Leaf, as specified in [RFC8317].
"

212           When ESI Filtering is not in use, there is no ESI Filtering ARG to be
213           conveyed.  However, the advertisement of this route SHOULD include
214           the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV carrying an
215           SRv6 Service SID with the value ::0 in the SRv6 SID Information sub-
216           TLV with the SRv6 Endpoint Behavior set to End.DT2M for backward
217           compatibility and consistency with [RFC9252].  Since the End.DT2M
218           behavior supports the use of ARG, an SRv6 SID Structure sub-sub-TLV
219           MUST be included, and as no ARG value needs to be signaled, the AL
220           MUST be set to 0.

GV>

"
When ESI Filtering is not in use, no ESI Filtering ARG is required to be conveyed. However, for backward compatibility and consistency with [RFC9252], the advertisement of this route SHOULD include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV carrying an SRv6 Service SID set to ::0 in the SRv6 SID Information sub-TLV, with the SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M behavior supports the use of an ARG, an SRv6 SID Structure sub-sub-TLV MUST be included. As no ARG value is required to be signaled in this case, the Argument Length (AL) MUST be set to 0.
"

235           When ESI Filtering is in use, the advertisement of this route MUST
236           include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV
237           carrying the SRv6 Service SID containing the ESI Filtering ARG value
238           in the SRv6 SID Information sub-TLV (when not using the Transposition
239           Scheme) with the SRv6 Endpoint Behavior set to End.DT2M.  Since the
240           End.DT2M behavior supports the use of ARG, an SRv6 SID Structure sub-
241           sub-TLV MUST be included.  Also, as there is a non-zero ARG value
242           being signaled, the AL MUST be set to the size of the ARG and the
243           size SHOULD be a multiple of 8.  The SRv6 SID Structure sub-sub-TLV
244           has the LBL, LNL, and FL set with values that indicate the offset at
245           which the ARG value is encoded in the 128-bit SID.

GV>

"
When ESI Filtering is in use, the advertisement of this route MUST include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV, carrying the SRv6 Service SID that contains the ESI Filtering ARG value within the SRv6 SID Information sub-TLV (when not using the Transposition Scheme), with the SRv6 Endpoint Behavior set to End.DT2M.

Since the End.DT2M behavior supports the use of an ARG, an SRv6 SID Structure sub-sub-TLV MUST be included. Additionally, as a non-zero ARG value is being signaled, the Argument Length (AL) MUST be set to the size of the ARG, and the size SHOULD be a multiple of 8.

The SRv6 SID Structure sub-sub-TLV MUST set the Locator Block Length (LBL), Locator Node Length (LNL), and Function Length (FL) fields with values that indicate the offset at which the ARG value is encoded within the 128-bit SRv6 SID.
"

247           Following is an example representation of the BGP Prefix-SID
248           Attribute encoding in this case for a 16-bit argument value 'aaaa':

GV>

"
The following is an example representation of the BGP Prefix-SID Attribute encoding in this scenario for a 16-bit argument value of 'aaaa':
"

260           In the above examples, it would have been possible to set the LBL,
261           LNL, and FL values to 0 and to set the SID value as either ::0 or
262           aaaa::. However, such an encoding would not be backwards compatible
263           with [RFC9252] as described further in Section 4 and hence it is
264           REQUIRED that the LBL, LNL, and FL values be set as indicated via the
265           SID Structure for the End.DT2M SRv6 Service SIDs.

GV>

"
In the examples above, it would have been possible to set the LBL, LNL, and FL values to 0 and to encode the SRv6 SID as either ::0 or aaaa::. However, such an encoding would not be backward compatible with [RFC9252], as further detailed in Section 4.

Therefore, it is REQUIRED that the LBL, LNL, and FL values be set in accordance with the SID Structure for End.DT2M SRv6 Service SIDs, ensuring compliance with the existing specifications.
"

267        3.2.  Advertisement of Inclusive Multicast Ethernet Tag Route
268
269           Inclusive Multicast Ethernet Tag Route (EVPN Route Type 3) defined in
270           [RFC7432] is used to advertise multicast traffic reachability
271           information through MP-BGP to all other PEs in a given EVPN instance.
272           When using the SRv6 transport, the advertisement of this route MUST
273           include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV to
274           indicate the use of SRv6.

GV>

"
The Inclusive Multicast Ethernet Tag Route (EVPN Route Type 3), as defined in [RFC7432], is used to advertise multicast traffic reachability information via MP-BGP to all other PE routers within a given EVPN instance. When utilizing SRv6 transport, the advertisement of this route MUST include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV to indicate the use of SRv6.
"

276           Irrespective of whether ESI Filtering is in use, an SRv6 Service SID
277           with the LOC:FUNC part alone is carried in the SRv6 SID Information
278           sub-TLV (when not using the Transposition Scheme) with the SRv6
279           Endpoint Behavior set to End.DT2M.  Since the End.DT2M behavior
280           supports the use of ARG, an SRv6 SID Structure sub-sub-TLV MUST be
281           included.  The LBL, LNL, and FL MUST be set to indicate the structure
282           of the Service SID being signaled.

GV>

"
Regardless of whether ESI Filtering is in use, the SRv6 Service SID MUST include only the LOC:FUNC portion within the SRv6 SID Information sub-TLV (when not utilizing the Transposition Scheme), with the SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M behavior supports the use of an ARG, an SRv6 SID Structure sub-sub-TLV MUST be included. The LBL, LNL, and FL fields MUST be set to indicate the structure of the SRv6 Service SID being advertised.
"

284           When ESI Filtering is not in use, no ARG is expected to be received
285           by the router along with the signaled Service SID and hence the AL
286           MUST be set to 0.

GV>

"
When ESI Filtering is not in use, no ARG is expected to be received by the router along with the advertised SRv6 Service SID. Therefore, the AL MUST be set to 0.
"

301           When ESI Filtering is in use, an ARG is expected to be received by
302           the router along with the signaled Service SID and hence the AL MUST
303           be set to the size of the ARG supported by the advertising router for
304           the specific Service SID.  The AL is unique per End.DT2M behavior
305           signaled by the egress PE and, therefore, the egress PE MUST use the
306           same AL for all the local Ethernet Segments with Attachment Circuits
307           in the same Broadcast Domain.

GV>

"
When ESI Filtering is in use, the router MUST receive an ARG along with the signaled SRv6 Service SID. Consequently, the AL MUST be set to the size of the ARG supported by the advertising router for the specific SRv6 Service SID.

The AL value is unique per End.DT2M behavior signaled by the egress PE. Therefore, the egress PE MUST use the same AL for all local Ethernet Segments with Attachment Circuits within the same Broadcast Domain.
"

309           Following is an example representation of the BGP Prefix-SID
310           Attribute encoding in this case for a 16-bit argument:

GV>

"
The following is an example representation of the BGP Prefix-SID Attribute encoding for this scenario with a 16-bit argument:
"

322           When ESI Filtering is in use, the advertising router MUST ensure that
323           the size of argument (i.e., AL) signaled in the Route Type 3 and its
324           corresponding Route Type 1 are equal.

GV>

"
When ESI Filtering is in use, the advertising router MUST ensure that the AL signaled in the EVPN Route Type 3 is equal to the AL signaled in the corresponding EVPN Route Type 1.
"

328           An ingress PE receives the LOC:FUNC parts of the SRv6 Service SID to
329           be used for Broadcast, Unknown Unicast, or Multicast (BUM) traffic
330           along with the EVPN Route Type 3 advertisements.

GV>

"
An ingress PE receives the LOC:FUNC portion of the SRv6 Service SID to be used for Broadcast, Unknown Unicast, or Multicast (BUM) traffic through EVPN Route Type 3 advertisements.
"

332           In the case where ESI Filtering is not used, the SRv6 Service SID to
333           be used is all what is received via the EVPN Route Type 3 (i.e.,
334           LOC:FUNC parts alone).

GV>

"
When ESI Filtering is not in use, the SRv6 Service SID to be used consists solely of the LOC:FUNC portion received via EVPN Route Type 3.
"

336           When ESI filtering is used, the ESI Filtering ARG of the SRv6 Service
337           SID is signaled along with EVPN Route Type 1 (Ethernet A-D per ES
338           Route).  This ARG along with the LOC:FUNC parts advertised via the
339           EVPN Route Type 3 forms the SRv6 Service SID to be used.

GV>

"
When ESI Filtering is in use, the ESI Filtering ARG of the SRv6 Service SID is signaled through EVPN Route Type 1 (Ethernet Auto-Discovery per Ethernet Segment Route). The ARG, in combination with the LOC:FUNC portion received via EVPN Route Type 3, forms the SRv6 Service SID to be used.
"

341           Since the LOC:FUNC and the ARG portions of the SRv6 Service SID are
342           signaled via different route advertisements, there can be conditions
343           where the ingress PE gets inconsistent ALs from the two route types.
344           If the ingress PE expected ESI filtering to be in use (i.e., when
345           forwarding BUM traffic to other PEs attached to a shared Ethernet
346           Segment) but does not find a usable ARG value during the above
347           processing, it SHOULD log a message to help with troubleshooting.

GV

"
Since the LOC:FUNC and ARG portions of the SRv6 Service SID are signaled via different route advertisements, there may be cases where the ingress PE receives inconsistent AL values from the two route types. If the ingress PE expects ESI Filtering to be in use (i.e., when forwarding BUM traffic to other PEs attached to a shared Ethernet Segment) but does not receive a usable ARG value during processing, it SHOULD log a message to facilitate troubleshooting.
"

349           Following are the processing steps to be used at the ingress PE:
350
351           1.  When AL=0 is signaled via Route Type 3, then the egress PE does
352               not support or does not require ESI Filtering ARG for the
353               specific SID.  The SRv6 Service SID is formed with the LOC:FUNC
354               parts alone and all bits after LBL+LNL+FL MUST be set to zero for
355               encoding on the data path.  In this case, the router MUST ignore
356               the SID value and its SID structure advertised in the
357               corresponding Route Type 1.

GV>

"
The ingress Provider Edge (PE) router MUST follow the processing steps outlined below when handling SRv6 Service SID advertisements:

1. If AL = 0 is signaled via EVPN Route Type 3:

* The egress PE does not support or does not require an ESI Filtering ARG for the specific SRv6 Service SID.
* The SRv6 Service SID is formed using only the LOC:FUNC portion, and all bits beyond LBL + LNL + FL MUST be set to zero for encoding in the data plane.
* In this case, the router MUST ignore the SRv6 SID value and SID structure advertised in the corresponding EVPN Route Type 1.
"

359           2.  When a non-zero AL is signaled via Route Type 3, then the
360               matching Route Type 1 for the Ethernet Segment is found and
361               checked for the presence of an SRv6 SID advertisement with the
362               End.DT2M behavior.

GV>

"
2. If a non-zero AL is signaled via EVPN Route Type 3:

* The ingress PE MUST locate the matching EVPN Route Type 1 advertisement for the Ethernet Segment and verify the presence of an SRv6 SID advertisement with the End.DT2M behavior.

"

364               a.  If the AL=0 in the Route Type 1, then there is no usable ARG
365                   value.  In such cases, the SRv6 Service SID to be used is
366                   formed as in (1) above.

GV>

"
a. If AL = 0 in EVPN Route Type 1:

* No usable ARG value is available.
* The SRv6 Service SID MUST be formed as described in step (1) above.
"

368               b.  If the AL values in Route Type 1 and 3 are both non-zero and
369                   not equal, then there is no usable ARG value.  It also
370                   indicates an inconsistency in signaling from the egress PE.
371                   To avoid looping, the BUM traffic MUST NOT be forwarded for
372                   such routes from the specific Ethernet Segment and
373                   implementations SHOULD log an error message.

GV>

"
b. If the AL values in EVPN Route Type 1 and EVPN Route Type 3 are both non-zero but not equal:

* No usable ARG value is available.
* This inconsistency in signaling from the egress PE indicates a configuration error.
* To prevent potential looping, BUM traffic MUST NOT be forwarded for such routes from the specific Ethernet Segment.
* Implementations SHOULD log an error message for troubleshooting.
"

375               c.  The ARG value from Route Type 1 is usable only when its AL is
376                   equal to the AL of the SID structure advertised via Route
377                   Type 3.  Once the usable ARG value is obtained, it MUST be
378                   encoded within the rest of the SRv6 SID (LOC:FUNC parts) at
379                   the offset of the ARG as indicated by the SID structure
380                   (i.e., LBL+LNL+FL) in Route Type 3 and the bits after
381                   LBL+LNL+FL+AL set to zero.

GV>

"
c. If the AL values in EVPN Route Type 1 and EVPN Route Type 3 are both non-zero and equal:

* The ARG value from EVPN Route Type 1 is considered valid.
* The ARG value MUST be encoded within the SRv6 SID (LOC:FUNC) at the ARG offset as specified in the SID structure (i.e., LBL + LNL + FL) in EVPN Route Type 3.
* All bits beyond LBL + LNL + FL + AL MUST be set to zero.
"

461        4.  Backward Compatibility
462
463           Existing implementations based on the bitwise logical-OR operation
464           specified in section 6.3 of [RFC9252] work only if the SID structures
465           of the two route types are identical.  Backward compatibility with
466           implementations doing the bitwise logical-OR operation is preserved
467           due to the advertisement of SIDs in Route Type 3 and its
468           corresponding Route Type 1 with the same SID structure as described
469           in Section 3.1 and Section 3.2 when the SID structures of the two
470           route types are identical.  As an extension, the bitwise logical-OR
471           operation specified in [RFC9252] cannot be used when the SID
472           structures of the two route types are not identical.

GV>

"
Existing implementations that rely on the bitwise logical-OR operation, as specified in Section 6.3 of [RFC9252], function correctly only when the SID structures of the two EVPN Route Types are identical.

Backward compatibility with implementations performing the bitwise logical-OR operation is maintained when EVPN Route Type 3 and its corresponding EVPN Route Type 1 advertise SIDs with the same SID structure, as outlined in Section 3.1 and Section 3.2.

However, when the SID structures of the two route types are not identical, the bitwise logical-OR operation specified in [RFC9252] cannot be applied. Instead, an alternative method MUST be used to correctly derive the SRv6 Service SID in such cases.
"

Kind Regards,
Gunter Van de Velde
Routing Area Director