RFC 7438

Multipoint LDP (mLDP) In-Band Signaling with Wildcards

πŸ“… published January 2015, from ietf

RFC 7438: Multipoint LDP (mLDP) In-Band Signaling with Wildcards πŸŽ€

okay bestie, this one is all about wildcards and it's giving main character energy πŸ’… Here's the header tea first, so you know who's behind it:

  • Published by: Internet Engineering Task Force (IETF) 🌸
  • Title: Multipoint LDP (mLDP) In-Band Signaling with Wildcards
  • Authors: IJ. Wijnands, Ed. (Cisco Systems, Inc.), E. Rosen (Juniper Networks, Inc.), A. Gulko (Thomson Reuters), U. Joorde (Deutsche Telekom), and J. Tantsura (Ericsson)
  • Category: Standards Track ✨
  • ISSN: 2070-1721
  • Date: January 2015
  • Updates: RFC 6826 and RFC 7246 (the header doesn't list any RFCs it obsoletes) πŸ¦‹

Abstract 🌈

okay so picture an IP multicast tree (the thing that delivers one stream to lots of people πŸ‘€) that has to cross an MPLS domain. Sometimes you want to convert it seamlessly into an MPLS Multipoint Label Switched Path (MP-LSP) when it goes in, then turn it back into an IP multicast tree when it comes out. Earlier documents already handle Source-Specific Multicast trees and Bidirectional Multicast trees, but they don't cover IP Any-Source Multicast trees or bundling several IP multicast trees onto one MP-LSP. 😭 This document fixes that by defining "wildcard" encodings. When you set up an MP-LSP, you can say that a set of IP multicast trees, or a shared IP multicast tree, should get attached to it. Non-bidirectional IP Any-Source Multicast trees come with some applicability restrictions, which the doc explains. It updates RFC 6826 and RFC 7246. πŸ’–

Status of This Memo 🫢

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, has received public review, and has been approved for publication by the Internet Engineering Steering Group (IESG). More info on Internet Standards is in Section 2 of RFC 5741.

Info about the current status of this document, any errata, and how to give feedback on it lives at http://www.rfc-editor.org/info/rfc7438. πŸ”—

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date of publication. Please read these carefully, because they describe your rights and restrictions. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they're provided without warranty as described in the Simplified BSD License. πŸ“œ

Table of Contents 🧚

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
2.  Terminology and Definitions . . . . . . . . . . . . . . . . .   5
3.  Wildcards in mLDP Opaque Value TLVs . . . . . . . . . . . . .   7
    3.1.  Encoding the Wildcards  . . . . . . . . . . . . . . . . .   7
    3.2.  Wildcard Semantics  . . . . . . . . . . . . . . . . . . .   8
    3.3.  Backwards Compatibility . . . . . . . . . . . . . . . . .   8
    3.4.  Applicability Restrictions with Regard to ASM . . . . . .   9
4.  Some Wildcard Use Cases . . . . . . . . . . . . . . . . . . . .   9
    4.1.  PIM Shared Tree Forwarding  . . . . . . . . . . . . . . .   9
    4.2.  IGMP/MLD Proxying . . . . . . . . . . . . . . . . . . . .  11
    4.3.  Selective Source Mapping  . . . . . . . . . . . . . . . .  11
5.  Procedures for Wildcard Source Usage  . . . . . . . . . . . . .  11
6.  Procedures for Wildcard Group Usage . . . . . . . . . . . . . .  13
7.  Determining the MP-LSP Root (Ingress LSR) . . . . . . . . . .  13
8.  Anycast RP  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
9.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  14
    10.1.  Normative References . . . . . . . . . . . . . . . . . .  14
    10.2.  Informative References . . . . . . . . . . . . . . . . .  14
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  15
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1. Introduction ✨

[RFC6826] and [RFC7246] spell out procedures for mLDP (Multipoint LDP) that let an IP multicast tree (either a Source-Specific Multicast tree or a Bidirectional Multicast tree) get attached "seamlessly" to an MPLS Multipoint Label Switched Path (MP-LSP). πŸ¦‹ This is handy when multicast data starts in a domain that supports IP multicast, has to cross a domain that supports MPLS multicast, and then has to cross into another domain that supports IP multicast. Once the IP multicast tree is attached to an MP-LSP, the data riding that tree can move seamlessly onto the MP-LSP when it enters the MPLS multicast domain. It then travels along the MP-LSP through the MPLS domain. When it reaches the edge of that domain, it can move seamlessly back onto an IP multicast tree. Being able to attach IP multicast trees to MPLS MP-LSPs is useful in either a VPN context or a global context. πŸ’…

In mLDP, every MP-LSP is identified by a combination of a "root node" (or "Ingress Label Switching Router (LSR)") and an "Opaque Value." Within the root node's context, that Opaque Value uniquely identifies the MP-LSP. These get encoded into an mLDP "Forwarding Equivalence Class (FEC) Element." To set up an MP-LSP, the Egress LSRs send mLDP control messages that carry the FEC element. A given FEC Element value identifies one MP-LSP, and it gets passed upstream from the Egress LSRs, through the intermediate LSRs, up to the Ingress LSR. 🧚

In IP multicast, a multicast tree is identified by a combination of an IP source address ("S") and an IP group address ("G"), usually written as (S,G). A tree that carries traffic from multiple sources is identified by its group address, and that identifier is written as (*,G). 🌸

When an MP-LSP is being set up, the procedures in [RFC6826] and [RFC7246], known as "mLDP in-band signaling," let the Egress LSRs of the MP-LSP encode the identifier of an IP multicast tree into the "Opaque Value" field of the mLDP FEC Element that identifies the MP-LSP. Only the Egress and Ingress LSRs know that the mLDP FEC Elements contain encodings of the IP multicast tree identifier. Intermediate nodes along the MP-LSP don't look at the internal structure of the FEC Element's Opaque Value, and that structure doesn't affect how mLDP operates. πŸ” Through mLDP in-band signaling, the Egress LSRs of an MP-LSP tell the Ingress LSR that they expect traffic from the identified IP multicast tree (and only that traffic) to be carried on the MP-LSP. In other words, mLDP in-band signaling doesn't just set up the MP-LSP. It also binds a given IP multicast tree to that MP-LSP. πŸŽ€

If multicast is being done in a VPN context [RFC7246], the mLDP FEC elements also contain a "Route Distinguisher" (RD) (see [RFC7246]), because in that case IP multicast trees are identified not just by (S,G) but by (RD,S,G). The procedures in this document also apply here. And when an Ingress LSR processes an in-band signaling Opaque Value that contains an RD, it does so within the context of the VPN associated with that RD. πŸ’œ

If mLDP in-band signaling isn't used, some other protocol has to bind an IP multicast tree to the MP-LSP. That requires extra communication between the Ingress LSR and the Egress LSRs of the MP-LSP. The whole point of mLDP in-band signaling is to get rid of the need for those other protocols. πŸ™Œ

When following the procedures of [RFC6826] and [RFC7246] for non-bidirectional trees, the Opaque Value has an IP source address (S) and an IP group address (G) encoded into it, so it can identify one particular IP multicast (S,G) tree. Only a single IP source-specific multicast tree (that is, a single (S,G)) can be identified in a given FEC element. So a given MP-LSP can only carry data from one IP source-specific multicast tree (that is, one (S,G) tree). 😀 Still, there are situations where you'd love to aggregate a bunch of (S,G) trees onto a single MP-LSP. Aggregation lets a number of IP multicast trees use fewer MP-LSPs, which saves state in the network. πŸ“

On top of that, [RFC6826] and [RFC7246] don't support attaching an Any-Source Multicast (ASM) shared tree to an MP-LSP, unless the ASM shared tree is a bidirectional tree (that is, a tree set up by BIDIR-PIM [RFC5015]). But there are situations where attaching a non-bidirectional ASM shared tree to an MP-LSP would be really useful. πŸ₯Ή

This document specifies a way to encode an mLDP "Opaque Value" in which either the "S," the "G," or both get replaced by a "wildcard" (written as *). It describes procedures for using the wildcard encoding to map non-bidirectional ASM shared trees to MP-LSPs, and for mapping multiple (S,G) trees (with a common value of S or a common value of G) onto a single MP-LSP. ✨

Some example scenarios where wildcard encoding is useful are:

  • PIM shared tree forwarding with "threshold infinity";
  • IGMP/Multicast Listener Discovery (MLD) proxying; and
  • Selective Source mapping.

These scenarios are discussed in Section 4. This list isn't meant to be exhaustive, so there may be other good uses too. 🌈

This document only specifies the mLDP procedures that are specific to using wildcards. mLDP in-band signaling procedures that aren't specific to wildcards can be found in [RFC6826] and [RFC7246]. Unless this document says otherwise, those procedures still apply when wildcards are used. πŸ’–

2. Terminology and Definitions ✨

okay bestie, let's get the glossary going πŸ“–πŸ’… readers of this doc are assumed to already know the terms in the Normative References (those are the big foundational docs), but here are some of the fave terms you'll see a lot πŸŽ€

IGMP: Internet Group Management Protocol. 🌸

In-band signaling: using the opaque value of an mLDP FEC element to carry the (S,G) or (,G) identifying a particular IP multicast tree. it's giving "pack everything into one tiny box" πŸ“¦ this doc also lets you encode (S,) inside the opaque value, see Section 6 for the deets πŸ‘‘

Ingress LSR: the root node of an MP-LSP. when mLDP in-band signaling is used, the Ingress LSR hears about a particular MP-LSP from downstream (mLDP messages) and then emits IP multicast control messages upstream. which IP multicast control messages get emitted depends on the contents of the LDP Opaque Value TLVs 🧚 the Ingress LSR also takes IP multicast data from upstream and sends it downstream as MPLS packets on an MP-LSP. main character energy πŸ’–

IP multicast tree: an IP multicast distribution tree identified by an IP multicast group address and optionally a source IP address. also called (S,G) and (*,G) πŸ¦‹

MLD: Multicast Listener Discovery. 🫢

mLDP: Multipoint LDP. 🌈

MP-LSP: a Point-to-Multipoint (P2MP) or Multipoint-to-Multipoint (MP2MP) LSP. πŸ“

PIM: Protocol Independent Multicast. ✨

PIM-ASM: PIM Any-Source Multicast. πŸ’œ

PIM-SM: PIM Sparse Mode. πŸ’…

PIM-SSM: PIM Source-Specific Multicast. πŸ”₯

RP: the PIM Rendezvous Point. πŸŽ€

Egress LSR: the Egress LSRs of an MP-LSP are LSPs that receive MPLS multicast data packets from upstream on that MP-LSP, and forward that data downstream as IP multicast data packets πŸ¦‹ they also receive IP multicast control messages from downstream and send mLDP control messages upstream. when in-band signaling is used, the Egress LSRs build Opaque Value TLVs that contain IP source and/or group addresses based on the IP multicast control messages they got from downstream 🧚

Threshold Infinity: a PIM-SM procedure where no source-specific multicast (S,G) trees are created for multicast packets that are forwarded down the shared tree (*,G). ngl this one is a whole vibe πŸ™ˆ

TLV: a protocol element made of a type field, then a length field, then a value field. the value field can be split into a bunch of subfields too 🌸

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 RFC 2119 [RFC2119]. πŸ’–


3. Wildcards in mLDP Opaque Value TLVs πŸŽ€

okay so [RFC6826] and [RFC7246] define these Opaque Value TLVs: Transit IPv4 Source TLV, Transit IPv6 Source TLV, Transit VPNv4 Source TLV, and Transit VPNv6 Source TLV πŸ’… each value field is split into subfields, one with an IP source address and one with an IP group address. per those docs, these fields MUST contain valid IP addresses. πŸ™ˆ

this doc extends those TLVs so the IP source address field or the IP group address field (or both) can say "wildcard" instead of a valid IP address. it's giving flexibility πŸ¦‹

3.1. Encoding the Wildcards

a value of all zeroes in the IP source address subfield represents a wildcard source address. a value of all zeroes in the IP group address subfield represents the wildcard group address. note that the lengths of these subfields are as specified in the previous documents 🌈

3.2. Wildcard Semantics

if the IP source address subfield contains the wildcard, and the IP group address subfield contains an IP multicast group address that is NOT in the SSM address range (see Section 4.8 of [RFC4601]), then the TLV identifies a PIM-SM shared tree. please see Section 3.4 for the applicability restrictions for this case 🌸

if the IP source address subfield contains the wildcard, and the IP group address subfield contains an IP multicast group address that is in the SSM address range, then the TLV identifies the collection of PIM trees with the given group address 🧚

if the IP source address subfield contains a non-zero IP address, and the IP group address subfield contains the wildcard, the TLV identifies the collection of PIM-SSM trees that have that source address as their root πŸ’œ

procedures for using the wildcards are discussed in Sections 4, 5, and 6. please note that, as always, the structure of an Opaque Value TLV does not affect how mLDP operates. the structure only matters to the IP multicast modules at the Ingress and Egress LSRs 🫢

procedures for using a wildcard group in these TLVs (defined in [RFC6826] or [RFC7246]) are outside the scope of this doc: Transit IPv4 Bidir TLV, Transit IPv6 Bidir TLV, Transit VPNv4 Bidir TLV, and Transit VPNv6 Bidir TLV ✨

procedures for using both a wildcard source and a wildcard group in the same TLV are also outside the scope of this doc πŸ”₯

note that the Bidir TLVs don't have a source address subfield, so the notion of a wildcard source doesn't apply to them πŸ“

3.3. Backwards Compatibility

the procedures in this doc don't change the behavior described in [RFC6826] and [RFC7246] πŸ’–

a correctly operating Egress LSR that supports [RFC6826] and/or [RFC7246], but not this doc, will never generate mLDP FEC Element Opaque values that contain source or group wildcards πŸŽ€

neither [RFC6826] nor [RFC7246] specifies how an Ingress LSR should behave when it gets mLDP FEC Element Opaque values with zeroes in the source address or group address subfields. however, if an Ingress LSR supports [RFC6826] and/or [RFC7246] but not this doc, then it has no choice but to treat any such received FEC elements as invalid 😭 the procedures in [RFC6826] and [RFC7246] just don't work when the Opaque values have zeroes in the source address or group address subfields πŸ’€

so the procedures in this doc presuppose that if an Egress LSR uses wildcard encodings when setting up an MP-LSP, then the Ingress LSR (i.e., the root of the multipoint LSP) supports the procedures in this doc 🧚 an Egress LSR MUST NOT use wildcard encodings when setting up a particular multipoint LSP unless it is known a priori that the Ingress LSR supports the procedures in this doc. how that gets known is outside the scope of this doc πŸ™ˆ

3.4. Applicability Restrictions with Regard to ASM

in general, supporting non-bidirectional PIM-ASM trees requires (a) a procedure for figuring out the set of sources for a given ASM tree ("source discovery"), and (b) a procedure for pruning a particular source off a shared tree ("source pruning"). no such procedures are specified in this doc 😭 so the combination of a wildcard source with an ASM group address MUST NOT be used unless it is known a priori that neither source discovery nor source pruning is needed. how that gets known is outside the scope of this doc. Section 4 describes some use cases where source discovery and source pruning aren't needed πŸ’…

there are, of course, use cases where source discovery and/or source pruning IS needed. those can be handled with procedures like the ones specified in [RFC6513], [RFC6514], and [GTM]. use of mLDP in-band signaling is NOT RECOMMENDED for those cases πŸ₯Ί

4. Some Wildcard Use Cases 🌈

this section talks through a few wildcard use cases. the set here isn't meant to be exhaustive πŸ¦‹ in each of these, the Egress LSRs build mLDP Opaque Value TLVs that contain wildcards in the IP source address or IP group address subfields πŸ’–

4.1. PIM Shared Tree Forwarding πŸŽ€

PIM [RFC4601] has the concept of a "shared tree", identified as (,G). this concept only applies when G is an IP multicast group address that is NOT in the SSM address range (i.e., it's an ASM group address). every ASM group is associated with a Rendezvous Point (RP), and the (,G) tree is built toward the RP (i.e., its root is the RP) 🌸 the RP for group G is responsible for forwarding packets down the (,G) tree. the packets forwarded down the (,G) tree may come from any multicast source, as long as they have an IP destination address of G ✨

the RP learns about all the multicast sources for a given group and then joins a source-specific tree for each one. so when the RP for G learns that S has multicast data to send to G, the RP joins the (S,G) tree. when the RP gets multicast data from S destined to G, it forwards the data down the (*,G) tree 🧚 there are several ways the RP can learn about the sources for a group: via PIM Register messages [RFC4601], via Multicast Source Discovery Protocol (MSDP) [RFC3618], or by observing packets from a source that is directly connected to the RP 🫢

in PIM, a PIM router that has receivers for a particular ASM multicast group G (known as a "last hop" router for G) will first join the (,G) tree. as it receives multicast traffic on the (,G) tree, it learns (by looking at the IP headers of the multicast data packets) which sources are transmitting to G πŸ‘‘ typically, when a last hop router for group G learns that source S is transmitting to G, the last hop router joins the (S,G) tree and "prunes" S off the (*,G) tree. this lets each last hop router receive the multicast data along the shortest path from the source to the last hop router πŸ’œ (full details of this behavior are in [RFC4601].)

sometimes, though, a last hop router for group G decides NOT to join the source trees, and instead keeps receiving all the traffic for G from the (*,G) tree. in this case, we say the last hop router has "threshold infinity" for group G πŸ™ˆ this is optional behavior documented in [RFC4601]. "threshold infinity" is often used in deployments where the RP sits between the multicast sources and the multicast receivers for group G, i.e., where it's known that the shortest path from any source to any receiver of the group goes through the RP πŸ”₯ in those deployments there's no advantage to a last hop router joining a source tree, since the data is already traveling the shortest path. the only effect of running the complicated procedures for joining a source tree and pruning the source off the shared tree would be to increase the amount of multicast routing state the network has to maintain πŸ’€

to use mLDP in-band signaling efficiently in this scenario, the Egress LSRs MUST construct an Opaque Value TLV that identifies a (,G) tree. hmm, the original says it is *necessary, so this is done by putting the wildcard in the IP source address subfield and setting the IP group address subfield to G πŸŽ€

note that these mLDP in-band signaling procedures do NOT support PIM-ASM in scenarios where "threshold infinity" is NOT used 😭✨

4.2. IGMP/MLD Proxying ✨

okay so there are scenarios where the senders and receivers are plugged straight into an MPLS routing domain, and you'd rather use mLDP than PIM to build the "trees" through that domain 🌳

In these scenarios, we can apply "IGMP/MLD proxying" and skip PIM entirely πŸ’… The senders and receivers treat the MPLS domain as a single hop between each other. [RFC4605] documents the procedures where a multicast routing protocol isn't necessary to build a "simple tree" πŸ¦‹ Inside the MPLS domain, mLDP gets used to build an MP-LSP, but the senders and receivers never see it (it's hidden, bestie πŸ™ˆ). The procedures in [RFC4605] still apply, since the senders and receivers are considered one hop away from each other.

For mLDP to build that MP-LSP, it needs to know the root of the tree. Following [RFC4605], we depend on manual configuration of the mLDP root for the ASM multicast group 🧚 Since the MP-LSP for a given ASM group carries traffic from all the sources for that group, the Opaque Value TLV used to construct the MP-LSP will contain a wildcard in the IP source address subfield. Main character energy πŸ‘‘

4.3. Selective Source Mapping πŸ“

in lots of IPTV deployments, the content servers are gathered into a small number of sites πŸ“Ί Popular channels are often statically configured and forwarded over a core MPLS network to the Egress routers. Since these channels are statically defined, they MAY also be forwarded over a multipoint LSP with wildcard encoding. The sort of wildcard encoding that needs to be used (source and/or group) depends on the source/group allocation policy of the IPTV provider. Other options are to use MSDP [RFC3618] or BGP "Auto-Discovery" procedures [RFC6513] for source discovery by the Ingress LSR. Based on the received wildcard, the Ingress LSR can select from the set of IP multicast streams it already has state for πŸ’–

5. Procedures for Wildcard Source Usage πŸŽ€

the decision to use mLDP in-band signaling is made by the IP multicast component of an Egress LSR, based on provisioned policy. The decision to use (or not to use) a wildcard in the IP source address subfield of an mLDP Opaque Value TLV is also made by the IP multicast component, again based on provisioned policy. Here are some example policies that might be useful πŸ’…

  1. Suppose that PIM is enabled, an Egress LSR needs to join a non-bidirectional ASM group G, and the RP for G is reachable via a BGP route. The Egress LSR may choose the BGP Next Hop of the route to the RP to be the Ingress LSR (root node) of the MP-LSP corresponding to the (,G) tree (see also Section 7). The Egress LSR may identify the (,G) tree by using an mLDP Opaque Value TLV whose IP source address subfield contains a wildcard, and whose IP group address subfield contains G.
  2. Suppose that PIM is not enabled for group G, and an IGMP/MLD group membership report for G has been received by an Egress LSR. The Egress LSR may determine the "proxy device" for G (see Section 4.2). It can then set up an MP-LSP for which the proxy device is the Ingress LSR. The Egress LSR needs to signal the Ingress LSR that the MP-LSP is to carry traffic belonging to group G; it does this by using an Opaque Value TLV whose IP source address subfield contains a wildcard, and whose IP group address subfield contains G.

Every deployment's needs can look totally different, so this document does not specify any particular set of policies as being mandatory to implement 🫢

When the Ingress LSR receives an mLDP Opaque Value TLV that has been defined for in-band signaling, the info from the subfields of that TLV is passed to the IP multicast component of the Ingress LSR. If the IP source address subfield contains a wildcard, the IP multicast component MUST determine how to process it. The processing MUST follow the rules below:

  1. If PIM is enabled and the group identified in the Opaque Value TLV is a non-bidirectional ASM group, the Ingress LSR acts as if it had received a (*,G) IGMP/MLD report from a downstream node, and the procedures defined in [RFC4601] are followed.
  2. If PIM is enabled and the identified group is a PIM-SSM group, all multicast sources known for the group on the Ingress LSR are to be forwarded down the MP-LSP. In this scenario, it is assumed that the Ingress LSR is already receiving all the necessary traffic. How the Ingress LSR receives this traffic is outside the scope of this document.
  3. If PIM is not enabled for the identified group, the Ingress LSR acts as if it had received a (,G) IGMP/MLD report from a downstream node, and the procedures as defined in [RFC4605] are followed. The Ingress LSR should forward the (,G) packets to the Egress LSR through the MP-LSP identified by the Opaque Value TLV. (See also Section 4.2.)

6. Procedures for Wildcard Group Usage 🌈

Same vibe as Section 5, but now we're talking about the group side πŸ’œ The decision to use mLDP in-band signaling is made by the IP multicast component of an Egress LSR based on provisioned policy. The decision to use (or not to use) a wildcard in the IP group address subfield of an mLDP Opaque Value TLV is also made by the IP multicast component of the Egress LSR, again based on provisioned policy. Policies differ from deployment to deployment, so this document does not specify any particular set of policies as being mandatory to implement ✨

When the Ingress LSR (i.e., the root node of the MP-LSP) receives an mLDP Opaque Value TLV that has been defined for in-band signaling, the info from the subfields of that TLV is passed to the IP multicast component of the Ingress LSR. If the IP group address subfield contains a wildcard, then the Ingress LSR examines its IP multicast routing table to find all the IP multicast streams whose IP source address is the address specified in the IP source address subfield of the TLV. All these streams SHOULD be forwarded down the MP-LSP identified by the Opaque Value TLV. Note that some of these streams may have SSM group addresses, while some may have ASM group addresses πŸ¦‹

7. Determining the MP-LSP Root (Ingress LSR) πŸ”

[RFC6826] and [RFC7246] describe procedures by which an Egress LSR may determine the MP-LSP root node address corresponding to a given (S,G) IP multicast stream. That determination is based upon the IP address of the source ("S") of the multicast stream. To follow the procedures of this document, it is necessary to determine the MP-LSP root node corresponding to a given (*,G) set of IP multicast streams. The only difference from the above mentioned procedures is that the Proxy device or RP address is used instead of the source to discover the mLDP root node address.

Other procedures for determining the root node are also allowed, as determined by policy πŸ’…

8. Anycast RP πŸ“‘

In the scenarios where mLDP in-band signaling is used, it is unlikely that the RP-to-group mappings are being dynamically distributed over the MPLS core. It is more likely that the RP address is statically configured at each multicast site. In these scenarios, it is advisable to configure an Anycast RP address at each site in order to provide redundancy. See [RFC3446] for more details 🫢

9. Security Considerations 🚨

There are no security considerations other than ones already mentioned in [RFC5036], [RFC6826], and [RFC7246]. Please go read those, because the stakes are real πŸ’€

10. References πŸ“š

10.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997,
           <http://www.rfc-editor.org/info/rfc2119>.

[RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
           "Protocol Independent Multicast - Sparse Mode (PIM-SM):
           Protocol Specification (Revised)", RFC 4601, August 2006,
           <http://www.rfc-editor.org/info/rfc4601>.

[RFC4605]  Fenner, B., He, H., Haberman, B., and H. Sandick,
           "Internet Group Management Protocol (IGMP) / Multicast
           Listener Discovery (MLD)-Based Multicast Forwarding
           ("IGMP/MLD Proxying")", RFC 4605, August 2006,
           <http://www.rfc-editor.org/info/rfc4605>.

[RFC5036]  Andersson, L., Minei, I., and B. Thomas, "LDP
           Specification", RFC 5036, October 2007,
           <http://www.rfc-editor.org/info/rfc5036>.

[RFC6826]  Wijnands, IJ., Eckert, T., Leymann, N., and M. Napierala,
           "Multipoint LDP In-Band Signaling for Point-to-Multipoint
           and Multipoint-to-Multipoint Label Switched Paths", RFC
           6826, January 2013,
           <http://www.rfc-editor.org/info/rfc6826>.

[RFC7246]  Wijnands, IJ., Hitchen, P., Leymann, N., Henderickx, W.,
           Gulko, A., and J. Tantsura, "Multipoint Label Distribution
           Protocol In-Band Signaling in a Virtual Routing and
           Forwarding (VRF) Table Context", RFC 7246, June 2014,
           <http://www.rfc-editor.org/info/rfc7246>.

10.2. Informative References

[GTM]      Zhang, J., Giulano, L., Rosen, E., Subramanian, K.,
           Pacella, D., and J. Schiller, "Global Table Multicast with
           BGP-MVPN Procedures", Work in Progress, draft-ietf-bess-
           mvpn-global-table-mcast-00, November 2014.

[RFC3446]  Kim, D., Meyer, D., Kilmer, H., and D. Farinacci, "Anycast
           Rendevous Point (RP) mechanism using Protocol Independent
           Multicast (PIM) and Multicast Source Discovery Protocol
           (MSDP)", RFC 3446, January 2003,
           <http://www.rfc-editor.org/info/rfc3446>.

[RFC3618]  Fenner, B. and D. Meyer, "Multicast Source Discovery
           Protocol (MSDP)", RFC 3618, October 2003,
           <http://www.rfc-editor.org/info/rfc3618>.

[RFC5015]  Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
           "Bidirectional Protocol Independent Multicast (BIDIR-
           PIM)", RFC 5015, October 2007,
           <http://www.rfc-editor.org/info/rfc5015>.

[RFC6513]  Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP
           VPNs", RFC 6513, February 2012,
           <http://www.rfc-editor.org/info/rfc6513>.

[RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
           Encodings and Procedures for Multicast in MPLS/BGP IP
           VPNs", RFC 6514, February 2012,
           <http://www.rfc-editor.org/info/rfc6514>.

Acknowledgements 🫢

We would like to thank Loa Andersson, Pranjal Dutta, Lizhong Jin, and Curtis Villamizar for their review and comments. Thank you, legends 🌸

Authors' Addresses πŸŽ€

IJsbrand Wijnands (editor)
Cisco Systems, Inc.
De kleetlaan 6a
Diegem  1831
Belgium

EMail: ice@cisco.com


Eric C. Rosen
Juniper Networks, Inc.
10 Technology Park Drive
Westford, MA  01886
United States

EMail: erosen@juniper.net


Arkadiy Gulko
Thomson Reuters
195 Broadway
New York, NY 10007
United States

EMail: arkadiy.gulko@thomsonreuters.com


Uwe Joorde
Deutsche Telekom
Hammer Str. 216-226
Muenster  D-48153
Germany

EMail: Uwe.Joorde@telekom.de


Jeff Tantsura
Ericsson
300 Holger Way
San Jose, CA  95134
United States

EMail: jeff.tantsura@ericsson.com

That's the whole RFC, bestie πŸŒˆπŸ’– You're officially caught up on wildcards and mLDP!

πŸ“¦ where this page comes from