Sunday, December 30, 2018

CCIE SPv4 MPLS Multicast VPN - Profile 7 Global MLDP In-band Signaling

In this post we will take a look at the next MVPN Profile, Profile 7 which leverages the global table for forwarding. The configuration from Profile 6 can be used just remove the VRF configuration piece. I could have made a bunch of changes to the existing VPNv4 configuration, I chose to create a few new interfaces and keep them in the global table. There will be a lot of config snippets, which will help you understand the configuration. We'll take a look at the interface configs first, then the BGP configs then the multicast configs.



R1
interface GigabitEthernet1.2701
 encapsulation dot1Q 2701
 ip address 100.64.151.1 255.255.255.0
 ip pim sparse-mode
 ip igmp version 3
!
interface Loopback0
 ip address 192.0.2.1 255.255.255.255

 ip pim sparse-mode

R15
interface GigabitEthernet1.2701
 encapsulation dot1Q 2701
 ip address 100.64.151.15 255.255.255.0
 ip pim sparse-mode
 ip igmp version 3

R3
interface GigabitEthernet1.2711
 encapsulation dot1Q 2711
 ip address 100.64.173.3 255.255.255.0
 ip pim sparse-mode
 ip igmp version 3
!
interface Loopback0
 ip address 192.0.2.3 255.255.255.255

 ip pim sparse-mode

R17
interface GigabitEthernet1.2711
 encapsulation dot1Q 2711
 ip address 100.64.173.17 255.255.255.0
 ip pim sparse-mode
 ip igmp version 3

XR1
interface GigabitEthernet0/0/0/0.2704
 ipv4 address 100.64.161.11 255.255.255.0
 encapsulation dot1q 2704
!
router pim
 address-family ipv4
  interface GigabitEthernet0/0/0/0.2704
  interface Loopback0

R16
interface GigabitEthernet1.2704
 encapsulation dot1Q 2704
 ip address 100.64.161.16 255.255.255.0
 ip pim sparse-mode
 ip igmp version 3

With the interface configuration complete, we can begin the BGP part.

R1
router bgp 1.50693
 address-family ipv4
  network 100.64.151.0 mask 255.255.255.0
  neighbor 192.0.2.22 activate

R3
router bgp 1.50693
 address-family ipv4
  network 100.64.173.0 mask 255.255.255.0
  neighbor 192.0.2.22 activate

XR1
router bgp 1.50693
 address-family ipv4 unicast
  network 100.64.161.0/24
neighbor 192.0.2.22
  address-family ipv4 unicast

XR2
router bgp 1.50693
 address-family ipv4 unicast
 !
 !
 neighbor 192.0.2.1
  address-family ipv4 unicast
   route-reflector-client
  !
 !
 neighbor 192.0.2.3
  address-family ipv4 unicast
   route-reflector-client
 !
 !
 neighbor 192.0.2.21
  address-family ipv4 unicast
   route-reflector-client

Now we will take a look at the multicast configuration on IOS and XR.

R1 and R3
ip multicast mpls mldp
ip pim mpls source Loopback0

XR1
route-policy RPL_IN_BAND_GLOBAL
  set core-tree mldp-inband
end-policy
!
router pim
 address-family ipv4
  rpf topology route-policy RPL_IN_BAND_GLOBAL
!
multicast-routing
 address-family ipv4
  mdt source Loopback0
  interface all enable
  mdt mldp in-band-signaling ipv4

With the configuration in place, and some testing done, I realized that configuring an IOS router behind and IOS PE as an SSM source didn't work, I didn't see any signaling happen. However I did set an IOS router behind an XR PE the SSM signaling did work. 

 R17
interface GigabitEthernet1.2711
 ip igmp join-group 232.17.17.17 source 100.64.161.16

Next we configure R17 to join an SSM group with R16 as the source.

R3#sh mpls mldp database 
  * Indicates MLDP recursive forwarding is enabled

LSM ID : B   Type: P2MP   Uptime : 00:22:55
  FEC Root           : 192.0.2.21 
  Opaque decoded     : [ipv4 100.64.161.16 232.17.17.17] 
  Opaque length      : 8 bytes
  Opaque value       : 03 0008 6440A110E8111111
  Upstream client(s) :
    192.0.2.2:0    [Active]
      Expires        : Never         Path Set ID  : B
      Out Label (U)  : None          Interface    : GigabitEthernet1.23*
      Local Label (D): 3024          Next Hop     : 100.64.23.2
  Replication client(s): 
    MRIBv4(0) 
      Uptime         : 00:22:55      Path Set ID  : None
      Interface      : Lspvif6    

Checking R3, which is the last hop router, we see an MLDP binding with the root set as XR1 with a local label of 3024.

R3#sh mpls forwarding-table labels 3024
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3024  [T]  No Label   [ipv4 100.64.161.16 232.17.17.17]   \
                                       244           aggregate  

Checking the LFIB, we see local label 3024. I did a test ping to verify the data plane was working, which is why the bytes switched counter incremented.

R3
%MLDP-5-ADD_BRANCH: [ipv4 100.64.161.16 232.17.17.17] Root: 192.0.2.21, Add P2MP branch MRIBv4(0) remote label

R2
%MLDP-5-ADD_BRANCH: [ipv4 100.64.161.16 232.17.17.17] Root: 192.0.2.21, Add P2MP branch 192.0.2.3:0 remote label 3024

R5
%MLDP-5-ADD_BRANCH: [ipv4 100.64.161.16 232.17.17.17] Root: 192.0.2.21, Add P2MP branch 192.0.2.2:0 remote label 2019

XR2
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001A [ipv4 100.64.161.16 232.17.17.17] P2MP 192.0.2.21, Add LDP 192.0.2.5:0 branch remote label 5027

XR1
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00038 [ipv4 100.64.161.16 232.17.17.17] P2MP 192.0.2.21, Add LDP 192.0.2.22:0 branch remote label 92024

The above outputs show each hop on the IGP path back to the root which is XR1 and the label values that were allocated for this traffic.

R15
interface GigabitEthernet1.2701
 ip igmp join-group 232.15.15.1 source 100.64.161.16

R1#show mpls mldp database 
  * Indicates MLDP recursive forwarding is enabled

LSM ID : 3A   Type: P2MP   Uptime : 00:06:25
  FEC Root           : 192.0.2.21 
  Opaque decoded     : [ipv4 100.64.161.16 232.15.15.1] 
  Opaque length      : 8 bytes
  Opaque value       : 03 0008 6440A110E80F0F01
  Upstream client(s) :
    192.0.2.4:0    [Active]
      Expires        : Never         Path Set ID  : 3F
      Out Label (U)  : None          Interface    : GigabitEthernet1.14*
      Local Label (D): 1026          Next Hop     : 100.64.14.4
  Replication client(s): 
    MRIBv4(0) 
      Uptime         : 00:06:25      Path Set ID  : None
      Interface      : Lspvif5       

R1#sh mpls forwarding-table labels 1026
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1026  [T]  No Label   [ipv4 100.64.161.16 232.15.15.1]   \
                                       244           aggregate  

R1
%MLDP-5-ADD_BRANCH: [ipv4 100.64.161.16 232.15.15.1] Root: 192.0.2.21, Add P2MP branch MRIBv4(0) remote label

R4
%MLDP-5-ADD_BRANCH: [ipv4 100.64.161.16 232.15.15.1] Root: 192.0.2.21, Add P2MP branch 192.0.2.1:0 remote label 1026

XR1
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00039 [ipv4 100.64.161.16 232.15.15.1] P2MP 192.0.2.21, Add Local branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00039 [ipv4 100.64.161.16 232.15.15.1] P2MP 192.0.2.21, Add LDP 192.0.2.4:0 branch remote label 4028

We do the same things on for R15 and R1 and all the routers on the IGP path to the root.

R16#ping 232.17.17.17 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.17.17.17, timeout is 2 seconds:

Reply to request 0 from 100.64.173.17, 25 ms
Reply to request 1 from 100.64.173.17, 14 ms

R3#sh mpls forwarding-table labels 3024
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3024  [T]  No Label   [ipv4 100.64.161.16 232.17.17.17]   \
                                       488           aggregate  


R16#ping 232.15.15.1 repeat 2 
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.15.15.1, timeout is 2 seconds:

Reply to request 0 from 100.64.151.15, 8 ms
Reply to request 1 from 100.64.151.15, 6 ms

R1#sh mpls forwarding-table labels 1026
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1026  [T]  No Label   [ipv4 100.64.161.16 232.15.15.1]   \
                                       366           aggregate  

After pinging the SSM groups again, we see the packets switched counter incremented again.

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment