rfc-5496

The Reverse Path Forwarding (RPF) Vector TLV

IJ. Wijnands, A. Boers, E. Rosen
date2009-03 streamIETF areartg wgpim statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc5496 doi10.17487/RFC5496 errataview
This document describes a use of the Protocol Independent Multicast (PIM) Join Attribute as defined in RFC 5384, which enables PIM to build multicast trees through an MPLS-enabled network, even if that network's IGP does not have a route to the source of the tree. [STANDARDS-TRACK]

Extracted elements (19)

design-rationale §3.3.2

A router that discards a Vector Attribute MAY insert a new one, to handle topologies where a PIM Join must pass through a sequence of edge routers, each pair separated by a core without external routes. Vectors expire along with the corresponding (S,G) state in the absence of periodic refreshment.

multicast, routing

design-rationale §1

In networks with a BGP-free core, core routers do not maintain routes to external destinations. Without an extension, core routers cannot determine where to forward PIM Join messages for sources outside the network, preventing multicast distribution tree construction.

multicast, routing, mpls, bgp

design-rationale §3.3.3

The restriction on sending Vector Attributes to Assert-winner neighbors exists because the Assert winner may not know the path to the Vector. In the worst case, the Assert winner's route to the Vector exits on the same interface where the Assert was won, which would make the RPF interface point back to that interface and result in an empty outgoing interface list.

multicast, routing

interoperability-note §3.3.4

On a shared LAN, downstream routers MAY include different RPF Vectors in their PIM Joins, causing an upstream router to receive and use different RPF Vectors over time. Join suppression without Vector-matching would make upstream router behavior unpredictable; disabling Join suppression on that LAN is also an option.

multicast, routing

interoperability-note §3.2

There is no way to carry an RPF Vector TLV in a Bootstrap Router (BSR) bootstrap message. The procedures in this document do not define a way for BSR messages to be forwarded across a core in which the BSR IP address is not routable.

multicast, routing

normative-requirement §3.3.2 MUST

A router that receives a Vector Attribute MUST use it, even if that router happens to have a route to the source. Only if the Vector address matches the router's own address is the attribute discarded.

multicast, routing

normative-requirement §3.3.3 MUST NOT

A Vector Attribute MUST NOT be sent in a PIM Join to an upstream neighbor chosen as the result of Assert processing if that neighbor is different from the original upstream neighbor, because reachability of the Vector is only guaranteed by the router that advertises it in its IGP.

multicast, routing

normative-requirement §3.3.3 MUST

If a PIM Join is being sent towards a Vector rather than towards the source, the Assert message MUST carry the metric to the Vector instead of the metric to the source. Assert messages do not contain an attribute field and do not mention the Vector.

multicast, routing

normative-requirement §3.3.3 MUST

In all cases where the RPF neighbor was not chosen via an Assert process (or was chosen via Assert but is the same as the routing-table neighbor), the Vector MUST be included in the Join message.

multicast, routing

normative-requirement §3.3.4 MUST

To make upstream router behavior predictable when downstream routers on a LAN may include different RPF Vectors, the RPF Vector address MUST be used as an additional condition in the Join suppression logic: suppression is applied only if the RPF Vector in the received PIM Join matches the RPF Vector in the multicast state.

multicast, routing

normative-requirement §1 MUST

When an edge router sends a PIM Join message into the core, it MUST include a Vector TLV specifying the IP address of the next edge router along the path to the root of the multicast distribution tree.

multicast, routing

normative-requirement §3.3.2 MUST

When processing a received PIM Join containing a Vector Attribute, a router MUST first check whether the Vector IP address is one of its own IP addresses; if so, the Vector Attribute is discarded and not passed further upstream.

multicast, routing

protocol-element §4

The F (Forward Unknown TLV) bit in the TLV header instructs routers to forward the TLV regardless of whether they understand the Type field. If the TLV type is known, the F bit is ignored.

multicast, routing

protocol-element §3

The RPF Vector TLV is a new TLV in the PIM Join Attribute message (RFC 5384) that contains a single Encoded-Unicast address identifying the exit point of the network (next edge router toward the multicast tree root). Core routers perform their RPF check against this Vector address instead of the source address.

multicast, routing, mpls

protocol-element §3.1

The RPF Vector TLV is not restricted to source trees; it may also be used to construct shared trees, in which case the Vector contains the IP address of the Rendezvous Point (RP). Procedures for (S,G) Joins apply equally to (*,G) and (*,*,RP) Joins.

multicast, routing

protocol-element §4

The S (Bottom of Stack) bit in the TLV header indicates that this is the last TLV in the PIM Join Attribute stack.

multicast, routing

registry §5

IANA has assigned the value 0 to the RPF Vector in the 'PIM Join Attribute Types' registry, as defined by RFC 5384.

registry, multicast

security-consideration §6

Security of the RPF Vector Attribute is only guaranteed by the security of the PIM packet itself; therefore, the security considerations for PIM Join packets as described in PIM-SM (RFC 4601) apply. No additional security mechanisms are defined.

security, multicast

wire-format §4

The Vector Attribute TLV is a variable-length field: a 1-octet flags/type byte (bits F=Forward Unknown TLV, S=Bottom of Stack, and a 6-bit Type field set to 0), a 1-octet Length field, and a variable-length Value field containing an Encoded-Unicast address. Length depends on the Address Family of the Encoded-Unicast address.

multicast, routing