Related Documentation
Example: Configuring Source-Specific Multicast for Draft-Rosen Multicast VPNs
This example shows how to configure a draft-rosen Layer 3 VPN operating in source-specific multicast (SSM) mode. This example is based on the Junos OS implementation of the IETF Internet draft draft-rosen-vpn-mcast-07.txt, Multicast in MPLS/BGP VPNs.
Requirements
This example uses the following hardware and software components:
- Junos OS Release 9.4 or later
- Make sure that the routing devices support multicast tunnel
(mt) interfaces.
A tunnel-capable PIC supports a maximum of 512 multicast tunnel interfaces. Both default and data MDTs contribute to this total. The default MDT uses two multicast tunnel interfaces (one for encapsulation and one for de-encapsulation). To enable an M Series or T Series router to support more than 512 multicast tunnel interfaces, another tunnel-capable PIC is required. See Tunnel Services PICs and Multicast and Load Balancing Multicast Tunnel Interfaces Among Available PICs.
Overview
The IETF Internet draft draft-rosen-vpn-mcast-07.txt introduced the ability to configure the provider network to operate in SSM mode. When a draft-rosen multicast VPN is used over an SSM provider core, there are no PIM RPs to provide rendezvous and autodiscovery between PE routers. Therefore, draft-rosen-vpn-mcast-07 specifies the use of a BGP network layer reachability information (NLRI), called MDT subaddress family identifier information (MDT-SAFI) to facilitate autodiscovery of PEs by other PEs. MDT-SAFI updates are BGP messages distributed between intra-AS internal BGP peer PEs. Thus, receipt of an MDT-SAFI update enables a PE to autodiscover the identity of other PEs with sites for a given VPN and the default MDT (S,G) routes to join for each. Autodiscovery provides the next-hop address of each PE, and the VPN group address for the tunnel rooted at that PE for the given route distinguisher (RD) and route-target extended community attribute.
This example includes the following configuration options to enable draft-rosen SSM:
- protocols bgp group group-name family inet-mdt signaling—Enables MDT-SAFI signaling in BGP.
- routing-instance instance-name protocols mvpn autodiscovery-only intra-as inclusive—Enables the multicast VPN to use the MDT-SAFI autodiscovery NLRI.
- routing-instance instance-name protocols pim mvpn—Specifies the SSM control plane. When pim mvpn is configured for a VRF, the VPN group address must be specified with the provider-tunnel pim-ssm group-address statement.
- routing-instance instance-name protocols pim mvpn autodiscovery inet-mdt—Enables PIM to learn about neighbors from the MDT-SAFI autodiscovery NLRI.
- routing-instance instance-name provider-tunnel pim-ssm group-address multicast-address—Configures the provider tunnel that serves as the control plane and enables the provider tunnel to have a static group address. Unlike draft-rosen multicast VPNs with ASM provider cores, the SSM configuration does not require that each PE for a VPN use the same group address. This is because the rendezvous point assignment and autodiscovery are not accomplished over the default MDT tunnels for the group. Thus, you can configure some or all PEs in a VPN to use a different group, but the same group cannot be used in different VPNs on the same PE router.
- routing-instances ce1 vrf-target target:100:1—Configures the VRF export policy. When you configure draft-rosen
multicast VPNs with provider tunnels operating in source-specific
mode and using the vrf-target statement, the VRF export policy
is automatically generated and automatically accepts routes from the vrf-name.mdt.0 routing table.
Note: When you configure draft-rosen multicast VPNs with provider tunnels operating in source-specific mode and using the vrf-export statement to specify the export policy, the policy must have a term that accepts routes from the vrf-name.mdt.0 routing table. This term ensures proper PE autodiscovery using the inet-mdt address family.
Figure 1 shows the topology for this example.
Figure 1: SSM for Draft-Rosen Multicast VPNs Topology

Configuration
CLI Quick Configuration
To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.
Interface Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure the interfaces on one PE router:
Configure PE1’s interface to the provider router.
[edit interfaces so-0/0/0]user@host# set description "TO P1"user@host# set unit 0 description "to P1 (provider router, 10.255.14.218 ) so-0/0/0.0"user@host# set unit 0 family inet address 1.0.1.1/30user@host# set unit 0 family isouser@host# set unit 0 family mplsConfigure PE1’s interface to PE2.
[edit interfaces so-0/0/1]user@host# set description "TO PE2"user@host# set unit 0 description "to PE2 (10.255.14.217) so-0/0/1.0"user@host# set unit 0 family inet address 1.0.2.1/30user@host# set unit 0 family isouser@host# set unit 0 family mplsConfigure PE1’s interface to CE1.
[edit interfaces fe-0/1/1]user@host# set description "TO CE1"user@host# set unit 0 description "to CE1 (10.255.14.223) fe-0/1/1.0"user@host# set unit 0 family inet address 1.0.3.1/30user@host# set unit 0 family isouser@host# set unit 0 family mplsConfigure PE1’s loopback interface.
[edit interfaces lo0]user@host# set unit 0 description "PE1 (this PE router, 10.255.14.216) Loopback"user@host# set unit 1 family inet address 1.1.1.0/32
Multicast Group Management
Step-by-Step Procedure
To configure multicast group management:
Configure the IGMP interfaces.
[edit protocols igmp]user@host# set interface all immediate-leaveuser@host# set interface fxp0.0 disableConfigure the IGMP settings.
[edit protocols igmp]user@host# set query-interval 2user@host# set query-response-interval 1user@host# set query-last-member-interval 1
MPLS Signaling Protocol and MPLS LSPs
Step-by-Step Procedure
To configure the MPLS signaling protocol and MPLS LSPs:
Configure RSVP signaling among this PE router (PE1), the other PE router (PE2). and the provider router (P1).
[edit protocols rsvp]user@host# set interface so-0/0/0.0user@host# set interface so-0/0/1.0Configure MPLS LSPs.
[edit protocols mpls]user@host# set label-switched-path pe1-to-pe2 to 10.255.14.217user@host# set label-switched-path pe1-to-pe2 primary pe1_pe2_primeuser@host# set label-switched-path pe1-to-p1 to 10.255.14.218user@host# set label-switched-path pe1-to-p1 primary pe1_p1_primeuser@host# set path pe1_p1_prime 1.0.1.2user@host# set path pe1_pe2_prime 1.0.2.2user@host# set interface alluser@host# set interface fxp0.0 disable
BGP
Step-by-Step Procedure
To configure BGP:
- Configure the AS number. In this example, both of the
PE routers and the provider router are in AS 200.[edit]user@host# set routing-options autonomous-system 200
Configure the internal BGP full mesh with the PE2 and P1 routers.
[edit protocols bgp group int]user@host# set type internaluser@host# set local-address 10.255.14.216user@host# set family inet unicastuser@host# set neighbor 10.255.14.218user@host# set neighbor 10.255.14.217Enable MDT-SAFI NLRI control plane messages.
[edit protocols bgp group int]user@host# set family inet-mdt signaling- Enable BGP to carry Layer 3 VPN NLRI for the IPv4 address
family.[edit protocols bgp group int]user@host# set family inet-vpn unicastuser@host# set family inet-vpn multicast
Configure BGP export policy.
[edit policy-options]user@host# set policy-statement bgp_ospf term 1 from protocol bgpuser@host# set policy-statement bgp_ospf term 1 then accept
Interior Gateway Protocol
Step-by-Step Procedure
To configure the interior gateway protocol:
Configure the OSPF interfaces.
[edit protocols ospf]user@host# set area 0.0.0.0 interface lo0.0 passiveuser@host# set area 0.0.0.0 interface so-0/0/0.0 metric 10user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 10Enable traffic engineering.
[edit protocols ospf]user@host# set traffic-engineering
PIM
Step-by-Step Procedure
To configure PIM:
Configure timeout periods and the RP. Local RP configuration makes PE1 a statically defined RP.
[edit protocols pim]user@host# set assert-timeout 5user@host# set join-prune-timeout 210user@host# set rp bootstrap-priority 10user@host# set rp local address 10.255.14.216Configure the PIM interfaces.
[edit protocols pim]user@host# set interface lo0.0user@host# set interface all hello-interval 1user@host# set interface fxp0.0 disable
Routing Instance
Step-by-Step Procedure
To configure the routing instance between PE1 and CE1:
Configure the basic routing instance.
[edit routing-instances ce1]user@host# set instance-type vrfuser@host# set interface fe-0/1/1.0user@host# set interface lo0.1user@host# set route-distinguisher 1:0user@host# set vrf-target target:100:1Configure the SSM provider tunnel.
[edit routing-instances ce1]user@host# set provider-tunnel pim-ssm group-address 232.1.1.1Configure OSPF in the routing instance.
[edit routing-instances ce1 protocols ospf]user@host# set export bgp_ospfuser@host# set sham-link local 1.1.1.0user@host# set area 0.0.0.0 sham-link-remote 1.1.1.1user@host# set area 0.0.0.0 sham-link-remote 1.1.1.2user@host# set area 0.0.0.0 interface lo0.1user@host# set area 0.0.0.0 interface fe-0/1/1.0 metric 10Configure PIM in the routing instance.
[edit routing-instances ce1 protocols pim]user@host# set interface lo0.1user@host# set interface fe-0/1/1.0 priority 100user@host# set interface fe-0/1/1.0 hello-interval 1Configure draft-rosen VPN autodiscovery for provider tunnels operating in SSM mode.
[edit routing-instances ce1 protocols pim]user@host# set mvpn autodiscovery inet-mdtConfigure the BGP-based MVPN control plane to provide signaling only for autodiscovery and not for PIM operations.
[edit routing-instances ce1 protocols mvpn]user@host# set autodiscovery-only intra-as inclusive
Verification
You can monitor the operation of the routing instance by running the show route table ce1.mdt.0 command.
You can manage the group-instance mapping for local SSM tunnel roots by running the show pim mvpn command.
The show pim mdt command shows the tunnel type and source PE address for each outgoing and incoming MDT. In addition, because each PE might have its own default MDT group address, one incoming entry is shown for each remote PE. Outgoing data MDTs are shown after the outgoing default MDT. Incoming data MDTs are shown after all incoming default MDTS.
For troubleshooting, you can configure tracing operations for all of the protocols.