Draft-rosen multicast VPN is a legacy feature. We recommend that you implement multiprotocol BGP-based multicast VPNs on multicast VPNs. Use this section to maintain your already existing draft-rosen multicast VPNs. To implement draft-rosen IPv4 multicast for a Layer 3 VPN, configure the following:
To send multicast traffic across a Layer 3 VPN, you must configure network protocols to handle intradomain routing (an interior gateway protocol [IGP], such as Open Shortest Path First [OSPF] or Intermediate System-to-Intermediate System [IS-IS]), interdomain routing (Border Gateway Protocol [BGP]), label switching (Multiprotocol Label Switching [MPLS]), and path signaling (Resource Reservation Protocol [RSVP]). For more information about these protocols and examples of how to configure these protocols to support a Layer 3 VPN, see the JUNOS VPNs Configuration Guide.
![]() |
Note: In multicast Layer 3 VPNs, the multicast PE routers must use the primary loopback address (or router ID) for sessions with their internal BGP peers. If the PE routers use a route reflector with next-hop self-configured, Layer 3 multicast over VPN does not work because PIM cannot transmit upstream interface information for multicast sources behind remote PE routers into the network core. Multicast Layer 3 VPNs require the BGP next-hop address of the VPN route to match the BGP next-hop address of the loopback VRF instance address. |
To facilitate the PIM protocol within a Layer 3 VPN, configure a unique loopback interface for the routing instance at the [edit interfaces lo0 unit] hierarchy level:
To configure the master PIM instance that communicates with other PIM neighbors and the SP-RP within the service provider network, include the pim statement at the [edit protocols] hierarchy level. The example shown enables PIM sparse mode.
- [edit protocols]
- pim {
-
- rp {
-
- static {
- address ip-address;
- }
- }
-
- interface all {
- mode sparse;
- version 2;
- }
- }
The configuration syntax for PIM in a Layer 3 instance is available at the [edit routing-instances protocols pim] hierarchy level. It is similar to the global PIM configuration syntax found at the [edit protocols pim] hierarchy level.
In JUNOS Release 5.3 and later, you can include the vpn-group-address statement at the [edit routing-instances instance-name protocols pim] hierarchy level. You include this statement within the routing instance and specify the multicast group address for a particular VPN. Only one vpn-group-address statement can be configured per VPN, and this address should be unique on a per-VPN basis. To review how the VPN group address is used within GRE packet headers, see Stage 2 in Dual PIM Multicast VPNs: Draft Rosen.
Keep in mind that each PE router contains two entries of PIM: one for the master instance of PIM that connects through the service provider network and a second for the routing instance that connects to the CE router. The RP listed within the routing instance is the VPN C-RP, whereas the RP in the master PIM instance is an SP-RP. The following sample configuration shows a PE router with PIM enabled for sparse-dense mode in the VPN instance.
- [edit]
- routing-instances {
-
- instance-name {
- .....
-
- protocols {
- .....
-
- pim {
- vpn-group-address group-address;
-
- rp {
-
- static {
- address ip-address;
- }
- }
-
- interface interface-name {
- mode sparse-dense;
- version 2;
- }
-
- interface lo0.1 {
- mode sparse-dense;
- version 2;
- }
- }
- }
- }
- }
![]() |
Note: In JUNOS Release 5.5 and later, you can configure PIM dense mode with the dense statement at the [edit routing-instances pim mode] hierarchy level. Sparse mode is available at this same hierarchy level in JUNOS Release 5.3 and later. |
Graceful restart permits a routing platform to continue forwarding multicast traffic to neighbors while the routing protocol process restarts. To enable graceful restart for PIM sparse mode in a Layer 3 VPN, include the graceful-restart statement at both the [edit routing-options] and [edit routing-instances instance-name routing-options] hierarchy levels. To disable graceful restart in a Layer 3 VPN, include the disable statement at the [edit routing-instances instance-name protocols pim graceful-restart] hierarchy level.
- [edit]
- routing-options {
-
- graceful-restart {
- disable;
- restart-duration seconds;
- }
- }
- routing-instances {
-
- instance-name {
- .....
-
- protocols {
-
- pim {
-
- graceful-restart {
- disable;
- restart-duration seconds;
- }
- }
- }
-
- routing-options {
-
- graceful-restart {
- disable;
- restart-duration seconds;
- }
- }
- }
- }
For more information about PIM sparse mode graceful restart in a Layer 3 VPN, see the JUNOS High Availability Configuration Guide or the JUNOS Multicast Protocols Configuration Guide.
By using multicast distribution trees (MDTs) for data in a Layer 3 VPN, you can prevent multicast packets from being flooded unnecessarily to specified provider edge (PE) routers within a VPN group. This option is primarily useful for PE routers in your Layer 3 VPN multicast network that have no receivers for the multicast traffic from a particular source.
When a PE router directly connected to the multicast source receives Layer 3 VPN multicast traffic exceeding a configured threshold, a new data-MDT tunnel is established between the source PE router and its remote PE router neighbors. Neighbors that do not have receivers for the multicast traffic ignore the new tunnel. Conversely, neighbors that do have receivers for the multicast traffic link to the data-MDT tunnel, which is created based on the multicast data in the VPN. If the multicast traffic level drops back below the threshold, the data-MDT tunnel is torn down automatically and traffic flows back across the original Layer 3 VPN PIM tunnel.
To specify when the PE router directly connected to the multicast source should create a new data-MDT tunnel, you must configure the maximum threshold value by including the rate statement at the [edit routing-instances instance-name protocols pim mdt threshold group group-address source source-address] hierarchy level. The data rate is specified in kilobits per second (Kbps). To specify the maximum number of data-MDT tunnels that can be created for a single routing instance, include the tunnel-limit statement at the [edit routing-instances instance-name protocols pim mdt] hierarchy level. To specify the IP group range used when a new data-MDT tunnel needs to be initiated on the PE router, include the group-range statement at the [edit routing-instances instance-name protocols pim mdt] hierarchy level.
- [edit routing-instances instance-name protocols pim]
- mdt {
- group-range multicast-prefix;
-
- threshold {
-
- group group-address {
-
- source source-address {
- rate threshold-rate;
- }
- }
- }
- tunnel-limit limit;
- }
![]() |
Note: Because MDT applies to VPNs and VRF routing instances, you cannot configure MDT statements in the master routing instance. If you configure MDT in the master routing instance, the configuration commit operation will fail. |
For more information about MDT, see the JUNOS Multicast Protocols Configuration Guide.
MSDP, defined in RFC 3618, allows a PIM-enabled network to connect multicast routing domains. It typically runs on the same router as a PIM sparse-mode rendezvous point (RP). Each MSDP router establishes adjacencies with internal and external MSDP peers similar to adjacency establishment for BGP peers. MSDP peer routers inform each other about active sources within the domain. When the peers detect active sources, they send explicit Join messages to the active source.
You can configure MSDP in the master instance of a routing platform, or in the following types of routing instances:
To configure MSDP in a Layer 3 VPN, include the msdp statement at the [edit routing-instances instance-name protocols] hierarchy level and specify local and peer addresses. You must also configure PIM sparse mode in the routing instance and specify a rendezvous point.
- [edit routing-instances instance-name protocols]
- pim {
-
- rp {
-
- local {
- address ip-address;
- }
- }
- interface interface-name;
- }
- msdp {
- local-address local-ip-address;
- peer peer-ip-address;
- }
To view information about the operation of MSDP within a Layer 3 VPN instance, issue the show msdp instance, show msdp statistics instance, show msdp source instance, and show msdp source-active instance commands. For more information about MSDP, see the JUNOS Multicast Protocols Configuration Guide.