[pim] [Shepherding AD review] Pre IETF Last-Call review of draft-ietf-pim-pfm-forwarding-enhancements-03

"Gunter van de Velde (Nokia)" <gunter.van_de_velde@nokia.com> Thu, 09 April 2026 13:28 UTC

Return-Path: <gunter.van_de_velde@nokia.com>
X-Original-To: pim@mail2.ietf.org
Delivered-To: pim@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id D4216D8B5B92; Thu, 9 Apr 2026 06:28:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775741307; bh=EHUt8vydsRvWzbGWyK5V/oujkY7Gu+FPM1VewYN8TRg=; h=From:To:CC:Subject:Date; b=MR+O2QMi1K5b5TIaeq6aB0Zbx2a0YwJrMIqqvLj1spn0KQL3B3ylIMFPHJ8fdShj5 eyzIaac2N8TDztD97IkWni1eB33JICjZoLwjAAw4K79ENEmjyRDDJf/ztY1Yn+z42M j7dkCOxEKlexyp3Z1da8UDyQEeHpclga6bHFbk7o=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=nokia.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QwKEXToCSU4W; Thu, 9 Apr 2026 06:28:25 -0700 (PDT)
Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013024.outbound.protection.outlook.com [52.101.72.24]) (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 mail2.ietf.org (Postfix) with ESMTPS id 6EA9CD8B5B8B; Thu, 9 Apr 2026 06:28:21 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SQal/xWr0GLzpXfvntkg5W4Mzc5hWp+qovx6nVVM5l8rjX2MLfn/5KU1fbX/XnfQxgoAYO3hf39nhDAzHVHvdhBJg8vmWlr3ro3rCRjRUkFwFp6D2U0f1bxzhwfjS29HSdpU/8lONYYHGUUpseEr9zx0JafTFaX4gSohOAtNcGo8+3LrtlYctGWdnKcOv2ak8Bncc1fN9/KfT/ki188dA9rSgPYGlJOfDnHM2I2zmo3pA4igP+u0Xn3eZX9xbWqy5NUdWQvwE4By5jLd7gDFCO09rSjMpZQF3HaxFzdiRFH6W5C8NtIF0EthmnRSAQ4E87aQlb8pifnKbokrIpy0tg==
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=EHUt8vydsRvWzbGWyK5V/oujkY7Gu+FPM1VewYN8TRg=; b=HEYAqotjBui2vRw9N1Nc6ZvsEU6TLGVlxnsam5eRT6ClphgrwVMdUuQmaa0Ee5H205DbudIu+JWu6wBdQelvt5wcd3+yvpMPDQS08qAhKRUcHDH5xNwFmX5/amUE0kIGJrcJtrB9CrbOqrA5putHj6i1CO58KOKgfeNsWl3uAVlzfqGfM9ZqgywR9nsRFrtZLKFNW4psVc0zDhk3K3yTWQnimmIAka+2Yweek/ul/PbbUuZz2ga/SKSVy8sSpSUX2VYRwLXt03ujrjtTD20z8OH6WIP0SdFNIpCVUaPDZNd6kLCVmppicdv2QgQIa+iI56FTHKn1YVFe8VSFDoyzPA==
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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EHUt8vydsRvWzbGWyK5V/oujkY7Gu+FPM1VewYN8TRg=; b=AcxnoZcC95QUOQtutglqX6Q8aLwo4jguCMopY9a1OB1gkvLKj5AU4YSu2A/YmoFE+B+hHEJpEeoTfaV+i2b90iN2V3RpVxODUp9P1ed81elt1rPm9ubWt1C7jCOcGCFCWOjLJ83N6DLZohUG0GdK6WodKYZYi6mDv6r4gObzdlhyjWHkksTTUaHvkK7VMyvXmmiPETA6nqROzKLbLAoy3Oh1y+LxTcSOiJiNS7ISGFfzzjJ/vtj73K8U0nafPncZQoTEQy+40NP4k7GshrVwK/tZ8REHX3N8d/qRh9gqhBEvmTwrJ6ASKQR9LX6VuDik1Q2RSyHaHizA6/ruCRa1Pw==
Received: from AS1PR07MB8589.eurprd07.prod.outlook.com (2603:10a6:20b:470::16) by VI0PR07MB10753.eurprd07.prod.outlook.com (2603:10a6:800:2b4::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Thu, 9 Apr 2026 13:28:13 +0000
Received: from AS1PR07MB8589.eurprd07.prod.outlook.com ([fe80::97cf:fb0c:32ff:86c6]) by AS1PR07MB8589.eurprd07.prod.outlook.com ([fe80::97cf:fb0c:32ff:86c6%6]) with mapi id 15.20.9769.018; Thu, 9 Apr 2026 13:28:13 +0000
From: "Gunter van de Velde (Nokia)" <gunter.van_de_velde@nokia.com>
To: "draft-ietf-pim-pfm-forwarding-enhancements@ietf.org" <draft-ietf-pim-pfm-forwarding-enhancements@ietf.org>
Thread-Topic: [Shepherding AD review] Pre IETF Last-Call review of draft-ietf-pim-pfm-forwarding-enhancements-03
Thread-Index: AQHcyCQYCHP0026C6E+Pt6+Z6+r8Mw==
Message-ID: <AS1PR07MB8589C6B3C09CED3A871883C1E0582@AS1PR07MB8589.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
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_|VI0PR07MB10753:EE_
x-ms-office365-filtering-correlation-id: fbebdd7a-3fc5-4089-2076-08de963bd98b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021|18002099003|56012099003|8096899003;
x-microsoft-antispam-message-info: of2Ey7GslkVmGn0kn7dWF8EDX4ufO+r+8h4FwqeSgg8T+0qhATcOE6qhqFZh9IESULDf4L8JTxYzWb8WMgOTOC+1ESARl1hNsr6QYZzvW2rdwguWbUzFzn+gw+DFiofxLlGTk4XB7O87DWoQn3zhAsJnp8DJYO/ErGI1qpPFWimvM5UDDfHj24u5QFqFKN8xMlPnryVDMEFseQSukBk7p9EpCFK+9XxP/BZCwSJYXbPmG3cTlRFG1yGsUwJkLXMoNqJUHYyS5S4ioclCRyHV+stJchUdUAt1RpycIZfdL41IIa/l8Oh4zxisspu6Nc1q4Y+5v3aChVBSVrMYVvxZ+sIw44NO2cwNjuJudnWGwlXVwbHtxv43mO6oUfjICTGOkU4D8MGhHgyKF4F6EicxeaBKPM4rh7Z1lP5MPusAY0picQD7VY9JQTuihFK0J8Q+SXMAEQGUSm5X64t9FYrEdZhGuqh9yLn66RoJpyaqlbhsK3Nr0kDj12ae+eJxp0+9jlr64K6GO11Yz8frukmsxGoDj1czAsKoH7lT1QqwMv/ZyT+iQb43dAVThb+mZ0oYR8eIBZf5fMWRKqUWE8vXEJLqA6tmGy94IWR7fbhUzqKF1TBnWRPB+WITtQ5e6+h4WwWk818qtx6PhP7lJApgZOQu6U6p/PCVMc4k++G+sj1Mx5+8rXQXdYXG95g32cKYi6nyc+nWGKmHi44q5O6R2+0MsLnGvcUL+W4mcwhkyIeGoRPvfHxNESYYxgGUf8pq
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)(366016)(1800799024)(38070700021)(18002099003)(56012099003)(8096899003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: PrS1f3fC7yDjasK+fs92qWZy8DQ0RrRjp1kVuFhV4WBFedWVTsTIBNYmTkaQF8gsa4vAEZhVudPX9v+hPs2n76prm2XQsQs99HSWT/Tfkn7IdFIzctrKcMCxUQa50/2GpB+JyaotkfgXNh1XxCSu6ehRKT2HloSNB+4K4ZhMRVJmCn1ewRUvLlunstFX0JZd75J22TjhYPOVkKXQMS0vvfLdwe4+HzNq2iM7DPgM8Y1/XSQoFIX68Lduh0avqqrvGBx0m3KQGryJQphAagrHLot+EvAo4V1k4IvKuJXZMYTiQmDoDgPqeRG6ChRixWknf/9LCG+PVaw6sZhjostUMlLE+NWLuFx9w9dVEr9YCPeIN4N+iTxKjXhqgxuFgSlIGzltbx7H56B2C5+Lq1sXHeeZN9zKJpGeIg5RyLGGehG4urANh/2kD6TnN6pwxbkSW2t9+EDzR/1TRD7iyU1v7QTWQIXrGO3hJq33GXiS/bQJbaWTTVaAy0YBz9/p4x964suMg674EHYXibIks4mYVtE2+ZylHvi3PziNy/WuquH2Rwa27M83esf6LRdP9kBV03774avEY+StdNtJDLjqvJ6MY00IM+pkkMs7RXpum13PGDG4M2fjrWVZxtm9nDQPxIsvfP0g0RavmrV3cuw74CFnndCMcN7x7q3d+UszpobJyd69QPwdro9ZZJWeiiWjcKsUIzY1sBj9qCjFKD4N55wReoC1mEG9Q3Met3uKXA8XGETXA8rEaVPYhBIgSRIibKkmoPpF3AlsB0DBjtLRU/An9eKVmETeS3jpd6Suob6+6P9VncVFtDT2xTGtu9fd7lzoISBjDbMtPzYDC1fMBmwksnUxxtxCEswabNFL8YGUsJjjo7pu6SwjsWPbsFdi73eSNqH8A/Ds14LJVf+ZE9pzAPA5uqUkp9kjX2Pvq8kAv0nJde40RxjrY+Pt+4FEwyybtqMOtkcH0bvwDozZQIrTYDkKZyCiJT2bHth0pIQU740Knu6b4NTHa46pjVEZdf6SVdigdNk2uYg8KGbVJtr/kr2e25T37VczdOPEq/WhrncZYLGihUBFRYtjdTAmADzjoX5yCP8n0JvR5AKKeKyLH6tzXXcPljxDsQHiAcm5f/vypwlsD2yyivNt3QuHlA1ccrW/cHqFIxfxrAz65+QW01uqwxv5iiumg/VAhj+J7CPPrr8Mr+fuxcXoKjoy7ARa5qNgkzANEzn2WGXvbApYNCysW8ba2cc9DF0uWbRoKfBUfU8Bx4dTQRo1oUFtFAGO8bfasLUpO5Yd7dgzX7kJc3WvOmTvunJJX6bPata22KWWfVEQSLk911r6dkoD+YNrPnKw+5ck7dgHnfdX0zkYeBrT3MHesb6r2OGTwRR9M1pkWEKcFt05y8ydc8IBVVkcALNKJksFsMf08iTfLSuoYZmpY8VIqWk9ADnXtsDwfmfL0G0ZAmtmD/hta/D79m3vriZt679hGkLv04JlVI+QJjGxp4YQTYM0kGL2JJLIgSKT6K2O2thJU6b02nZpUYFCFp/kdzSaT+A179GxmO+SZvwk1JhWS5/tKXSZyPRre8EaLxzw4jUBiEAcC0esXfrojMwXVrek5OISfUj5q328JURv7h04+EgpRztRpSNIZPIJuXg00q5fde/1c+GzYlHIdbY9qF70d8ApMbppdZtwTXR/g8ghg3xZfpcKCsCHE8eUioUBHICjQkWcahwIIAIF4K6nTIPoDaeqNro6o2lJWiho2MoJATxpU08Bygk=
Content-Type: multipart/alternative; boundary="_000_AS1PR07MB8589C6B3C09CED3A871883C1E0582AS1PR07MB8589eurp_"
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: fbebdd7a-3fc5-4089-2076-08de963bd98b
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2026 13:28:12.9994 (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: jyVsIX9IcVc1d0C3Kv7JUNiM6pd9X5nQOjfsB4XH8w7vuciKV9k3x8M0RTEXT3SRgKXP3cogdHGwpTo79jO62qQR2GKmfOVq5yfhjb5ehLY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10753
X-MailFrom: gunter.van_de_velde@nokia.com
X-Mailman-Rule-Hits: max-size
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-pim.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header
Message-ID-Hash: GL3VFAX63KJU2MRGZZ73GMU2NGSHOGNO
X-Message-ID-Hash: GL3VFAX63KJU2MRGZZ73GMU2NGSHOGNO
X-Mailman-Approved-At: Fri, 10 Apr 2026 11:05:14 -0700
CC: pim <pim@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [pim] [Shepherding AD review] Pre IETF Last-Call review of draft-ietf-pim-pfm-forwarding-enhancements-03
List-Id: Protocol Independent Multicast <pim.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/WOrefG26CjbxUMKjh9iDcyDWRGw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Owner: <mailto:pim-owner@ietf.org>
List-Post: <mailto:pim@ietf.org>
List-Subscribe: <mailto:pim-join@ietf.org>
List-Unsubscribe: <mailto:pim-leave@ietf.org>
Date: Thu, 09 Apr 2026 13:28:28 -0000
X-Original-Date: Thu, 9 Apr 2026 13:28:12 +0000

Hi Authors, WG,

# Gunter Van de Velde, RTG AD, comments for draft-ietf-pim-pfm-forwarding-enhancements-03

# 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-pim-pfm-forwarding-enhancements-03.txt

# Many thanks for the shepherd writeup from Michael McBride and for confirming that the document is within PIM WG charter.

# To document Shepherd, can the motivation of making the intended document state 'experimental' be added to the shepherd write-up? Is it an experiment? If yes, can the experiment scope and context be explained?

# I believe that the document is close to ready to be progressed. In the following sections I have few questions and proposed a few revised text proposals to consider.

# COMMENTS
#=========

13       PIM Flooding Mechanism is a generic PIM message exchange mechanism
14       that allows multicast information to be exchanged between PIM routers

GV>s/mechanism/procedure/

11    Abstract
12
13       PIM Flooding Mechanism is a generic PIM message exchange mechanism
14       that allows multicast information to be exchanged between PIM routers
15       hop-by-hop.  One example is PIM Flooding Mechanism and Source
16       Discovery which allows last hop routers to learn about new sources
17       using PFM messages, without the need for initial data registers,
18       Rendezvous Points or shared trees.
19
20       This document defines a new TLV for announcing sources that allows
21       for Sub-TLVs that can be used to provide various types of
22       information.  This document also defines methodologies that enhance
23       forwarding efficiency in PFM deployments.

GV> What about the following alternatove abstract text:

"
The Protocol Independent Multicast (PIM) Flooding Mechanism (PFM) provides a generic hop-by-hop message exchange framework for distributing multicast information among PIM routers. Existing PFM procedures enable efficient source discovery without reliance on Rendezvous Points, shared trees, or initial data registers.

This document specifies enhancements to PFM forwarding behavior to improve efficiency and scalability. In particular, it introduces mechanisms to reduce redundant message transmission over multiple parallel links and extends the encoding of multicast information through additional Type-Length-Value (TLV) structures and sub-TLVs to convey richer flow-related data.

These enhancements optimize control-plane overhead while preserving interoperability with existing PFM procedures, enabling more efficient dissemination of multicast state in PIM networks.
"

80       to originate a PFM message to distribute announcements of active

GV> expand PFM at first usage. Note that RFC editor uses the following list https://www.rfc-editor.org/rpc/wiki/doku.php?id=abbrev_list to check if the abreviation needs to be expanded or not.

84       Section 3.1 [RFC8364] is used for RPF checking at each router.  This

GV> Please expand RPF at first usage

85       RPF check is defined in Section 3.4.1 [RFC8364].  Periodic PFM
86       messages are triggered, see Section 3.4.2 [RFC8364] and exchanged to

GV> There seems a contradiction in this text. First it says periodic, which means to em that periodically something happens, and that is repetitive, and then it says triggered, which means that something is done outside pof the periodical windows. I suspect the phrase will need some restructiring to convey its intent


89       Firstly, the TLV used by PFM [RFC8364] for source discovery only
90       specifies source and group information to announce an active source.
91       There is no convenient way to provide additional information about a
92       flow.
93
94       Secondly, a PIM router will flood a PFM message on all its PIM
95       enabled links.  It is the recipient's responsibility to perform RPF
96       checks on all received PFM messages and then decide whether to accept
97       or drop a particular message.  This means that if two routers have
98       PIM neighborships over more than one link, the same PFM messages are
99       exchanged or dropped over more than one link between the same two
100      routers.  This leads to extra processing at each PIM router,
101      periodically, or every time a new source is discovered (in case of a
102      PFM-SD implementation).  We can reduce the processing overhead for
103      the router-pair having PIM neighborships over multiple links.
104
105      This document discusses two new improvements in PFM message exchanges
106      between PIM routers.
107
108      1.  This document defines a new TLV for announcing sources that
109          allows for Sub-TLVs that can be used for providing various types
110          of information.  This enhancement is discussed in detail in
111          Section 2.
112
113      2.  By leveraging PIM Router-IDs [RFC6395], PIM routers can optimize
114          PFM message exchanges when they maintain multiple neighborships
115          with the same peer router.  This optimization is particularly
116          beneficial for router pairs connected via several links.  When
117          two routers are the sole neighbors on multiple Point-to-Point
118          links, they need not exchange identical PFM messages across all
119          these links.  Instead, PFM can achieve performance improvements
120          by utilizing Router Identifiers [RFC6395] (Router-IDs) announced
121          in PIM Hello messages to identify such scenarios and restrict
122          message exchanges to a subset of available links.  This
123          enhancement is detailed in Section 3.  Note that PFM message
124          behavior on shared LANs, where there are more than one neighbor
125          on the same link, remains unchanged.
126
127      These are independent enhancements and an implementation could
128      support one but not the other, however it is RECOMMENDED to implement
129      both.

"
The TLV defined in [RFC8364] for source discovery conveys only source and group information. It does not provide a mechanism to include additional attributes describing a multicast flow.

In addition, PFM messages are flooded on all PIM-enabled links. When two routers maintain multiple adjacencies, identical PFM messages are transmitted across each link. Receivers perform RPF checks and discard duplicates as needed. This behavior introduces unnecessary processing overhead, both periodically and upon source discovery.

This document defines two independent enhancements to PFM message exchange:

1) A new TLV that supports Sub-TLVs, enabling the inclusion of additional flow-related information. This enhancement is specified in Section 2.

2) An optimization for PFM message exchange across multiple adjacencies between the same pair of routers. By leveraging PIM Router-IDs [RFC6395], routers can identify such adjacencies and limit message transmission to a subset of links, reducing redundant processing. This optimization applies to point-to-point links and does not alter behavior on shared media. This enhancement is specified in Section 3.

Implementations MAY support these enhancements independently; however, support for both is RECOMMENDED.
"

151      PFM-SD [RFC8364] defines a Group Source Holdtime (GSH) TLV for
152      announcing active sources.  However, it could be beneficial for PIM
153      routers to exchange additional data about these sources.

GV>

"
PFM-SD [RFC8364] defines the Group Source Holdtime (GSH) TLV for announcing active sources. The GSH TLV conveys only source and group information. This document defines an extension that allows PIM routers to exchange additional information associated with multicast sources.
"

157      This document defines a new Group Source Info (GSI) TLV that is used
158      similarly to the GSH TLV except that it only provides info for a
159      single source, and includes additional information about the flow in
160      Sub-TLVs.  Note that the support for this TLV Type TBD1 is advertised
161      by PIM routers using the PIM Hello Option TBD2 and is discussed in
162      detail in Section 2.2

GV>

"
This document defines a new Group Source Info (GSI) TLV (Type TBD1). The GSI TLV is functionally similar to the GSH TLV but applies to a single (S,G) entry and supports the inclusion of Sub-TLVs to convey additional flow-specific information.

Support for the GSI TLV is advertised using a PIM Hello option (TBD2), as described in Section 2.2.
"

188      T:  If the Transitive bit is set to 0, a router MUST NOT forward the
189         message unless it supports this TLV and all the Sub-TLVs that are
190         present in the TLV in this message.  If the transitive bit is set
191         to 1, it is forwarded even if the router does not support the TLV
192         or all the Sub-TLVs present.
193
194      Type:  This TLV has type TBD1.
195
196      Length:  The length of the value in octets.
197
198      Group Address:  The multicast group for which the source is being
199         announced.  This address uses the Encoded-Group format specified
200         in [RFC7761].
201
202      Source Address:  The source address for the corresponding group.  The
203         format for this address is given in the Encoded-Unicast address in
204         [RFC7761].
205
206      Holdtime:  The Holdtime (in seconds).
207
208      Type Sub-TLV 1..n:  The TLV contains n Sub-TLVs, n MAY be 0.  The
209         total length of the TLV (the Length field) is used to derive how
210         many octets are used for Sub-TLVs.  It will be at least 4 * n
211         octets if n Sub-TLVs are present.  Type Sub-TLV indicates the type
212         of the Sub-TLV.  The allowed types are Sub-TLV types that are
213         specifically defined for use in the Group Source Info TLV.
214
215      Length Sub-TLV 1..n:  The length of the Sub-TLV Value field in
216         octets.
217
218      Value Sub-TLV 1..n:  The value of the Sub-TLV associated with the
219         type and of the specified length.

GV> please

"
The format of the GSI TLV is as follows:

T-bit (1 bit): Indicates transitivity. If set to 0, a router that does not support the TLV or any contained Sub-TLV MUST NOT forward the message. If set to 1, the message MAY be forwarded even if unsupported elements are present.
Type (15 bits): Set to TBD1.
Length (16 bits): The length, in octets, of the TLV value.
Group Address (32 bits): The multicast group address encoded as specified in [RFC7761].
Source Address (32 bits): The unicast source address encoded as specified in [RFC7761].
Holdtime (16 bits): The lifetime, in seconds, for the advertised (S,G) information.
Sub-TLVs: Zero or more Sub-TLVs MAY be included. Each Sub-TLV consists of:
Type (16 bits): Identifies the Sub-TLV. Only types defined for use within the GSI TLV are valid.
Length (16 bits): The length, in octets, of the Value field.
Value: The content associated with the Sub-TLV type.

The total length of the GSI TLV determines the number and size of included Sub-TLVs.
"

GV> note that the type for Group Source Info is 15 bits while the Type Sub-TLV is 16 bits

GV> I see source and group address to be 32 bits. Is this IPv4 only? if yes, better spell it out that this is situation or add context around IPv6

221   2.2.  Group Source Info TLV Hello option
222
223      A PIM router indicates that it supports the Group Source Info TLV
224      specified in this document by including the new Group Source Info TLV
225      Hello option in PIM hellos.
226
227          0                   1                   2                   3
228          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
229         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
230         |       OptionType = TBD2       |           Length = 0          |
231         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
232
233      OptionType = TBD2
234
235      OptionLength = 0

"
A PIM router indicates support for the GSI TLV defined in this document by including the Group Source Info TLV Hello option in PIM Hello messages.

The format of the Hello option is as follows:

             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |       OptionType = TBD2       |           Length = 0          |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

OptionType (16 bits): TBD2
OptionLength (16 bits): 0

The presence of this option signifies that the router supports the GSI TLV.
"

237   2.3.  Considerations for using the Group Source Info TLV
138
239      All PIM routers MUST track which neighbors announce this option.
240      This tracking is beneficial in heterogeneous networks where only
241      certain routers support the new TLV Type TBD1.  Additionally, it is
242      RECOMMENDED that only Type TBD1 be used if support is available.
243
244      Consider a router capable of exchanging PFM Type TBD1 TLVs.  It MUST
245      do the following:
246
247      *  It MUST advertise its capability by sending PIM Hello with
248         OptionType TBD2.
249
250      *  It MUST track whether all neighbors on each of its PIM interfaces
251         support this new TLV.  Scope of this tracking is left to the
252         implementation.  It MAY track this information even if the
253         capability on itself is removed.
254
255      *  If this router is a First Hop Router (FHR), while originating a
256         PFM message, it MUST originate a Type TBD1 TLV if all neighbors on
257         the PIM interface support Type TBD1.
258
259      *  If this router is an FHR, while originating a PFM message, it MUST
260         originate a Type 1 TLV [RFC8364] if at least one neighbor on the
261         PIM interface does not support Type TBD1.
262
263      *  On the receipt of a Type TBD1 TLV on a Type TBD1-capable
264         intermediate router, this router MUST forward the PFM message as
265         is on the PIM interfaces where all neighbors support this new
266         type.
267
268      *  If there are PIM interfaces where at least one router does not
269         support the new TLV, an intermediate router that supports Type
270         TBD1 MUST convert the Type TBD1 TLV to Type 1 TLV [RFC8364] and
271         forward it on only on those unsupported interfaces.  The
272         conversion mechanism is largely left to the implementation,
273         however, in a nutshell router MUST create and send TLV Type 1 with
274         the source group and holdtime from the Type TBD1 and ignore the
275         sub-TLV.  Also, if there are multiple sources for the same group,
276         then they SHOULD be put together in one TLV, and sent as Type 1.
277         However, it MUST still send Type TBD1 TLV on all interfaces where
278         the neighbors do support it.
279
280      *  A single PFM message MAY contain both Type 1 and Type TBD1 TLVs.
281         If so, when forwarding to neighbors that do not support Type TBD1,
282         the intermediate router MUST convert the PFM message to Type 1 TLV
283         if it has at least one TBD1 TLV, and all instances of TBD1 TLVs
284         MUST be converted to Type 1 TLVs.

GV>

"
2.3. Considerations for Using the Group Source Info TLV

All PIM routers MUST track which neighbors advertise support for the GSI TLV via the Hello option (Section 2.2). This tracking enables correct operation in heterogeneous deployments. If GSI TLV is supported, use of the GSI TLV (Type TBD1) is RECOMMENDED.

A router that supports the GSI TLV MUST:

* Advertise its capability by including the Hello option (OptionType TBD2) in PIM Hello messages.
* Track, per PIM interface, whether all neighbors support the GSI TLV. The scope and persistence of this state are implementation-specific. An implementation MAY retain this state even if local capability is disabled.
* If acting as a FHR, originate a Type TBD1 TLV when all neighbors on the outgoing interface support Type TBD1.
* If acting as an FHR, originate a Type 1 TLV [RFC8364] when any neighbor on the outgoing interface does not support Type TBD1.
* Upon receipt of a Type TBD1 TLV, MUST forward the PFM message unchanged on interfaces where all neighbors support Type TBD1.
* For interfaces with at least one neighbor that does not support Type TBD1, convert each Type TBD1 TLV to a Type 1 TLV [RFC8364] and forward only on those interfaces. The conversion MUST preserve the group, source, and holdtime fields, and MUST ignore Sub-TLVs. Multiple (S,G) entries for the same group SHOULD be aggregated into a single Type 1 TLV.
* A PFM message MAY contain both Type 1 and Type TBD1 TLVs. When forwarding to neighbors that do not support Type TBD1, all Type TBD1 TLVs MUST be converted to Type 1 TLVs.
"

288   3.1.  RFC 6395 Compliance
289
290      For the forwarding optimization in this document to be used, PIM
291      routers MUST announce a Router-ID as specified in [RFC6395].  A PIM
292      router announces the same 4-byte Router-ID in PIM hellos that it
293      sends to all neighbors on all links.  It also caches the Router-IDs
294      of its neighbors, when it receives Hellos from [RFC6395] Compliant
295      PIM neighbors.  This can be used to determine that different PIM
296      neighbors are really the same router.  In a PIM VRF context, if the
297      router has multiple interfaces with only one neighbor per interface,
298      the router SHOULD check if those neighbors announce an [RFC6395]
299      Router-ID.  Note that the assumption is that Router-IDs are unique
300      per router in a PIM domain, and each device is advertising its own
301      unique Router-ID in PIM hellos on each of its interfaces, otherwise
302      applying this optimization can cause PFM to break.

GV>

"
To apply the forwarding optimization defined in this document, PIM routers MUST advertise a Router-ID as specified in [RFC6395]. A router MUST use the same 4-octet Router-ID in PIM Hello messages on all interfaces and MUST cache Router-IDs learned from neighbors. This enables identification of multiple adjacencies to the same router.

Within a PIM VRF, when multiple interfaces each have a single neighbor, the router SHOULD verify whether those neighbors advertise the same Router-ID. Router-IDs are assumed to be unique within the PIM domain. If this assumption is violated, the optimization defined in this document MUST NOT be applied.
"


304   3.2.  PFM optimization Hello option
305
306      A PIM router indicates that it supports enhancement mechanisms
307      specified in this document by including the new PFM optimization
308      Hello option (Option TBD3).
309
310          0                   1                   2                   3
311          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
312         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
313         |       OptionType = TBD3       |           Length = 0          |
314         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
315
316      OptionType = TBD3
317
318      OptionLength = 0
319
320      All PIM routers supporting forwarding optimization MUST track whether
321      it is supported by all PIM neighbors on each PIM interface.  This
322      tracking is beneficial in heterogeneous networks where only certain
323      routers support the optimization.
324
325      Additionally, for each unique Router-ID received by a PIM router in a
326      PIM domain, the router MUST maintain a set of interfaces where the
327      following two conditions are met: 1.  The neighbor with this Router-
328      ID is the only PIM neighbor on this interface and, 2. the neighbor is
329      advertising the PFM optimization option TBD3 on this interface.  This
330      set is referred to as the PFM_OPT_IF set for each Router-ID.  PFM
331      message exchange is optimized on the interfaces belonging to
332      PFM_OPT_IF for each Router-ID and is discussed in Section 3.4.


GV>

"
3.2. PFM Optimization Hello Option

A PIM router indicates support for the forwarding optimization by including the PFM Optimization Hello option (OptionType TBD3) in PIM Hello messages.

             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |       OptionType = TBD3       |           Length = 0          |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

OptionType (16 bits): TBD3
OptionLength (16 bits): 0

A router that supports this optimization MUST track, per interface, whether all neighbors support the option.

For each learned Router-ID, the router MUST maintain a set of interfaces, denoted PFM_OPT_IF, that satisfy both of the following conditions:

* The neighbor with this Router-ID is the sole PIM neighbor on the interface.
* The neighbor advertises the PFM Optimization option (TBD3) on that interface.

PFM message exchange MAY be optimized on interfaces in the PFM_OPT_IF set.
"

354   3.4.  PFM message handling with Relaxed-RPF enabled
355
356      Consider a topology where two PIM routers maintain multiple PIM
357      neighborships over several links within the same PIM domain, and are
358      the only two routers on these links, either a P2P link, or 2 PIM
359      neighbors on a LAN.  On P2P links, each router sees only one
360      neighbor, but on shared LANs, routers may see multiple neighbors.  An
361      example of such a topology is illustrated in Figure 1.  Between
362      Router A and Router B, there are multiple links - 3 P2P links and 2
363      shared LANs.  Traditionally, each of the routers in Figure 1 will
364      send out PFM messages out over all the links to its neighbor.  RPF
365      checks are one of the commonly used ways to prevent loops, hence the
366      recipient router performs an RPF check and accepts only on one link,
367      thereby dropping packets from all the others.  Since the sender does
368      not know which link will be chosen as the RPF-source on the neighbor,
369      it cannot choose one of the links, without knowing its neighbor's
370      decision.  But this can be optimized as follows.
371
372      Assume both routers A and B are advertising their respective Router-
373      IDs on all links.  When the optimizations specified in
374      Section Section 3.2 are in effect, On both routers A and B,
375      PFM_OPT_IF = {L1, L2, L3}.
356
377      If the Relaxed-RPF optimization is advertised by both routers, the
378      sender MUST choose one link from their PFM_OPT_IF set and send and
379      forward PFM messages to its neighbor using only that link.  On shared
380      LANs, the sender MUST send PFM messages as normal since optimization
381      cannot be applied when there are more than two routers on the network
382      segment.  In other words, the scope of optimization is limited to
383      links present in the PFM_OPT_IF set for each Router-ID.
384
385      For example, referring to Figure 1, if Router A is forwarding or
386      originating a PFM message, it MUST send the message on one link out
387      of Links L1, L2, or L3.  Router A also MUST send the message on both
388      LAN 1 and LAN 2 to ensure Routers C and D receive the message.  This
389      selective behavior reduces PFM message processing overhead on the
390      Point-to-Point links.  The mechanism to choose a link from the
391      PFM_OPT_IF set is left to the implementation.
392
393      When a router that supports the Relaxed-RPF optimization receives a
394      PFM message, it MUST first determine the expected RPF interface for
395      the message using standard RPF calculations.  If the message was
396      received on a link belonging to the PFM_OPT_IF set AND both the
397      sender and receiver support Relaxed-RPF optimization, the receiver
398      MUST accept the message regardless of the RPF check result.  In all
399      other cases, the receiver MUST perform normal RPF validation and only
400      accept the message if it arrives on the correct RPF interface.
401
402      The optimization mechanism relies heavily on a router's insight into
403      whether all neighbors on each PIM interface support the TLV Type TBD3
404      and/or Relaxed-RPF optimization.  All checks can be done at the time
405      when a PFM message is forwarded, but it is possible to perform most
406      checks when there are neighbor changes, so that the processing at
407      forwarding time can be minimized.  The following scenarios MUST be
408      handled:
409
410      Adding a new neighbor on any link:  If the neighbor being added is
411         the first neighbor on this link, the router MUST check whether
412         this neighbor supports the optimization and announces a Router-ID.
413         If both conditions hold TRUE, this router MUST check whether
414         PFM_OPT_IF exists for this Router-ID.  This means that the newly
415         added neighbor is also the sole neighbor on at least one other
416         link.  Therefore, forwarding optimization MUST be enabled on this
417         link by adding it to the existing PFM_OPT_IF set for that Router-
418         ID.  If PFM_OPT_IF does not exist for this Router-ID, it MUST be
419         created, and this link MUST be added to the set.  If the neighbor
420         being added is the second neighbor on this link, and forwarding
421         optimization was previously enabled for the first neighbor, it
422         MUST now be disabled for that Router-ID on this link.  Hence this
423         link MUST be removed from the PFM_OPT_IF set for the first
424         neighbor's Router-ID.
425
426      Neighbor removal on a link:  When a PIM neighbor is removed on a
427         link, and there is exactly one remaining neighbor, it MUST be
428         checked whether the remaining neighbor supports the forwarding
429         optimization and is advertising a Router-ID.  If all three
430         conditions hold TRUE ((i) sole remaining neighbor that (ii)
431         supports forwarding optimization, and (iii) is advertising a
432         Router-ID), this router must check whether PFM_OPT_IF exists for
433         this Router-ID.  If the PFM_OPT_IF set for this Router-ID does not
434         exist, it MUST be created; otherwise, the link MUST be added to
435         the existing set.
436
437      Neighbor starts/stops advertising Router-ID:  When a PIM neighbor
438         starts advertising a Router-ID on this link, it MUST be checked
439         whether this neighbor also supports the forwarding optimization
440         (TBD3) on this link and whether it is the sole neighbor on this
441         link.  If both conditions hold TRUE, this router MUST check
442         whether PFM_OPT_IF exists for this Router-ID.  If it does not
443         exist, create PFM_OPT_IF for this Router-ID and this link MUST be
444         added to the set.  If PFM_OPT_IF already exists, add this link to
445         the existing set.  When a PIM neighbor stops advertising a Router-
446         ID on this link and is still forwarding optimization capable while
447         being the sole neighbor on this link, this link MUST be removed
448         from the PFM_OPT_IF set for this Router-ID.  If the PFM_OPT_IF set
449         for this Router-ID becomes empty, it MUST be deleted.
450
451      Neighbor starts/stops advertising forwarding optimization:  When a
452         PIM neighbor starts advertising the forwarding optimization (TBD3)
453         on this link, it MUST be checked whether this neighbor is the sole
454         neighbor on this link and whether it is advertising its Router-ID
455         on this link.  If both conditions hold TRUE, this router MUST
456         check whether PFM_OPT_IF exists for this Router-ID.  If it does
457         not exist, create PFM_OPT_IF for this Router-ID and this link MUST
458         be added to the set.  If PFM_OPT_IF already exists, add this link
459         to the existing set.  When a PIM neighbor stops advertising the
460         forwarding optimization (TBD3) on this link, while it is still
461         advertising a non-zero Router-ID and is the sole neighbor on this
462         link, this link MUST be removed from the PFM_OPT_IF set for this
463         Router-ID.  If the PFM_OPT_IF set for this Router-ID becomes
464         empty, it MUST be deleted.
465
466         The scenarios described above apply during network and
467         configurations changes as well as software upgrades or downgrades,
468         that could lead to changes in neighbor capabilities.  These
469         changes will be reflected in Hello messages with the relevant
470         options.  It is essential to consistently maintain the PFM_OPT_IF
471         set for each non-zero Router-ID with any such changes.

GV>

"
3.4. PFM Message Handling with Relaxed-RPF

When two routers maintain multiple adjacencies and are the only neighbors on those links, PFM messages are typically transmitted on all links and filtered by RPF checks at the receiver. This results in redundant processing.

If both routers advertise Router-IDs and support the optimization, each router forms a PFM_OPT_IF set containing eligible interfaces.

When Relaxed-RPF is enabled:
* A sender MUST select a single interface from its PFM_OPT_IF set for PFM transmission to that neighbor. The selection method is implementation-specific.
* On shared media with more than two neighbors, the sender MUST transmit PFM messages on all interfaces.
* A receiver that supports Relaxed-RPF MUST:
** Determine the expected RPF interface using standard procedures.
** Accept a PFM message received on any interface in the PFM_OPT_IF set if both sender and receiver support the optimization.
** Otherwise, perform standard RPF validation.

Referring to Figure 1, when Router A originates or forwards a PFM message, it MUST transmit the message on exactly one of links L1, L2, or L3. Router A MUST also transmit the message on LAN 1 and LAN 2 to ensure delivery to Routers C and D.
This behavior reduces processing overhead on point-to-point links. The selection of the interface from the PFM_OPT_IF set is implementation-specific.

3.5. Maintenance of PFM_OPT_IF

Routers MUST update the PFM_OPT_IF set upon neighbor or capability changes:

* Neighbor Addition:
** If the new neighbor is the sole neighbor on the interface and advertises both a Router-ID and the optimization option, the interface MUST be added to the corresponding PFM_OPT_IF set. If no set exists, it MUST be created.
** If a second neighbor appears on the interface, the interface MUST be removed from the PFM_OPT_IF set.

* Neighbor Removal:
** If one neighbor remains and it advertises both a Router-ID and the optimization option, the interface MUST be added to the PFM_OPT_IF set.

* Router-ID Changes:
** If a neighbor starts advertising a Router-ID and satisfies all conditions, the interface MUST be added to the PFM_OPT_IF set.
** If a neighbor stops advertising a Router-ID, the interface MUST be removed. If the set becomes empty, it MUST be deleted.

* Optimization Capability Changes:
** If a neighbor starts advertising the optimization option and satisfies all conditions, the interface MUST be added to the PFM_OPT_IF set.
** If a neighbor stops advertising the option, the interface MUST be removed. If the set becomes empty, it MUST be deleted.

These procedures apply during topology changes, configuration updates, and software upgrades or downgrades. Routers MUST maintain accurate PFM_OPT_IF state for each Router-ID.
"

510      PIM Flooding Mechanism Group Source Info Message Types

512      Type         Name                  Reference
513      ------------------------------------------------------
514        0          Reserved              [This document]
515      1-32767      Unassigned

GV> Do you want to give the name "Reserved" to this message type? There may be a better more intuitive/descriptive name.


Kind Regards,
Gunter Van de Velde
Routing Area Director