Internet-Draft Abbreviated Title July 2022
Xu & Zhang Expires 12 January 2023 [Page]
Intended Status:
Standards Track
B. Xu
ZTE Corporation
Z. Zhang
ZTE Corporation

Flex-Algorithm TLV in PIM Join Attributes


This document defines a PIM join attribute to support building multicast distribution trees flowing Flex-Algorithm path.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 12 January 2023.

Table of Contents

1. Introduction

Protocol Independent Multicast (PIM) get the upstream neighbor and incoming interface to multicast source or Rendezvous Point (RP) from the unicast routing protocol. As described in section 3 in [RFC7761], PIM relies on an underlying topology-gathering protocol to populate the MRIB (Multicast Routing Information Base). Usually the MRIB is the best paths over the network based on the IGP metric. In some case, PIM should choose a special path such as low latency path or constraint-based path.

[I-D.ietf-lsr-flex-algo] specifies a set of extensions to IS-IS, OSPFv2, and OSPFv3 to be used to compute the best paths along the constrained topology.

In order to allow PIM build multicast distribution trees following Flex-Algorithm topology, a PIM extension is needed. This document defines a new join attributes to restrict the path of pim join.

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

2. Terminology

This document does not introduce more terminologies than [RFC7761], [RFC5384], [RFC5496] and [I-D.ietf-lsr-flex-algo].

3. Flex-Algorithm Attribute

[RFC5384] defines a pim Join Attributes are encoded as TLVs into the Encoded-Source Address field of a PIM Join message. This document specifies the Flex-Algorithm Attribute that allows the receiver to select the Flex-Algorithm path.

3.1. Flex-Algorithm Attribute Format

       0                   1                   2
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
      |F|E|  Type=TBD | Length = 1    |  Flex-Algo    |
Figure 1
F bit: The Transitive bit. Specifies whether the attribute is transitive or non-transitive. This bit RECOMMENDED set to 1 and the attribute will be transitived.
E bit: End-of-Attributes bit. Specifies whether this attribute is the last. Set to zero if there are more attributes. Set to 1 if this is the last attribute.
Type: TBD (To be assigned by IANA).
Length: 1-octet.
Flex-Algo: A 1-octet field Flex-Algorithm (see Section 4 of [I-D.ietf-lsr-flex-algo]) to special the topology.

3.2. Specification of the Flex-Algorithm Attribute

The PIM router on the receiving side specifies the Flex-Algorithm of the unicast route to the multicast source or RP according to the local policy. It lookup unicast route in Flex-Algorithm topology, and fills the specified Flex-Algorithm into the Flex-Algorithm attribute when sending the join message to upstream neighbor.

After receiving join message with Flex-Algorithm attribute, the upstream PIM router lookup unicast routes in the Flex-Algorithm topology and selects the incoming interface and upstream neighbor. And the continual join messages keep carrying the Flex-Algorithm Attribute.

When unicast routing is unreachable in the specific Flex-Algorithm topology, there are two processing modes: Try-to-Forward and Strictly-Topology. In Try-to-Forward mode, pim router continues to search the unicast route without topology constrained, and the sent join message will no longer carry Flex-Algorithm Attribute; In Strictly-Topology mode, it is handled according to route unreachable.

If the Flex-Algorithm attribute of the same source address(or RP address) and group address sent by multiple downstream PIM routers are different, the join message from the neighbor, which has the larger address, is selected.

Flex-Algorithm attribute and RPF vector attribute([RFC5496]) SHOULD NOT appear in the Encoded-Source Address when PIM build a join message, . And if PIM router receives a join message with both Flex-Algorithm attribute and RPF vector attribute in a Encoded-Source Address, the first attribute is RECOMMENDED to be used.

There should be no more than one Flex-Algorithm attribute in a Encoded-Source Address when PIM build a join message. If the PIM router receives a join message with multiple Flex-Algorithm attributes in a Encoded-Source Address, the first one is RECOMMENDED be used.

4. IANA Considerations


5. Security Considerations

This document does not introduce more security considerations than [RFC7761] and [I-D.ietf-lsr-flex-algo].

6. References

6.1. Normative References

Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and A. Gulko, "IGP Flexible Algorithm", Work in Progress, Internet-Draft, draft-ietf-lsr-flex-algo-20, , <>.
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <>.
Boers, A., Wijnands, I., and E. Rosen, "The Protocol Independent Multicast (PIM) Join Attribute Format", RFC 5384, DOI 10.17487/RFC5384, , <>.
Wijnands, IJ., Boers, A., and E. Rosen, "The Reverse Path Forwarding (RPF) Vector TLV", RFC 5496, DOI 10.17487/RFC5496, , <>.
Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, , <>.

Authors' Addresses

Benchong Xu
ZTE Corporation
Zheng Zhang
ZTE Corporation