PIM Light
Hooman Bidgoli, Ed.
Nokia
Ottawa
Canada
hooman.bidgoli@nokia.com
Stig
Cisco System, Inc.
San Jose
US
stig@cisco.com
Mankamana Mishra
Cisco System
Milpitas
USA
mankamis@cisco.com
Zhaohui Zhang
Juniper Networks
Boston
USA
zzhang@juniper.com
Mike
Futurewei Technologies Inc.
Santa Clara
USA
michael.mcbride@futurewei.com
30 August 2022
This document specifies a new Protocol Independent Multicast interface which does not need PIM Hello to accept PIM Join/Prunes or PIM Asserts.

Introduction
It might be desirable to create a PIM interface between routers where only PIM Join/Prunes packets are triggered over it without having a full PIM neighbor discovery. As an example, this type of PIM interface can be useful in some scenarios where the multicast state needs to be signaled over a network or medium which is not capable of or has no need for creating full PIM neighborship between its Peer Routers. These type of PIM interfaces are called PIM Light Interfaces (PLI).

Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Definitions
This draft uses definitions used in [RFC7761]

PIM Light Interface
RFC [RFC7761] section 4.3.1 describes the PIM neighbor discovery via Hello messages. It also describes that PIM Join/Prune are not accepted from a router unless a Hello message has been heard from that router.
In some scenarios it is desirable to communicate and build multicast states between two directly or non directly attach routers without establishing a PIM neighborship. There could be many reasons for this desired, but one example is the desired to signal multicast states upstream, between two or more PIM Domains via a network or medium that is not optimized for PIM or does not require PIM Neighbor establishment. An example is a BIER network connecting multiple PIM domains. In these BIER networks PIM Join/prune messages are tunneled via bier as per [draft-ietf-bier-pim-signaling].
A PIM Light Interface (PLI) ONLY accepts Join/Prune messages from an unknown PIM router and it accepts these messages it without receiving a PIM Hello message form the router. Lack of Hello Messages on a PLI means there is no mechanism to learn about the neighboring PIM routers on each interface and their capabilities or run some of the basic algorithms like DR Priority between the routers. As such the router doesn't create any General-Purpose state for neighboring PIM and it only accepts and installs each Join message from upstream routers in its multicast routing table.
Because of this, a PLI needs to be created in very especial cases and the application that is using these PLIs should ensure there is no multicast duplication of packets. As an example, multiple upstream routers sending the same multicast stream to a single downstream router.

PLI supported Messages
As per IANA [iana pim-parameters] pim currently supports 12 message types, PIM Light only supports message type 3 (Join/Prune). All other message types are not supported for PIM Light and should not be process if recived on a PLR interface.

PIM Sparse Mode
Lack of register message on PLR means that, the Source, DR, RP all need to be in a common PIM domain and can not be connected over PLR. PLR will only processes join/prune regardless of if the join/prune is <S,G> or <*,G>.

Lack of Hello Message considration
The following should be considered on a PLR domain since hello messages are not processed.

Join Attribute
Since PLI does not process the pim hello message, processing of the join attributes option in pim hello as per [RFC5384] is also not supported, leaving PLRs unaware if their neighbors have the capability of processing the join attribute. A PLR that does not understand the type 1 Encoded-source Address, should not process a join message that contains it. Otherwise the PLR can process the Join Attribute accordingly.

DR Selection
Since DR selection is not supported on the PLR because of lack of hello messages, the network design should ensure that DR selection is achieve on the PIM domain, assuming the PLR domain is connecting PIM domains.
As an example, in a BIER domain which is connecting 2 PIM networks, a PLI can be used between the BIER edge routers. The PLI will be only used for multicast states communication, by transmitting ONLY PIM Join/prunes over the BIER domain. In this case to ensure there is no multicast stream duplication the PIM routers attached on each side of the BIER domain might want to establish PIM Adjacency via [RFC7761] to ensure DR selection on the edge of the BIER router, while PLI is used in the BIER domain, between BIER edge routers. When the Join or Prune message arrives from a PIM domain to the down stream BIER edge router, it can be send over the BIER tunnel to the upstream BIER edge router only via the selected designated router.

PLI Configuration
Since a PLI doesn't require PIM Hello Messages and PIM neighbor adjacency is not checked for join/prune messages, there needs to be a mechanism to enable PLI on interfaces for security purpose, while on some other interfaces this may be enabled automatically. An example of the latter is the logical interface for a BIER sub-domain [draft-ietf-bier-pim-signaling].
If a system explicitly needs a PLI to be configured, then this system should not accepts the Join/Prune messages on interfaces that the PLI is not configured on, and it should drop these messages on a non PLI interface. If the system automatically enables PLI on some special interfaces, as an example interfaces facing a BIER domain, then it should accept Join/Prune messages on these interfaces only.

Failures in PLR domain
Because the hello messages are not processed on the PLI, some failures may not be discovered in PLI domain and multicast routes will not be pruned toward the source on the PIM domain, leaving the upstream routers continuously sending multicast streams.
Other protocols can be used to detect these failures in the PLR domain and they can be implementation specific. As an example, the interface that PLR is configured on can be protected via BFD or similar technology. If BFD to the far-end PLR goes down, and the PLR is upstream and is an OIF for a multicast route <S,G>, PIM should remove that PLR from its OIF list. In addition if upstream PLR is configured automatically, as an example in BIER case, when the downstream BFR is no longer reachable, the upstream PLR can prune the <S,G> advertised by that BFR, toward the source to stop the transmission of the multicast stream.

IANA Considerations

Security Considerations

Acknowledgments

Normative References
[RFC2119]

S. Brandner, "Key words for use in RFCs to Indicate Requirement Levels"
March 1997
[RFC8174]

B. Leiba, "ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"
May 2017
[RFC7761]

B.Fenner, M.Handley, H. Holbrook, I. Kouvelas, R. Parekh, Z.Zhang "PIM Sparse Mode"
March 2016
[RFC5384]

A. Boers, I. Wijnands, E. Rosen "PIM Join Attribute Format"
March 2016
[draft-ietf-bier-pim-signaling]

H.Bidgoli, F.XU, J. Kotalwar, I. Wijnands, M.Mishra, Z. Zhang, "PIM Signaling Through BIER Core"
July 2021
[iana pim-parameters]
2022-01

Informative References
[RFC8279]

Wijnands, IJ., Rosen, E., Dolganow, A., Przygienda, T. and S. Aldrin, "Multicast using Bit Index Explicit Replication"
October 2016