LSM-MLDP-based MVPN Support

First Published: November 28, 2012

The Label Switched Multicast (LSM) feature supports IPv4 and IPv6 multicast traffic over a Multi-Protocol Label Switching (MPLS) network. This feature is based on the basic MPLS infrastructure and supports IP multicast traffic through the MPLS clouds. The LSM feature enables service providers to extend the existing MPLS backbone network for multicast services. By default, MPLS creates an out-label for an in-label for each packet. This feature extends this functionality to create multiple out-labels for a single in-label.

The LSM service includes point-to-multipoint (P2MP) and multipoint-to-multipoint (MP2MP) packet transport. The P2MP packet transport can be implemented using either Resource reSerVation Protocol (RSVP) P2MP - Traffic Engineering (P2MP-TE), or Multicast Label Distribution Protocol (MLDP) based Multicast VPN (MVPN). The MP2MP packet transport can be implemented only through MLDP based MVPN.

The packets are transported over three types of routers:

  • Head-end router: Encapsulates the IP packet with one or more labels.
  • Midpoint router: Replaces the in-label with an out-label.
  • Tail-end router: Removes the label from the packet.

Restrictions and Usage Guidelines

Follow these restrictions and usage guidelines while configuring LSM-MLDP-based MVPN support:

  • A head-end router does not support multiple sub Label Switched Paths (subLSPs) belonging to different tunnels, over the same physical interface.
  • RSVP-TE-based LSM is not supported; only MLDP-based LSM is supported.
  • Process-level software forwarding is not supported.
  • Rosen Model MLDP is not supported in the global configuration mode. However, MLDP inband signaling is supported in the global configuration mode.
  • These are the scale considerations for MLDP-based MVPN:
    • Maximum number of Multicast Virtual Route Forwardings (MVRFs) supported on each PE is 600.
    • Maximum number of m-route supported on each PE is 200,000.
    • Maximum number of OIF supported is 1000.
    • Maximum number of MLDP ingress labels (local labels) supported on each PE is 100,000.
    • Maximum number of MLDP egress labels (remote labels) supported on each PE is 100,000.
    • Max of 32 PE or P neighbors in a PE router per MDT, and max of 33 PE or P neighbors in a P router per MDT.
  • Supported content group modes are Protocol Independent Multicast (PIM) sparse mode (PIM-SM) and Source Specific Multicast (SSM) traffic.
  • Unsupported content group modes are PIM dense mode (PIM-DM) and bidirectional PIM (bidir-PIM) traffic.
  • The PIM-sparse content group mode is supported if the RP is configured behind the PE router (on CE). The RP and the source router have to be in the same VRF and PE site with the same RPF interface.
  • For RPF lookup in the context of the extranet, only the ip multicast rpf select command is supported for the configuration.
  • The MLDP provides only link protection with the FRR TE. Only single hop is supported with MLDP TE. However, the backup path can have multiple hops.
  • If you use MLDP to configure RSVP-TE with Fast Reroute, ensure that unidirectional tunnels are set up in each direction for incoming and outgoing traffic.

Configuring LSM-MLDP-based MVPN Support

Deployment of an LSM-MLDP-based MVPN involves configuring a default Multicast Distribution Trees (MDT) and one or more data MDTs.

A static default MDT is established for each multicast domain. The default MDT defines the path used by PE routers to send multicast data and control messages to other PE routers in the multicast domain. A default MDT is created in the core network using a single MP2MP LSP.

An MLDP-based MVPN also supports dynamic creation of data MDTs for high-bandwidth transmissions. For high-rate data sources, a data MDT is created using the P2MP LSPs to offload the traffic from the default MDT to avoid unnecessary wastage of bandwidth to PEs that are not a part of the stream. You can configure MLDP MVPN for both the intranet and the extranet.


Note

Before configuring MLDP-based MVPN, ensure that the MPLS is enabled on the core facing interface. For information on MPLS configuration, see the {start cross reference}Cisco IOS Multiprotocol Label Switching Configuration Guide{end cross reference}. Also, ensure that the BGP and any interior gateway protocol (OSPF or ISIS) is enabled on the core router.

Configuring MLDP MVPN Intranet Services

Complete these steps to configure MLDP MVPN for intranet:

  • Enabling MPLS MLDP
  • Configuring MVPN Routing and Forwarding instance
  • Configuring a VRF entry
  • Configuring the route distinguisher
  • Configuring VPN Id
  • Configuring the Route-Target extended community
  • Configuring the default MDT
  • Configuring Data MDTs (optional)
  • Configuring BGP MDT address family
  • Configuring BGP vpnv4 address family
  • Configuring BGP VRF address family
  • Configuring PIM SM/SSM mode for the VRFs

Note

See {start cross reference}Configuring the MDT Address Family in BGP for Multicast VPN{end cross reference} for information on configuring an MDT and vpnv4 address family session on the PE routers to establish MDT peering sessions for MVPN.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. mpls MLDP
  4. vrf definition vrf-name
  5. rd route-distinguisher
  6. vpn id vpn-id
  7. route-target import route-target-ext-community
  8. route-target export route-target-ext-community
  9. mdt default mpls MLDP root-node
  10. mdt data mpls MLDP numberofdataMDTs
  11. mdt data threshold bandwidth
  12. exit
  13. ip multicast-routing vrf vrf-name distributed
  14. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

mpls MLDP

Example:


Router(config)# mpls MLDP

Enables MPLS MLDP support.

Note 
The mpls MLDP command is configured by default. To disable MPLS MLDP, use the no mpls MLDP command.
Step 4

vrf definition vrf-name

Example:


Router(config)# ip vrf blue

Defines the VPN routing instance by assigning a VRF name, and enters the VRF configuration mode.

The vrf-name argument is the name assigned to a VRF.

Step 5

rd route-distinguisher

Example:


Router(config-vrf)# rd 10:3

Creates routing and forwarding tables. Specify the route-distinguisher argument to add an 8-byte value to create a VPN prefix.

You can enter an route-distinguisher value in either of these formats:

  • 16-bit autonomous system number: Your 16-bit number. For example, 101:3.
  • 32-bit IP address: Your 32-bit number. For example, 192.168.122.15:1.
Step 6

vpn id vpn-id

Example:


Router(config-vrf)# vpn id 10:3

Sets or updates a VPN identifier on a VRF.

Step 7

route-target import route-target-ext-community

Example:


Router(config-vrf)# route-target import 10:3

Creates a route-target extended community for a VRF.

  • The import keyword imports the routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 8

route-target export route-target-ext-community

Example:


Router(config-vrf)# route-target export 10:3

Creates a route-target extended community for a VRF.

  • The export keyword exports the routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 9

mdt default mpls MLDP root-node

Example:


Router(config-vrf)# mdt default mpls MLDP 2.2.2.2

Configures MLDP MDT for a VRF. The root node can be IP address of a loopback or physical interface on any router (source PE, receiver PE or core router) in the provider network. The root node address should be reachable by all the routers in the network. The router from where the signalling occurs functions as the root node.

The default MDT must be configured on each PE router to enable the PE routers to receive multicast traffic for this particular MVRF.

Note 
By default MPLS MLDP is enabled. To disable, use the no mpls MLDP command.
Note 
LSPVIF tunnel is created as a result of mdt default mpls MLDP root-node command.
Step 10

mdt data mpls MLDP numberofdataMDTs

Example:


Router(config-vrf)# mdt data mpls MLDP 100

Configures the MLDP data MDP.

Step 11

mdt data threshold bandwidth

Example:


Router(config-vrf)# mdt data threshold 20

Configures the threshold value for data MDT.

Note 
Bandwidth is traffic rate in Kb/s.
Step 12

exit

Example:


Router(config-vrf)# exit

Exits the configuration session.

Step 13

ip multicast-routing vrf vrf-name distributed

Example:


Router(config)# ip multicast-routing vrf blue distributed

Enables multicast routing for the specified VRF.

Step 14

end

Example:


Router(config)# end

Closes the configuration session.

What to do next


Note

See {start cross reference}Configuring the MDT Address Family in BGP for Multicast VPN{end cross reference} for information on configuring an MDT address family session on the PE routers to establish MDT peering sessions for MVPN.

Example

This example describes how to configure MLDP MVPN on an intranet:


Router> enable
Router# configure terminal
Router(config)# mpls MLDP
Router(config)# ip vrf blue
Router(config-vrf)# rd 10:3
Router(config-vrf)# vpn id 10:3
Router(config-vrf)# route-target import 10:3
Router(config-vrf)# route-target export 10:3
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
Router(config-vrf)# mdt data mpls MLDP 100
Router(config-vrf)# mdt data threshold 20
Router(config-vrf)# exit
Router(config)# ip multicast-routing vrf blue distributed
Router(config)# end

Verification

Use these commands to verify the LSM-MLDP-based MVPN support intranet configuration.

  • To check the MLDP neighbors, use the show mpls MLDP neighbors command:

Router# show mpls MLDP neighbors
MLDP peer ID    : 3.3.3.3:0, uptime 00:41:41 Up, 
  Target Adj     : Yes
  Session hndl   : 2
  Upstream count : 2
  Branch count   : 0
  Path count     : 1
  Path(s)        : 3.3.3.3           No LDP Tunnel20
  Nhop count     : 1
  Nhop list      : 3.3.3.3 
 MLDP peer ID    : 2.2.2.2:0, uptime 00:17:42 Up, 
  Target Adj     : No
  Session hndl   : 4
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 3.3.3.3           No LDP Tunnel20
  Nhop count     : 0
  • To check the PIM neighbors, use the show ip pim vrf vrf-name neighbor command:

Router# show ip pim vrf blue neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
3.3.3.3           Lspvif1                  00:06:21/00:01:17 v2    1 / DR S P G
  • To check the multicast routes for a given VRF, use show ip mroute vrf vrf_name verbose command:

Router# show ip mroute vrf blue verbose
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
(40.0.0.2, 232.0.1.4), 00:00:16/00:03:13, flags: sT
  Incoming interface: GigabitEthernet3/2/1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Lspvif1, LSM MDT: B0000004 (default), Forward/Sparse, 00:00:16/00:03:13
(*, 224.0.1.40), 00:47:09/00:02:56, RP 0.0.0.0, flags: DPL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null
  • To check the packet counters, use show ip mroute vrf vrf_name count command:

Router# show ip mroute vrf blue count
IP Multicast Statistics
2 routes using 1208 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.0.1.4, Source count: 1, Packets forwarded: 1333, Packets received: 1334
  Source: 40.0.0.2/32, Forwarding: 1333/20/46/7, Other: 1334/0/1
Group: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0
  • To check the MPLS forwarding, use show mpls forwarding-table command:

Router# show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop    
Label      Label      or Tunnel Id     Switched      interface 
16 Pop Label IPv4 VRF[V] 0 aggregate/blue 
17 Pop Label  IPv4 VRF[V] 0 aggregate/red 
18 [T] Pop Label  3.3.3.3/32 0 Tu20 point2point 
19 [T]  25 2.2.2.2/32 0 Tu20 point2point 
20 [T]  Pop Label 19.0.0.0/24 0 Tu20 point2point 
22 [T]  No Label [mdt 55:1111 0][V] \9422 aggregate/red
23 [T]  No Label [mdt 55:2222 0][V] \9708          aggregate/blue 
[T]     Forwarding through a LSP tunnel.
        View additional labelling info with the 'detail' option

Configuring MLDP MVPN for Extranet Services

You can configure MLDP MVPN for extranet services using these methods:

  • Source-Side Chaining (SSC): Configure the phantom receiver MVRF on the source-side router. Multicast routes with VRF Reverse Path Forwarding (RPF) loopup should be configured on the source PE.
  • Receiver-Side Chaining (RSC): Configure the phantom source MVRF on the receiver-side router. Multicast routes with VRF RPF loopup should be configured on the receiver VRF.

Configuring MLDP MVPN for Extranet using SSC

Complete these steps to configure the MLDP MVPN extranet support using SSC:

  • Configuring receiver MVRF on the source PE.
  • Configuring a loopback address in the receiver VRF on the source PE.
  • Configuring fallback multicast route for source address on source PE.
  • Configuring fallback multicast route for RP address on the source PE in case of SM mode.
  • Configuring static multicast route on recevier PE for loopback IP in the receiver VRF configured on the source PE.

Note

This configuration is based on the following figure. Configure multicast routes on the PE1 router.
Figure 1. MLDP Based MVPN Network

The followings are the detailed steps to configure MLDP MVPN for Extranet using SSC.

{start blocklabel}Configuration on the Source PE:{end blocklabel}

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. vrf definition vrf-name
  4. rd route-distinguisher
  5. vpn id vpn-id
  6. route-target import route-target-ext-community
  7. route-target export route-target-ext-community
  8. mdt default mpls MLDP root-node
  9. end
  10. interface type instance
  11. ip vrf forwarding vrf-name
  12. ip address ip-address subnet-mask
  13. exit
  14. ip multicast [vrf receiver-vrf-name] rpf select {global | vrf source-vrf-name} group-list access-list
  15. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

vrf definition vrf-name

Example:

Router(config)# vrf definition blue

Defines the VPN routing instance by assigning a VRF name argument, and enters the VRF configuration mode.

The vrf-name argument is the name assigned to a VRF.

Step 4

rd route-distinguisher

Example:

Router(config-if)# rd 10:4

Creates routing and forwarding tables. Specify the route-distinguisher argument to add an 8-byte value to create a VPN prefix.

You can enter an route-distinguisher value in either of these formats:

  • 16-bit autonomous system number: Your 16-bit number. For example, 101:3.
  • 32-bit IP address: Your 32-bit number. For example, 192.168.122.15:1.
Step 5

vpn id vpn-id

Example:

Router(config-if)# vpn id 10:4

Sets or updates a VPN identifier on a VRF.

Step 6

route-target import route-target-ext-community

Example:

Router(config-vrf)# route-target import 10:4

Creates a route-target extended community for a VRF.

  • The import keyword imports the routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 7

route-target export route-target-ext-community

Example:

Router(config-vrf)# route-target export 10:4

Creates a route-target extended community for a VRF.

  • The export keyword export the routing information to the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 8

mdt default mpls MLDP root-node

Example:

Router(config-vrf)# mdt default mpls MLDP 2.2.2.2

Configures MLDP multicast distribution tree (MDT) for a VRF.

Note 
LSPVIF tunnel is created as a result of this command.
Step 9

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Step 10

interface type instance

Example:

Router(config)# interface loopback 3

Enters interface configuration mode and names the new loopback interface.

Step 11

ip vrf forwarding vrf-name

Example:

Router(config-if)# ip vrf forwarding red

Associates a VRF instance with an interface or subinterface.

  • vrf-name is the name assigned to a VRF.
Step 12

ip address ip-address subnet-mask

Example:

Router(config-if)# ip address 1.1.1.1 255.255.255.255

Specifies the interface IP address and subnet mask.

  • ip-address specifies the IP address of the interface.
  • subnet-mask specifies the subnet mask of the interface.
Step 13

exit

Exits the interface configuration mode.

Step 14

ip multicast [vrf receiver-vrf-name] rpf select {global | vrf source-vrf-name} group-list access-list

Example:

Router(config)# ip multicast vrf red rpf select vrf blue

Configures Reverse Path Forwarding (RPF) lookups originating in a receiver Multicast VPN (MVPN) routing and forwarding (MVRF) instance, in the global routing table to be performed in a source MVRF instance, or in the global routing table based on group address.

The optional vrf keyword and receiver-vrf-name argument are used to apply a group-based VRF selection policy to RPF lookups originating in the VRF specified for the receiver-vrf-name argument. If the optional vrf keyword and receiver-vrf-name argument are not specified, the group-based VRF selection policy applies to RPF lookups originating from the global table.

Step 15

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Configuring MLDP MVPN for Extranet using SSC

{start blocklabel}Configuration on Receiver PE:{end blocklabel}

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. vrf definition vrf-name
  4. rd route-distinguisher
  5. vpn id vpn-id
  6. route-target import route-target-ext-community
  7. route-target export route-target-ext-community
  8. mdt default mpls MLDP root-node
  9. end
  10. interface type instance
  11. ip vrf forwarding vrf-name
  12. ip address ip-address subnet-mask
  13. exit
  14. ip mroute vrf receiver_vrf source_address subnet_mask loopback_ip
  15. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

vrf definition vrf-name

Example:

Router(config)# vrf definition blue

Defines the VPN routing instance by assigning a VRF name, and enters the VRF configuration mode.

The vrf-name argument is the name assigned to a VRF.

Step 4

rd route-distinguisher

Example:

Router(config-if)# rd 10:4

Creates routing and forwarding tables. Specify the route-distinguisher argument to add an 8-byte value to create a VPN prefix. You can enter an RD value in either of these formats:

  • 16-bit autonomous system number: Your 16-bit number. For example, 101:3.
  • 32-bit IP address: Your 32-bit IP address. For example, 192.168.122.15:1.
Step 5

vpn id vpn-id

Example:

Router(config-if)# vpn id 10:4

Sets or updates a VPN identifier on a VRF.

Step 6

route-target import route-target-ext-community

Example:

Router(config-vrf)# route-target import 10:4

Creates a route-target extended community for a VRF.

  • The import keyword imports the routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 7

route-target export route-target-ext-community

Example:

Router(config-vrf)# route-target export 10:4

Creates a route-target extended community for a VRF.

  • The export keyword exports the routing information to the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 8

mdt default mpls MLDP root-node

Example:

Router(config-vrf)# mdt default mpls MLDP 2.2.2.2

Configures MLDP multicast distribution tree (MDT) for a VRF.

Note 
LSPVIF tunnel is created as a result of this command.
Step 9

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Step 10

interface type instance

Example:

Router(config)# interface loopback 3

Enters interface configuration mode and names the new loopback interface.

Step 11

ip vrf forwarding vrf-name

Example:

Router(config-if)# ip vrf forwarding blue

Associates a VRF instance with an interface or subinterface.

  • vrf-name is the name assigned to a VRF.
Step 12

ip address ip-address subnet-mask

Example:

Router(config-if)# ip address 3.3.3.3 255.255.255.255

Specifies the interface IP address and subnet mask.

  • ip-address specifies the IP address of the interface.
  • subnet-mask specifies the subnet mask of the interface.
Step 13

exit

Exits the interface configuration mode.

Step 14

ip mroute vrf receiver_vrf source_address subnet_mask loopback_ip

Example:

Router(config-if)# ip mroute vrf red 40.0.0.0 255.255.255.0 1.1.1.1

Configures the static multicast routes for source addresses in the reciever VRF, where:

loopback ip is ip address of the loopback configured in the recevier VRF in the source PE.

Step 15

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Example

This is sample example for configuring MLDP MVPN for configuring extranet using SSC:

{start blocklabel}Configuration on the Source PE (Configure These Steps for Both Red and Blue VRFs){end blocklabel}


Router> enable
Router# configure terminal
Router(config)# ip vrf blue
Router(config-if)# rd 10:4
Router(config-if)# vpn id 10:4
Router(config-vrf)# route-target import 10:4
Router(config-vrf)# route-target export 10:4
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
Router(config-vrf)# end
Router(config)# interface loopback 3
Router(config-if)# ip vrf forwarding red
Router(config-if)# ip address 1.1.1.1 255.255.255.255
Router(config)# ip mroute vrf red 40.0.0.0 255.255.255.0 fallback-lookup vrf blue
Router(config)# ip mroute vrf red 44.44.44.44 255.255.255.0 fallback-lookup vrf blue
Router(config-vrf)# end

{start blocklabel}Configuration on the Receiver PE{end blocklabel}


Router> enable
Router# configure terminal
Router(config)# ip vrf blue
Router(config-if)# rd 10:4
Router(config-if)# vpn id 10:4
Router(config-vrf)# route-target import 10:4
Router(config-vrf)# route-target export 10:4
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
Router(config-vrf)# end
Router(config)# interface loopback 3
Router(config-if)# ip vrf forwarding blue
Router(config-if)# ip address 3.3.3.3 255.255.255.255 Remove
Router(config-if)# ip mroute vrf red 40.0.0.0 255.255.255.0 1.1.1.1
Router(config-vrf)# end

Configuring MLDP MVPN for Extranet Services using RSC

Complete these steps to configuring MLDP MVPN for extranet services using RSC:

  • Configuring the source mVRF on the receiver PE router.
  • Configuring RPF for MLDP based MVPN extranet support using static multicast routes on the receiver PE.

Note

Configure multicast routes on PE2 and PE3 routers.

{start blocklabel}Configuration on Source PE{end blocklabel}

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. vrf definition vrf-name
  4. rd route-distinguisher
  5. vpn id vpn-id
  6. route-target import route-target-ext-community
  7. route-target export route-target-ext-community
  8. mdt default mpls MLDP root-node
  9. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

vrf definition vrf-name

Example:

Router(config)# ip vrf blue

Defines the VPN routing instance by assigning a VRF name, and enters the VRF configuration mode.

The vrf-name argument is the name assigned to a VRF.

Step 4

rd route-distinguisher

Example:

Router(config-if)# rd 10:3

Creates routing and forwarding tables. Specify the route-distinguisher argument to add an 8-byte value to create a VPN prefix. You can enter an RD value in either of these formats:

  • 16-bit autonomous system number: Your 16-bit number. For example, 101:3.
  • 32-bit IP address: Your 32-bit number. For example, 192.168.122.15:1.
Step 5

vpn id vpn-id

Example:

Router(config-if)# vpn id 10:3

Sets or updates a VPN identifier on a VRF.

Step 6

route-target import route-target-ext-community

Example:

Router(config-vrf)# route-target import 10:3

Creates a route-target extended community for a VRF.

  • The import keyword imports routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 7

route-target export route-target-ext-community

Example:

Router(config-vrf)# route-target export 10:3

Creates a route-target extended community for a VRF.

  • The export keyword exports the routing information to the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 8

mdt default mpls MLDP root-node

Example:

Router(config-vrf)# mdt default mpls MLDP 2.2.2.2

Configures MLDP multicast distribution tree (MDT) for a VRF.

Note 
LSPVIF tunnel is created as a result of this command.
Step 9

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Configuring MLDP MVPN for Extranet Services using RSC

{start blocklabel}Configuration on Receiver PE{end blocklabel}

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. vrf definition vrf-name
  4. rd route-distinguisher
  5. vpn id vpn-id
  6. route-target import route-target-ext-community
  7. route-target export route-target-ext-community
  8. mdt default mpls MLDP root-node
  9. ip mroute [vrf receiver-vrf-name] source-address mask {fallback-lookup vrf source-vrf-name} [distance]
  10. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

vrf definition vrf-name

Example:

Router(config)# ip vrf blue

Defines the VPN routing instance by assigning a VRF name, and enters the VRF configuration mode.

The vrf-name argument is the name assigned to a VRF.

Step 4

rd route-distinguisher

Example:

Router(config-if)# rd 10:3

Creates routing and forwarding tables. Specify the route-distinguisher argument to add an 8-byte value to create a VPN prefix. You can enter an RD value in either of these formats:

  • 16-bit autonomous system number: Your 16-bit number. For example, 101:3.
  • 32-bit IP address: Your 32-bit number. For example, 192.168.122.15:1.
Step 5

vpn id vpn-id

Example:

Router(config-if)# vpn id 10:3

Sets or updates a VPN identifier on a VRF.

Step 6

route-target import route-target-ext-community

Example:

Router(config-vrf)# route-target import 10:3

Creates a route-target extended community for a VRF.

  • The import keyword imports routing information from the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 7

route-target export route-target-ext-community

Example:

Router(config-vrf)# route-target export 10:3

Creates a route-target extended community for a VRF.

  • The export keyword exports the routing information to the target VPN extended community.
  • The route-target-ext-community argument adds the route-target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 8

mdt default mpls MLDP root-node

Example:

Router(config-vrf)# mdt default mpls MLDP 2.2.2.2

Configures MLDP multicast distribution tree (MDT) for a VRF.

Note 
LSPVIF tunnel is created as a result of this command.
Step 9

ip mroute [vrf receiver-vrf-name] source-address mask {fallback-lookup vrf source-vrf-name} [distance]

Example:

Router(config)# ip mroute vrf red 40.0.0.0 255.255.255.0 fallback-lookup vrf blue

Configures RPF lookups originating in a receiver MVRF or in the global routing table to be resolved in a source MVRF or in the global routing table based on group address. Use this command on the receiver PE.

  • The optional vrf keyword and receiver-vrf-name argument are used to apply a group-based VRF selection policy to RPF lookups originating in the VRF specified for the receiver-vrf-name argument. If the optional vrf keyword and receiver-vrf-name argument are not specified, the group-based VRF selection policy applies to RPF lookups originating in the global table.
Step 10

end

Example:

Router(config-vrf)# end

Closes the configuration session.

Example

This is sample example for configuring MLDP MVPN for configuring extranet using RSC:

{start blocklabel}Configuration on Source PE:{end blocklabel}


Router# enable
Router# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# ip vrf blue1
Router(config-if)# rd 10:3
Router(config-if)# vpn id 10:3
Router(config-vrf)# route-target import 10:3
Router(config-vrf)# route-target export 10:3
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
mdt default mpls MLDP root-node
Router(config-if)# end
Router(config)# ip mroute vrf red 40.0.0.0 255.255.255.0 fallback-lookup vrf blue
Router(config-if)# end

{start blocklabel}Configuration on Receiver PE:{end blocklabel}


Router# enable
Router# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# ip vrf blue1
Router(config-if)# rd 10:3
Router(config-if)# vpn id 10:3
Router(config-vrf)# route-target import 10:3
Router(config-vrf)# route-target export 10:3
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
Router(config)# ip mroute vrf red 40.0.0.0 255.255.255.0 fallback-lookup vrf blue
Router(config-if)# end

Configuring MLDP TE-FRR Support

TE-FRR provides link protection, however TE-FRR on MLDP provides link protection only for the single hop primary path. Node protection is not supported.These are the highlights:

  • Backup tunnel support
  • Backup bandwidth protection

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ip multicast mpls traffic-eng [range {access-list-number | access-list-name}]
  4. mpls MLDP path traffic-eng
  5. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password when prompted.
Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

ip multicast mpls traffic-eng [range {access-list-number | access-list-name}]

Example:


Router(config)# ip multicast mpls traffic-eng

Enables IP multicast traffic on a tail end router enabled with MPLS TE P2MP functionality.

Step 4

mpls MLDP path traffic-eng

Example:


Router(config)# mpls MLDP path traffic-en

Configures MLDP to use traffic-eng tunnels.

Step 5

end

Example:


Router(config)# end

Closes the configuration session.

Configuring MLDP with PIM-based MVPN

MLDP with PIM-based MVPN supports MLDP coexistence with a PIM-based MVPN deployment. Using this feature, you can gradually introduce MLDP in an existing PIM-based MVPN environment, facilitating phased migration towards a complete LSM-based MVPN network infrastructure. If both the MLDP-based MVPN and GRE-based MVPN are configured, MDT selects PIM based MVPN by default. Configure the precedence for MLDP MVPN and PIM based MVPN using the mdt preference option1 option2 command. This example sets MLDP MVPN precedence over PIM based MVPN:


Router(config-vrf)# mdt preference MLDP pim

MLDP Support with Load Balancing

MLDP supports load balancing of multicast traffic with Equal Cost Multipath (ECMP) links. For Load balancing to work with MLDP, use the disable mpls MLDP forwarding recursive command, which is enabled by default. Also, ensure that the mpls MLDP path multipath command is enabled for load balancing to function as expected.

Root Node Redundancy

Configure multiple root nodes in the network using the mdt default mpls MLDP ip_address command. The control plane builds a corresponding tree with root at the configured node to enable efficient forwarding. A node in the network selects the nearest root for optimal bandwidth usage. Also, in case a root node is unreachable (due to link failure, or router crash), the node switches to the next available root.

This example describes the root node redundancy configuration:


Router(config)# ip vrf blue1
Router(config-if)# rd 10:3
Router(config-if)# vpn id 10:3
Router(config-vrf)# route-target import 10:3
Router(config-vrf)# route-target export 10:3
Router(config-vrf)# mdt default mpls MLDP 2.2.2.2
Router(config-vrf)# mdt default mpls MLDP 5.5.5.5

Verification

Use these commands to verify the LSM-MLDP-based MVPN support configuration.

  • To check the MLDP neighbors, use the show mpls MLDP neighbors command:

Router# show mpls MLDP neighbors
MLDP peer ID    : 3.3.3.3:0, uptime 00:41:41 Up, 
  Target Adj     : Yes
  Session hndl   : 2
  Upstream count : 2
  Branch count   : 0
  Path count     : 1
  Path(s)        : 3.3.3.3           No LDP Tunnel20
  Nhop count     : 1
  Nhop list      : 3.3.3.3 
 MLDP peer ID    : 2.2.2.2:0, uptime 00:17:42 Up, 
  Target Adj     : No
  Session hndl   : 4
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 3.3.3.3           No LDP Tunnel20
  Nhop count     : 0
  • To check the PIM neighbors, use the show ip pim vrf vrf_name neighbor command:

Router# show ip pim vrf blue neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
3.3.3.3           Lspvif1                  00:06:21/00:01:17 v2    1 / DR S P G
  • To check the multicast routes for a given VRF, use show ip mroute vrf vrf_name verbose command:

Router# show ip mroute vrf blue verbose
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
(40.0.0.2, 232.0.1.4), 00:00:16/00:03:13, flags: sT
  Incoming interface: GigabitEthernet3/2/1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Lspvif1, LSM MDT: B0000004 (default), Forward/Sparse, 00:00:16/00:03:13
(*, 224.0.1.40), 00:47:09/00:02:56, RP 0.0.0.0, flags: DPL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null
  • To check the packet counters, use show ip mroute vrf vrf_name count command:

Router# show ip mroute vrf blue count
IP Multicast Statistics
2 routes using 1208 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.0.1.4, Source count: 1, Packets forwarded: 1333, Packets received: 1334
  Source: 40.0.0.2/32, Forwarding: 1333/20/46/7, Other: 1334/0/1
Group: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0
  • To check the MFIB output and whether hardware switching or software switching is enabled, use show ip mfib vrf vrf_name group_address verbose command:

Router# show ip mfib vrf blue 232.0.1.4 verbose
Entry Flags:    C - Directly Connected, S - Signal, IA - Inherit A flag,
                ET - Data Rate Exceeds Threshold, K - Keepalive
                DDE - Data Driven Event, HW - Hardware Installed
I/O Item Flags: IC - Internal Copy, NP - Not platform switched,
                NS - Negate Signalling, SP - Signal Present,
                A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward,
                MA - MFIB Accept
Platform per slot HW-Forwarding Counts: Pkt Count/Byte Count
Platform Entry flags: HF - Hardware Forwarding, NP - Not platform switched,
                      PF - Partial Hardware Forwarding
Platform Interface flags: HW - Hardware Switched, NP - Not platform switched
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second
Other counts:      Total/RPF failed/Other drops
I/O Item Counts:   FS Pkt Count/PS Pkt Count
VRF blue
 (40.0.0.2,232.0.1.4) Flags: K HW
   Platform Flags:  HW
   Slot 6: HW Forwarding: 912/41952, Platform Flags:  HF
   SW Forwarding: 0/0/0/0, Other: 1/0/1
   HW Forwarding:   912/20/46/7, Other: 0/0/0
   GigabitEthernet3/2/1 Flags: RA A MA
     Platform Flags: 
   Lspvif1, LSM/B0000004 Flags: RF F NS
     Platform Flags:  HW
     CEF: Mid chain adjacency
     Pkts: 0/0
  • To check the labels, use show mpls forwarding-table command:

Router# show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop    
Label      Label      or Tunnel Id     Switched      interface 
16 Pop Label IPv4 VRF[V] 0 aggregate/blue 
17 Pop Label  IPv4 VRF[V] 0 aggregate/red 
18 [T] Pop Label  3.3.3.3/32 0 Tu20 point2point 
19 [T]  25 2.2.2.2/32 0 Tu20 point2point 
20 [T]  Pop Label 19.0.0.0/24 0 Tu20 point2point 
22 [T]  No Label [mdt 55:1111 0][V] \9422 aggregate/red
23 [T]  No Label [mdt 55:2222 0][V] \9708          aggregate/blue 
[T]     Forwarding through a LSP tunnel.
        View additional labelling info with the 'detail' option
  • To display all the Replicate Output Chain Element (Replicate OCE) on the Forwarding Manager (FMAN) RP, use show platform software mpls rp act-status replicate command.

Router#show platform software mpls rp active replicate
Replicate-oce-list: 0x400000d2 (1 OCEs)
  OM: 0x42269b64
Replicate-oce-list: 0x400000d3 (1 OCEs)
  OM: 0x43ba2aec
Replicate-oce-list: 0x400000d4 (0 OCEs)
  OM: 0x422659bc
Replicate-oce-list: 0x400000d5 (0 OCEs)
  OM: 0x422658ac
  • To display the Replicate OCE with the specified index value on FMAN RP, use show platform software mpls rp act-status replicate index index-value command.

Note

You should run “show platform software mpls rp active replicate” first to see the all the replicated OCE on the FMAN RP.

Router#show platform software mpls fp active replicate
Replicate-oce-list: 0x84 (1 OCEs)
  AOM obj: 478, HW list: 0x11b19610 (created)
Router#show platform software mpls rp active replicate index 0x84 Replicate-oce-list entries
 OCE             Type             Misc Info
------------------------------------------------------------------------------------
 0xa3            OBJ_LABEL        aom id: 494, HW info: 0x11b19e40
(created) 
  • To display all the replicated OCE on the FMAN FP, use show platform software mpls fp act-status replicate command.

Router#show platform software mpls fp active replicate
Replicate-oce-list: 0x400000d2 (1 OCEs)
  AOM obj: 352887, HW list: 0x11a65628 (created)
Replicate-oce-list: 0x400000d3 (1 OCEs)
  AOM obj: 352889, HW list: 0x10d4a518 (created)
Replicate-oce-list: 0x400000d4 (0 OCEs)
  AOM obj: 352891, HW list: 0x139e3d90 (created)
Replicate-oce-list: 0x400000d5 (0 OCEs)
  AOM obj: 352894, HW list: 0x139e7cb8 (created)
  • To display the complete OCE chain used for forwarding traffic to a particular IPv4 multicast address, use show platform hardware qfp active feature multicast v4mcast ip-address-mgroup ip-address-source vrf vrf-id extension command.

Router#show platform hardware qfp active feature multicast v4mcast 239.1.1.1/32 vrf 2 extension
Root: 0x1187fc58
Flags: 0x000002
First leaf: 0x11887fa8
Number of nodes: 1
Number of leaves: 3
RPF i/f: 0x01fff7
Punt limit counter: 200
NS DCS Punt limit: 0x000001
RPF Fast Convergence Flags: 00000000
Secondary RPF interface: 00000000
RPF Fast Convergence Timer: 0
Extended leaf address: 0x89f80060
Node: 0x1187fc58
Cumulative Free Space: : 4
Cumulative Weight: : 3
Number of Children: : 3
Hw Addr: : 0x8b969440
Node Flags: : 0x000004
Software Child Ptr: : 0x1187fce0, 0x1187fd60, 0x11887fa8, 00000000
00000000, 00000000, 00000000
Hardware Child Ptr: : 0x89f8e440, 0x89f8e450, 0x89f8e460, 00000000
00000000, 00000000, 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11884b48
HW OCE chain ptr: 0x895d59a0
OCE Type: Adjacency, Number of children: 1
Adj Type: : IPV4 Adjacency
Encap Len: : 0
L3 MTU: : 9216
Adj Flags: : 64
Fixup Flags: : 0
Interface Name: Lspvif0
Next Hop Address: : 00000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 0x895d5940
OCE Type: REPLICATE OCE, Number of children: 1
Replica_node: : 0x89fab440
Next HW OCE Ptr: : 0x895d5ab0
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 17
Out Backup Labels: : 0
Next HW OCE Ptr: : 0x895d5a70
OCE Type: Label OCE, Number of children: 1
Label flags: : 65
Num Labels: : 1
Num Bk Labels: : 0
Out Labels: : 3
Next HW OCE Ptr: : 0x895d59f0
OCE Type: Adjacency, Number of children: 0
Adj Type: : MPLS Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 0
Interface Name: GigabitEthernet0/1/0
Encap: : 00 24 14 f4 9d 00 00 21 d8 d4 a5 10 88 47
Next Hop Address: : 0b000002 00000000 00000000 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000002
SW OCE chain ptr: 0x118830d0
HW OCE chain ptr: 0x895d58f0
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV4 Adjacency
Encap Len: : 20
L3 MTU: : 1480
Adj Flags: : 0
Fixup Flags: : 2
Interface Name: Tunnel1
Encap: : 45 00 00 00 00 00 00 00 ff 67 39 94 c0 00 01 01
c0 00 01 01
Next Hop Address: : 00000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x1186c250
HW OCE chain ptr: 0x895d5650
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV4 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/2
Encap: : 01 00 5e 00 00 00 00 21 d8 d4 a5 12 08 00
Next Hop Address: : e1000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x1186d478
HW OCE chain ptr: 0x895d5660
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV4 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/4
Encap: : 01 00 5e 00 00 00 00 21 d8 d4 a5 14 08 00
Next Hop Address: : e1000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
  • To display the complete OCE chain used for forwarding traffic to a particular IPv6 multicast address, use show platform hardware qfp active feature multicast v6mcast ip-address-mgroup ip-address-source vrf vrf-id extension command.

Router#show platform hardware qfp active feature multicast v6mcast FF04::10/128 vrf 503316482 extension
Root: 0x11b6c700
Flags: 0x000002
First leaf: 0x11e55bc8
Number of nodes: 1
Number of leaves: 3
RPF i/f: 0x01fff3
Punt limit counter: 200
NS DCS Punt limit: 0x000001
RPF Fast Convergence Flags: 00000000
Secondary RPF interface: 00000000
RPF Fast Convergence Timer: 0
Extended leaf address: 0x8ba18c90
Node: 0x11b6c700
Cumulative Free Space: : 4
Cumulative Weight: : 3
Number of Children: : 3
Hw Addr: : 0x8ba06c60
Node Flags: : 0x000004
Software Child Ptr: : 0x11b6dcb0, 0x11b6e0b0, 0x11e55bc8, 00000000
00000000, 00000000, 00000000
Hardware Child Ptr: : 0x8ba24060, 0x8ba24070, 0x8ba245f0, 00000000
00000000, 00000000, 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11b71af0
HW OCE chain ptr: 0x895ffa40
OCE Type: Adjacency, Number of children: 1
Adj Type: : IPV6 Adjacency
Encap Len: : 0
L3 MTU: : 9216
Adj Flags: : 64
Fixup Flags: : 0
Interface Name: Lspvif0
Next Hop Address: : 00000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 0x895ffa20
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 2
Out Backup Labels: : 2
Next HW OCE Ptr: : 0x895ff9f0
OCE Type: Adjacency, Number of children: 1
Adj Type: : MPLS Adjacency
Encap Len: : 0
L3 MTU: : 9216
Adj Flags: : 64
Fixup Flags: : 0
Interface Name: Lspvif0
Next Hop Address: : 00000000 00000000 00000000 00000000
Next HW OCE Ptr: : 0x895ff980
OCE Type: REPLICATE OCE, Number of children: 1
Replica_node: : 0x8ba51060
Next HW OCE Ptr: : 0x895ffa60
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 17
Out Backup Labels: : 0
Next HW OCE Ptr: : 0x895ff7b0
OCE Type: Adjacency, Number of children: 0
Adj Type: : MPLS Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 0
Interface Name: GigabitEthernet0/1/0
Encap: : 00 24 14 f4 9d 00 00 21 d8 d4 a5 10 88 47
Next Hop Address: : 0b000002 00000000 00000000 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11b6b800
HW OCE chain ptr: 0x895ff6a0
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV6 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/2
Encap: : 33 33 00 00 00 00 00 21 d8 d4 a5 12 86 dd
Next Hop Address: : ff0e0000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11b6ba08
HW OCE chain ptr: 0x895ff6e0
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV6 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/4
Encap: : 33 33 00 00 00 00 00 21 d8 d4 a5 14 86 dd
Next Hop Address: : ff0e0000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x00000a
SW OCE chain ptr: 0x11b6de20
HW OCE chain ptr: 0x895ff770
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV6 Adjacency
Encap Len: : 4
L3 MTU: : 1460
Adj Flags: : 2
Fixup Flags: : 2
Interface Name: Tunnel5
Encap: : f8 00 01 47
Next Hop Address: : 00000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
Root: 0x11e4f428
Flags: 00000000
First leaf: 0x11e51b90
Number of nodes: 1
Number of leaves: 3
RPF i/f: 0x0003fd
Punt limit counter: 200
NS DCS Punt limit: 0x000001
RPF Fast Convergence Flags: 00000000
Secondary RPF interface: 00000000
RPF Fast Convergence Timer: 0
Extended leaf address: 0x8ba21210
Node: 0x11e4f428
Cumulative Free Space: : 4
Cumulative Weight: : 3
Number of Children: : 3
Hw Addr: : 0x8ba0c560
Node Flags: : 0x000004
Software Child Ptr: : 0x11e424b8, 0x11e332b8, 0x11e51b90, 00000000
Root: 0x11e50f20
Flags: 00000000
First leaf: 0x11e51b90
Number of nodes: 1
Number of leaves: 3
RPF i/f: 0x0003fd
Punt limit counter: 200
NS DCS Punt limit: 0x000001
RPF Fast Convergence Flags: 00000000
Secondary RPF interface: 00000000
RPF Fast Convergence Timer: 0
Extended leaf address: 0x8ba212a0
Node: 0x11e50f20
Cumulative Free Space: : 4
Cumulative Weight: : 3
Number of Children: : 3
Hw Addr: : 0x8ba0c560
Node Flags: : 0x000004
Software Child Ptr: : 0x11e424b8, 0x11e56f98, 0x11e51b90, 00000000
00000000, 00000000, 00000000
Hardware Child Ptr: : 0x8ba247a0, 0x8ba24750, 0x8ba24740, 00000000
00000000, 00000000, 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11b6ba08
HW OCE chain ptr: 0x895ff6e0
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV6 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/4
Encap: : 33 33 00 00 00 00 00 21 d8 d4 a5 14 86 dd
Next Hop Address: : ff0e0000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000009
SW OCE chain ptr: 0x11b71af0
HW OCE chain ptr: 0x895ffa40
OCE Type: Adjacency, Number of children: 1
Adj Type: : IPV6 Adjacency
Encap Len: : 0
L3 MTU: : 9216
Adj Flags: : 64
Fixup Flags: : 0
Interface Name: Lspvif0
Next Hop Address: : 00000000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 0x895ffa20
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 2
Out Backup Labels: : 2
Next HW OCE Ptr: : 0x895ff9f0
OCE Type: Adjacency, Number of children: 1
Adj Type: : MPLS Adjacency
Encap Len: : 0
L3 MTU: : 9216
Adj Flags: : 64
Fixup Flags: : 0
Interface Name: Lspvif0
Next Hop Address: : 00000000 00000000 00000000 00000000
Next HW OCE Ptr: : 0x895ff980
OCE Type: REPLICATE OCE, Number of children: 1
Replica_node: : 0x8ba51060
Next HW OCE Ptr: : 0x895ffa60
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 17
Out Backup Labels: : 0
Next HW OCE Ptr: : 0x895ff7b0
OCE Type: Adjacency, Number of children: 0
Adj Type: : MPLS Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 0
Interface Name: GigabitEthernet0/1/0
Encap: : 00 24 14 f4 9d 00 00 21 d8 d4 a5 10 88 47
Next Hop Address: : 0b000002 00000000 00000000 00000000
Next HW OCE Ptr: : 00000000
OCE Flags: : 0x000003
SW OCE chain ptr: 0x11b6b800
HW OCE chain ptr: 0x895ff6a0
OCE Type: Adjacency, Number of children: 0
Adj Type: : IPV6 Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 64
Interface Name: GigabitEthernet0/1/2
Encap: : 33 33 00 00 00 00 00 21 d8 d4 a5 12 86 dd
Next Hop Address: : ff0e0000 00000000 00000000 00000000
Lisp locator status: : 00000000
Next HW OCE Ptr: : 00000000
  • To display the complete OCE chain used for handling incoming MPLS packets with the particular label, use show platform hardware qfp active feature cef-mpls prefix mpls mpls-lable exact command.

Router# show platform hardware qfp active feature cef-mpls prefix mpls 17 exact
Gtrie Node Type: Leaf Node
HW Content: : 0a000000 00000f00 00000000 8bb08a30
QPPB QoS Precedence valid: 0
QoS Precedence: 0
QPPB QoS Group valid: 0
QoS Group: 0
BGPPA Traffic Index valid: 0
BGPPA Traffic Index: 0
TBLF refcount: 2
TBLF application lf handle: 0
CTS src_sgt: 0
CTS dst_sgt: 0
Prefix Length: 20
Prefix: 00 0d 00
Lisp local eid: 0
Lisp remote eid: 0
Lisp locator status bits: 0
Lisp dynamic configured eid: 0
Lisp dynamic discovered eid: 0
OCE Type: EOS OCE, Number of children: 2
Next HW OCE Ptr: : 0x8bb07e10, 0x8bb07e00
OCE Type: REPLICATE OCE, Number of children: 2
Replica_node: : 0x8ca90a20
Next HW OCE Ptr: : 0x8bb07eb0, 0x8bb08840
OCE Type: Label OCE, Number of children: 1
Label flags: : 64
Num Labels: : 1
Num Bk Labels: : 0
Out Labels: : 1048577
Next HW OCE Ptr: : 0x8bb07e60
OCE Type: Interface OCE, Number of children: 1
Next HW OCE Ptr: : 0x8bb07e40
Interface Name: Lspvif20
OCE Type: Lookup OCE, Number of children: 0
Lookup flags: : 1
Table Type: : 0
Lookup table ID: : 0
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 88
Out Backup Labels: : 0
Next HW OCE Ptr: : 0x8bb06ca0
OCE Type: Adjacency, Number of children: 0
Adj Type: : MPLS Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 0
Interface Name: GigabitEthernet0/1/0
Encap: : 00 0e 39 88 70 19 00 21 d8 60 c0 10 88 47
Next Hop Address: : 0f000001 00000000 00000000 00000000
Next HW OCE Ptr: : 00000000
OCE Type: REPLICATE OCE, Number of children: 2
Replica_node: : 0x8ca90a00
Next HW OCE Ptr: : 0x8bb07e70, 0x8bb08840
OCE Type: Label OCE, Number of children: 1
Label flags: : 64
Num Labels: : 1
Num Bk Labels: : 0
Out Labels: : 1048577
Next HW OCE Ptr: : 0x8bb07e50
OCE Type: Interface OCE, Number of children: 1
Next HW OCE Ptr: : 0x8bb001f0
Interface Name: Lspvif20
OCE Type: Lookup OCE, Number of children: 0
Lookup flags: : 0
Table Type: : 1
Lookup table ID: : 2
OCE Type: Label OCE, Number of children: 1
Label flags: : 0
Num Labels: : 1
Num Bk Labels: : 1
Out Labels: : 88
Out Backup Labels: : 0
Next HW OCE Ptr: : 0x8bb06ca0
OCE Type: Adjacency, Number of children: 0
Adj Type: : MPLS Adjacency
Encap Len: : 14
L3 MTU: : 1500
Adj Flags: : 0
Fixup Flags: : 0
Interface Name: GigabitEthernet0/1/0
Encap: : 00 0e 39 88 70 19 00 21 d8 60 c0 10 88 47
Next Hop Address: : 0f000001 00000000 00000000 00000000
Next HW OCE Ptr: : 00000000

Sample Configuration for MLDP MVPN

You can configure MLDP MVPN in these two modes:

  • Source Specific Mode (SSM)
  • Sparse Mode (SM)

Configuration Example Using SSM Mode

Consider these scenarios while configuring MLDP MVPN using SSM mode:

  • MLDP MVPN Extranet SSC
  • MLDP MVPN Extranet RSC
  • MLDP MVPN Intranet

MLDP MVPN Extranet SSC

{start blocklabel}Configuration on PE1 Router (Source PE):{end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red2 
ip multicast-routing vrf red3 
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 101.3.0.2 255.255.255.255
 ip pim sparse-mode
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
ip pim vrf red2 ssm default
ip pim vrf red3 ssm default
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2

{start blocklabel}Configuration on PE Router:{end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family

{start blocklabel}Configuration on PE2 Router (Receiver PE):{end blocklabel}


ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 102.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red3 ssm default
ip mroute vrf red3 12.2.0.0 255.255.0.0 101.3.0.2

{start blocklabel}Configuration on PE3 Router (Receiver PE){end blocklabel}


ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 103.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red3 ssm default
ip mroute vrf red3 12.2.0.0 255.255.0.0 101.3.0.2

MLDP MVPN Extranet RSC

{start blocklabel}Configuration on PE1 Router (Source PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 ssm default

{end blocklabel}Configuration on P Router (Core Router){end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
!
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
 mls qos trust dscp
!
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family
!

{start blocklabel}Configuration ond PE2 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 102.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 102.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red3 ssm default
ip pim vrf red2 ssm default
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2

{start blocklabel}Configuration on PE3 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 103.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 103.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red3 ssm default
ip pim vrf red2 ssm default
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2

MLDP MVPN Intranet

{srart blocklabel}Configuration ond PE1 Router (Source PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 ssm default

{srart blocklabel}Configuration on P Router (Core Router){end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
!
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
 mls qos trust dscp
!
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family
!

{start blocklabel}Configuration on PE2 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 102.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 ssm default
!

{start blocklabel}Configuration on PE3 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 103.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red2 ssm default
!

Configuration Example Using SM Mode

Consider these scenarios while configuring MLDP MVPN using SSM mode:

  • MLDP MVPN Extranet SSC
  • MLDP MVPN Extranet RSC
  • MLDP MVPN Intranet

MLDP MVPN Extranet SSC

{start blocklabel}Configuration on PE1 Router (Source PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red2 
ip multicast-routing vrf red3 
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 101.3.0.2 255.255.255.255
 ip pim sparse-mode
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
ip pim vrf red2 rp-address 11.11.11.11
ip pim vrf red3 rp-address 11.11.11.11
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2
ip mroute vrf red3 11.11.11.11 255.255.0.0 fallback-lookup vrf red2

{start blocklabel}Configuration on P Router{end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family

{start blocklabel}Configuration on PE2 Router (Receiver PE){end blocklabel}


ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 102.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red3 rp-address 11.11.11.11
ip mroute vrf red3 12.2.0.0 255.255.0.0 101.3.0.2

{start blocklabel}Configuraton on PE3 Router (Receiver PE){end blocklabel}


ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 103.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red3 rp-address 11.11.11.11
ip mroute vrf red3 12.2.0.0 255.255.0.0 101.3.0.2

MLDP MVPN Extranet RSC

{start blocklabel}Configuration on PE1 Router (Source PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11

{start blocklabel}Configuration on P Router (Core Router){end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
!
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
 mls qos trust dscp
!
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family
!

{start blocklabel}Configuration ond PE2 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 102.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 102.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11
ip pim vrf red3 rp-address 11.11.11.11
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2
ip mroute vrf red3 11.11.11.11 255.255.255.255 fallback-lookup vrf red2

{start blocklabel}Configuration on PE3 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip vrf red3
 rd 10:3
 vpn id 10:3
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:3
 route-target import 10:3
!
ip multicast-routing 
ip multicast-routing vrf red3 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 103.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback103
 ip vrf forwarding red3
 ip address 103.3.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.3
 encapsulation dot1Q 3
 ip vrf forwarding red3
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red3
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11
ip pim vrf red3 rp-address 11.11.11.11
ip mroute vrf red3 12.2.0.0 255.255.0.0 fallback-lookup vrf red2
ip mroute vrf red3 11.11.11.11 255.255.255.255 fallback-lookup vrf red2

MLDP MVPN Intranet

{start blocklabel}Configuration ond PE1 Router (Source PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 101.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet1/22.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 12.2.0.1 255.255.0.0
 ip pim sparse-mode
!
interface TenGigabitEthernet8/1
 ip address 10.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11

{start blocklabel}Configuration ond P Router (Core Router){end blocklabel}


interface Loopback1
 ip address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet2/10
 ip address 20.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet2/20
 ip address 30.1.1.2 255.255.255.0
 ip ospf 1 area 0
 mpls ip
 mpls label protocol ldp
!
interface TenGigabitEthernet4/0/0
 ip address 10.1.1.2 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 mpls ip
 mpls label protocol ldp
 mls qos trust dscp
!
router ospf 1
 router-id 4.4.4.4
 network 4.4.4.4 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 2.2.2.2 remote-as 100
 neighbor 3.3.3.3 remote-as 100
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 3.3.3.3 activate
  no auto-summary
 exit-address-family
!

{start blocklabel}Configuration on PE2 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 102.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet4/0/0
 ip address 20.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
interface GigabitEthernet4/0/1.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 22.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 3.3.3.3 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 3.3.3.3 remote-as 100
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11
!

{start blocklabel}Configuration on PE3 Router (Receiver PE){end blocklabel}


ip vrf red2
 rd 10:2
 vpn id 10:2
 mdt default mpls MLDP 4.4.4.4
 mdt data mpls MLDP 100
 mdt data threshold 20
 route-target export 10:2
 route-target import 10:2
!
ip multicast-routing 
ip multicast-routing vrf red2 
!
interface Loopback1
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Loopback102
 ip vrf forwarding red2
 ip address 103.2.0.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet3/2/0.2
 encapsulation dot1Q 2
 ip vrf forwarding red2
 ip address 32.2.0.1 255.255.0.0
 ip pim sparse-mode
 ip igmp version 3
!
interface GigabitEthernet3/2/1
 ip address 30.1.1.1 255.255.255.0
 ip ospf 1 area 0
 load-interval 30
 negotiation auto
 mpls ip
 mpls label protocol ldp
!
router ospf 1
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 update-source Loopback1
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback1
 !
 address-family ipv4
  neighbor 1.1.1.1 activate
  neighbor 2.2.2.2 activate
  neighbor 4.4.4.4 activate
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 mdt
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red2
  redistribute static
  redistribute connected
  neighbor 1.1.1.1 remote-as 100
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
  neighbor 2.2.2.2 remote-as 100
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
 exit-address-family
!
ip pim vrf red2 rp-address 11.11.11.11
!

Troubleshooting LSM MLDP based MVPN Support

Use these debug commands to troubleshoot the LSM MLDP based MVPN support on the Cisco ASR 1000 Series Aggregation Services Routers.

Command

Purpose

debug mpls MLDP packet

debug mpls MLDP neighbor

debug mpls MLDP all

Used for MLDP debugging [RP].

debug ip igmp vrf blue

Used for IGMP debugs.

debug ip pim vrf blue hello

debug ip pim vrf blue timer

debug ip pim vrf blue bsr

debug ip pim vrf blue auto-rp

Used for PIM debugs [RP].

debug mpls infra lfd mfi

Used for IOS layer debugs.

deb pl so mpls

Used for IOSD shim layer debugs.

configure terminal

platform trace [run|boot] slot [f0|f1|r0|r1] bay 0 process for mod cef level [debug|verbose ]

end

Used for FMAN-RP/FMAN-FP.

debug platform hardware qfp active feature cef-mpls client mpls all

Used for QFP client.

debug platform hardware qfp active feature cef-mpls datapath mpls all

Used for QFP server.

MVPN MLDP over GRE

The Multicast Label Distribution Protocol- based Multicast VPN (MVPN) feature supports IPv4 and IPv6 multicast traffic over a Multi-Protocol Label Switching (MPLS) network. But a large part of the network infrastructure is still IP network, and the legacy IP network does not support MPLS. The existing MPLS over Generic Routing Encapsulation (GRE) feature provides a mechanism for tunneling MPLS packets over a non-MPLS network by creating a GRE tunnel across the IP network and bridging the separated MPLS networks. However, the existing MPLS over GRE feature does not support MPLS multicast traffic. The MVPN MLDP over GRE feature provides a solution by supporting encapsulating MPLS multicast traffic in the GRE tunnel.

The following figure shows a sample configuration for MVPN Multicast Label Distribution Protocol over GRE using the PE-PE network topology.

Figure 2. MVPN MLDP over GRE with PE-PE Network Topology

Prerequisites for MVPN MLDP over GRE

  • Ensure that MPLS Virtual Private Network (MVPN) is configured and working properly. For information about setting up MPLS VPNs, see:

{start hypertext}http://www.cisco.com/en/US/docs/ios-xml/ios/mp_l3_vpns/configuration/xe-3s/asr1000/mp-cfg-layer3-vpn.html{end hypertext}

  • Ensure that Multiprotocol Border Gateway Protocol (MP-BGP) is configured and working properly. For more information about configuring (MP-BGP), see:

{start hypertext}http://www.cisco.com/en/US/docs/ios-xml/ios/mp_l3_vpns/configuration/xe-3s/asr1000/mp-bgp-mpls-vpn.html{end hypertext}

Restrictions for MVPN MLDP over GRE

The following are the restrictions that you will encounter while configuring the MVPN MLDP over GRE feature:

  • MVPN MLDP over GRE supports only IPv4 GRE.
  • MVPN MLDP over GRE supports IPv4 and IPv6 multicast traffic.

Configuring MVPN MLDP over GRE

Complete these steps to configure MVPN MLDP over GRE with PE-to-PE topology. You should perform these steps on both the PE routers.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. mpls MLDP
  4. vrf definition vrf-name
  5. rd route-distinguisher
  6. vpn id vpn-id
  7. address-family ipv4
  8. mdt default mpls MLDP root-node
  9. mdt default mpls MLDP root-node
  10. mdt data mpls MLDP number_of_data_MDTs
  11. mdt data threshold bandwidth
  12. route-target export route-target-ext-community
  13. route-target import route-target-ext-community
  14. exit
  15. address-family ipv6
  16. mdt default mpls MLDP root-node
  17. mdt default mpls MLDP root-node
  18. mdt data mpls MLDP number_of_data_MDTs
  19. mdt data threshold bandwidth
  20. route-target export route-target-ext-community
  21. route-target import route-target-ext-community
  22. exit
  23. exit
  24. interface name
  25. vrf forwarding vrf-name
  26. ip address ip-address subnet-mask
  27. ip pim sparse-mode
  28. ipv6 address ipv6-address
  29. ospfv3100 ipv6 area 0
  30. end
  31. ip multicast-routing vrf vrf-name distributed
  32. ipv6 multicast-routing vrf vrf-name
  33. exit
  34. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:

Router> enable

Enables the privileged EXEC mode. Enter your password when prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters the global configuration mode.

Step 3

mpls MLDP

Example:

Router(config)# mpls MLDP

Enables MPLS MLDP support.

Note 
The mpls MLDP command is configured by default. To disable MPLS MLDP, use the no mpls MLDP command.
Step 4

vrf definition vrf-name

Example:

Router(config)# vrf definition blue

Defines the VPN routing instance by assigning a VRF name, and enters the VRF configuration mode.

vrf-name— Name assigned to a VRF.

Step 5

rd route-distinguisher

Example:

Router(config-vrf)# rd 200:2

Creates routing and forwarding tables.

route-distinguisher— Specifies the 8-byte value to create a VPN prefix.

You can enter a route-distinguisher value in either of these formats:

  • 16-bit autonomous system number : Your 16-bit number Example, 200:2.
  • 32-bit IP address : Your 32-bit number Example, 192.168.122.15:1.
Step 6

vpn id vpn-id

Example:

Router(config-vrf)# vpn id 200:2

Sets or updates a VPN identifier on a VRF.

Step 7

address-family ipv4

Example:

Router(config-vrf)# address-family ipv4

Enters the address family configuration mode using standard IP Version 4 (IPv4) address prefixes.

Step 8

mdt default mpls MLDP root-node

Example:

Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.1

Configures MLDP MDT for a VRF.

root-node—The root node can be IP address of a loopback or physical interface on any router (source PE, receiver PE, or core router) in the provider network. The root node address should be accessible to all the routers in the network. The router from where signalling occurs functions as the root node.

The default MDT must be configured on each PE router to enable the PE routers to receive multicast traffic for this particular MVRF.

Note 
Creates the LSPVIF tunnel with the mdt default mpls MLDP root-node command.
Step 9

mdt default mpls MLDP root-node

Example:

Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.2

Configures Root Node Redundancy.

root-node—The root node can be IP address of a loopback or physical interface on any router (source PE, receiver PE, or core router) in the provider network. The root node address should be accessible to all the routers in the network. The router from where signaling occurs functions as the root node.

The default MDT must be configured on each PE router to enable the PE routers to receive multicast traffic for this particular MVRF.

Step 10

mdt data mpls MLDP number_of_data_MDTs

Example:

Router(config-vrf-af)# mdt data mpls MLDP 20

Configures the MLDP data MDP.

Step 11

mdt data threshold bandwidth

Example:

Router(config-vrf-af)# mdt data threshold 1

Configures the threshold value for data MDT.

Note 
Bandwidth is traffic rate, in Kbps.
Step 12

route-target export route-target-ext-community

Example:

Router(config-vrf-af)# route-target export 200:2

Creates a route target extended community for a VRF.

  • export —Exports the routing information from the target VPN extended community.
  • route-target-ext-community —Adds the route target extended community attributes to the VRF list of import, export, or both (import and export) route target extended communities.
Step 13

route-target import route-target-ext-community

Example:

Router(config-vrf-af)# route-target import 200:2

Creates a route-target extended community for a VRF.

  • import —Imports the routing information from the target VPN extended community.
  • route-target-ext-community —Adds the route target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 14

exit

Example:

Router(config-vrf-af)# exit

Exits the address family configuration mode.

Step 15

address-family ipv6

Example:

Router(config-vrf)# address-family ipv6

Enters the address family configuration mode using standard IP Version 6 (IPv6) address prefixes.

Step 16

mdt default mpls MLDP root-node

Example:

Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.1

Configures MLDP MDT for a VRF.

root-node—The root node can be IP address of a loopback or physical interface on any router (source PE, receiver PE, or core router) in the provider network. The root node address should be accessible to all the routers in the network. The router from where signalling occurs functions as the root node.

The default MDT must be configured on each PE router to enable the PE routers to receive multicast traffic for this particular MVRF.

Note 
Creates the LSPVIF tunnel with the mdt default mpls MLDP root-node command.
Step 17

mdt default mpls MLDP root-node

Example:

Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.2

Configures Root Node Redundancy.

root-node—The root node can be IP address of a loopback or physical interface on any router (source PE, receiver PE, or core router) in the provider network. The root node address should be accessible to all the routers in the network. The router from where signalling occurs functions as the root node.

The default MDT must be configured on each PE router to enable the PE routers to receive multicast traffic for this particular MVRF.

Step 18

mdt data mpls MLDP number_of_data_MDTs

Example:

Router(config-vrf-af)# mdt data mpls MLDP 20

Configures the MLDP data MDP.

Step 19

mdt data threshold bandwidth

Example:

Router(config-vrf-af)# mdt data threshold 1

Configures the threshold value for data MDT.

Note 
Bandwidth is traffic rate, in Kbps.
Step 20

route-target export route-target-ext-community

Example:

Router(config-vrf-af)# route-target export 200:2

Creates a route target extended community for a VRF.

  • export —Exports the routing information from the target VPN extended community.
  • route-target-ext-community —Adds the route target extended community attributes to the VRF list of import, export, or both (import and export) route target extended communities.
Step 21

route-target import route-target-ext-community

Example:

Router(config-vrf-af)# route-target import 200:2

Creates a route-target extended community for a VRF.

  • import —Imports the routing information from the target VPN extended community.
  • route-target-ext-community —Adds the route target extended community attributes to the VRF list of import, export, or both (import and export) route-target extended communities.
Step 22

exit

Example:

Router(config-vrf-af)# exit

Exits the address family configuration mode.

Step 23

exit

Example:

Router(config-if)# exit

Exits the interface configuration mode.

Step 24

interface name

Example:

Router(config)# interface gi0/0/0

Specifies the interface name and enters the interface configuration mode.

Step 25

vrf forwarding vrf-name

Example:

Router(config-if)# vrf forwarding blue

Associates a VRF instance with an interface or subinterface.

  • vrf-name —Name assigned to a VRF.
Step 26

ip address ip-address subnet-mask

Example:

Router(config-if)# ip address 30.2.0.1 255.255.255.0

Specifies the interface IPv4 address and subnet-mask.

Step 27

ip pim sparse-mode

Example:

Router(config-if)# ip pim sparse-mode

Enables sparse mode.

Step 28

ipv6 address ipv6-address

Example:

Router(config-if)# ipv6 address 32002:30:2::1/64

Specifies the interface IPv6 address.

Step 29

ospfv3100 ipv6 area 0

Enables OSPFv3 router configuration mode for the IPv6 address family.

Step 30

end

Example:

Router(config)# end

Ends the configuration session.

Step 31

ip multicast-routing vrf vrf-name distributed

Example:

Router(config)# ip multicast-routing vrf blue distributed

Enables multicast routing for the specified VRF.

Step 32

ipv6 multicast-routing vrf vrf-name

Example:

Router(config)# ipv6 multicast-routing vrf blue

Enables IPv6 multicast routing for the specified VRF.

Step 33

exit

Example:

Router(config-if)# exit

Exits the interface configuration mode.

Step 34

end

Example:

Router(config)# end

Ends the configuration session.

Example: Configuring MVPN MLDP over GRE

The following example shows how to configure MVPN MLDP over GRE:


Router> enable
Router# configure terminal
Router(config)# mpls MLDP
Router(config)# vrf definition blue
Router(config-vrf)# rd 200:2
Router(config-vrf)# vpn id 200:2
Router(config-vrf)# address-family ipv4
Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.1
Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.2
Router(config-vrf-af)# mdt data mpls MLDP 20
Router(config-vrf-af)# mdt data threshold 1
Router(config-vrf-af)# route-target export 200:2
Router(config-vrf-af)# route-target import 200:2
Router(config-vrf-af)# exit
Router(config-vrf)# address-family ipv6
Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.1
Router(config-vrf-af)# mdt default mpls MLDP 1.1.1.2
Router(config-vrf-af)# mdt data mpls MLDP 20
Router(config-vrf-af)# mdt data threshold 1
Router(config-vrf-af)# route-target export 200:2
Router(config-vrf-af)# route-target import 200:2
Router(config-vrf-af)# exit
Router(config-if)# exit
Router(config)# interface gi0/0/0
Router(config-if)# vrf forwarding blue
Router(config-if)# ip address 30.2.0.1 255.255.255.0
Router(config-if)# ip pim sparse-mode
Router(config-if)# ipv6 address 32002:30:2::1/64
Router(config-if)# ospfv3100 ipv6 area 0
Router(config)# end
Router(config)# ip multicast-routing vrf blue distributed
Router(config)# ipv6 multicast-routing vrf blue
Router(config-if)# exit
Router(config)# end

The following example shows how to configure MVPNv4 MLDP over GRE on router PE1:


Router# enable
Router# configure terminal
Router(config)# vrf definition VRF_blue
Router(config-vrf)# rd 1:1
Router(config-vrf)# vpn id 1:1
Router(config-vrf)# address-family ipv4
Router(config-vrf-af)# mdt default mpls mldp 1.1.1.1
Router(config-vrf-af)# mdt data mpls mldp 100
Router(config-vrf-af)# mdt data threshold 4000000
Router(config-vrf-af)# route-target export 1:1
Router(config-vrf-af)# route-target import 1:1
Router(config-vrf-af)# exit
Router(config-vrf)# exit
Router(config)# ip multicast-routing vrf blue distributed
Router(config)# interface Loopback 0
Router(config-if)# ip address 1.1.1.1 255.255.255.0
Router(config-if)# exit 
Router(config)# interface Loopback 1
Router(config-if)# vrf forwarding blue
Router(config-if)# ip address 192.0.100.1 255.255.255.0
Router(config-if)# ip pim sparse-mode
Router(config-if)# exit
Router(config)# interface GigabitEthernet 0/0/0
Router(config-if)# ip address 10.0.0.21 255.255.255.0
Router(config-if)# exit
Router(config)# interface Tunnel 100
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# mpls ip
Router(config-if)# tunnel source 10.0.0.21
Router(config-if)# tunnel destination 10.0.0.22
Router(config-if)# exit 
Router(config-if)# end

The following example shows how to configure MVPNv4 MLDP over GRE on router PE2:


Router# enable
Router# configure terminal
Router(config)# vrf definition VRF_blue
Router(config-vrf)# rd 1:1
Router(config-vrf)# vpn id 1:1
Router(config-vrf)# address-family ipv4
Router(config-vrf-af)# mdt default mpls mldp 1.1.1.1
Router(config-vrf-af)# mdt data mpls mldp 100
Router(config-vrf-af)# mdt data threshold 1000
Router(config-vrf-af)# route-target export 1:1
Router(config-vrf-af)# route-target import 1:1
Router(config-vrf-af)# exit
Router(config-vrf)# exit
Router(config)# ip multicast-routing vrf blue distributed
Router(config)# interface Loopback 0
Router(config-if)# ip address 2.2.2.2 255.255.255.0
Router(config-if)# exit 
Router(config)# interface Loopback 1
Router(config-if)# vrf forwarding blue
Router(config-if)# ip address 192.0.100.20 255.255.255.0
Router(config-if)# ip pim sparse-mode
Router(config-if)# exit
Router(config)# interface GigabitEthernet 0/0/0
Router(config-if)# ip address 10.0.0.22 255.255.255.0
Router(config-if)# exit
Router(config)# interface Tunnel 100
Router(config-if)# ip address 10.0.0.5 255.255.255.0
Router(config-if)# mpls ip
Router(config-if)# tunnel source 10.0.0.22
Router(config-if)# tunnel destination 10.0.0.21
Router(config-if)# exit 
Router(config-if)# end
  • To display the IPv6 neighbor information, use the show ipv6 pim vrf vrf-name neighbor command:

Router# show ipv6 pim vrf vrf blue neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, G - GenID Capable
Neighbor Address           Interface          Uptime    Expires  Mode DR pri
::FFFF:1.1.1.1             Lspvif             3w0d      00:01:17 B G     1

Here, 1.1.1.1 is the loopback IP address of another PE on the other end of GRE tunnel, and ::FFFF:x.x.x.x is IPv4-mapped IPv6 IP address.

  • To display the IPv4 neighbor information, use the show ip pim vrf vrf-name neighbor command:

Router# show ip pim vrf blue neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
30.2.0.3          Gi0/0/1.3900             2w0d/00:01:37     v2    0 / G
1.1.1.1           Lspvif                   7w0d/00:01:18     v2    1 / B S P G
  • To display the IPv6 multicast routing table, use the show ipv mroute vrf vrf-name command:

Router# show ipv mroute vrf vrf blue
Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group,
       C - Connected, L - Local, I - Received Source Specific Host Report,
       P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
       J - Join SPT, Y - Joined MDT-data group,
       y - Sending to MDT-data group
       g - BGP signal originated, G - BGP Signal received,
       N - BGP Shared-Tree Prune received, n - BGP C-Mroute suppressed,
       q - BGP Src-Active originated, Q - BGP Src-Active received
       E - Extranet
Timers: Uptime/Expires
Interface state: Interface, State
(2002:30::100, FF33:0:3::4000:1), 00:01:06/00:02:53, flags: sT
  Incoming interface: Lspvif1
  RPF nbr: ::FFFF:1.1.1.2
  Immediate Outgoing interface list:
    GigabitEthernet0/0/1.3900, Forward, 00:01:06/00:02:53
  • To display the IPv4 multicast routing table, use the show ip mroute vrf-name command:

Router# show ip mroute vrf blue
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
       Q - Received BGP S-A Route, q - Sent BGP S-A Route,
       V - RD & Vector, v - Vector, p - PIM Joins on route,
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
(30.0.0.100, 232.0.0.1), 1w0d/00:01:47, flags: sT
  Incoming interface: Null, RPF nbr 1.1.1.1
  Outgoing interface list:
    Gi0/0/1.3900, Forward/Sparse, 1w0d/00:01:47
  • To display the multicast routing counter for IPv6, use the show ipv6 mroute vrf vrf-name counter command:

Router# show ipv6 mroute vrf vrf blue counter
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts:      Total/RPF failed/Other drops(OIF-null, rate-limit etc)
VRF vrf blue
 5057 routes, 11 (*,G)s, 46 (*,G/m)s
Group: FF00::/8
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
Group: FF00::/15
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
Group: FF02::/16
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 3/3/0
Group: FF10::/15
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
Group: FF12::/16
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF20::/15
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
Group: FF22::/16
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF30::/15
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
Group: FF32::/16
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
Group: FF33::/32
  RP-tree,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA                ------- from the first entry to this, all of these are default entries in IPv6 Mroute table
Group: FF33:0:3::4000:1                                                                     ------- from this entry, all entries below are user entries learnt via PIM6 or MLD protocol
  Source: 2002:30::100,
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
  • To display the multicast routing counter for IPv4, use the show ip mroute vrf vrf-name counter command:

Router# show ip mroute vrf blue counter
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
5001 routes using 3706920 bytes of memory
101 groups, 49.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.0.0.1, Source count: 50, Packets forwarded: 0, Packets received: 0
  Source: 30.0.0.149/32, Forwarding: 0/0/0/0, Other: 0/0/0
  • To display the MPLS information, use the show mpls forwarding-table labels <local label> detail command:

Router# show mpls forwarding-table labels 10333 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
10333      No Label   [mdt 200:1 0][V] 0             aggregate/vrf-name
        MAC/Encaps=0/0, MRU=0, Label Stack{}, via Ls1
        VPN route: vrf blue
        No output feature configured
    Broadcast
Router# show mpls forwarding-table labels
 1715
 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
1715       No Label   [mdt 200:1 0][V] 0             aggregate/vpn200
        MAC/Encaps=0/0, MRU=0, Label Stack{}, via Ls1
        VPN route: vpn200
        No output feature configured
    Broadcast
  • To display the MFIB table, use the show mfib <vrf_name> verbose command:

Router# show ip mfib vrf blue verbose
Entry Flags:    C - Directly Connected, S - Signal, IA - Inherit A flag,
                ET - Data Rate Exceeds Threshold, K - Keepalive
                DDE - Data Driven Event, HW - Hardware Installed
                ME - MoFRR ECMP entry, MNE - MoFRR Non-ECMP entry, MP - MFIB
                MoFRR Primary, RP - MRIB MoFRR Primary, P - MoFRR Primary
                MS  - MoFRR  Entry in Sync, MC - MoFRR entry in MoFRR Client.
I/O Item Flags: IC - Internal Copy, NP - Not platform switched,
                NS - Negate Signalling, SP - Signal Present,
                A - Accept, F - Forward, RA - MRIB Accept, RF - MRIB Forward,
                MA - MFIB Accept, A2 - Accept backup,
                RA2 - MRIB Accept backup, MA2 - MFIB Accept backup
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kbits per second
Other counts:      Total/RPF failed/Other drops
I/O Item Counts:   FS Pkt Count/PS Pkt Count
VRF vpn200
 (*,224.0.0.0/4) Flags: K HW
   0x9A2  OIF-IC count: 0, OIF-A count: 0
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
 (*,224.0.1.40) Flags: C K HW
   0x9A4  OIF-IC count: 1, OIF-A count: 0
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
   Loopback200 Flags: RF F IC NS
     CEF: Special OCE (discard)
     Pkts: 0/0
 (*,232.0.0.0/8) Flags: K HW
   0x9A3  OIF-IC count: 0, OIF-A count: 0
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
 (30.0.0.100,232.0.0.1) Flags: K HW
   0x5C98  OIF-IC count: 0, OIF-A count: 0
   SW Forwarding: 0/0/0/0, Other: 0/0/0
   HW Forwarding:   NA/NA/NA/NA, Other: NA/NA/NA
   GigabitEthernet0/0/1.3900 Flags: RF F NS
     CEF: Adjacency with MAC: 01005E000001503DE5974F0181000F3C0800
     Pkts: 0/0