Wednesday, December 26, 2018

CCIE SPv4 MPLS Multicast VPN - Profile 15 Partitioned MDT - MLDP MP2MP - BGP-AD - BGP C-mast Signaling

In this post we will take a look at the next profile, Profile 15, which is a change from Profile 4 leveraging PIM as the customer multicast signaling mechanism and switching over to BGP. We'll verify the BGP MVPN table and then ping some traffic, log any MLDP labels and verify as we go. 


XR1, XR5 and XR6
router pim
 vrf CORE
  address-family ipv4
   mdt c-multicast-routing bgp


RP/0/0/CPU0:XR1#sh bgp ipv4 mvpn | b Network
Wed Dec 26 21:17:24.762 UTC
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf CORE)
*>i[1][192.0.2.3]/40  192.0.2.3                0    100      0 ?
*>i[1][192.0.2.7]/40  192.0.2.7                0    100      0 ?
*> [1][192.0.2.21]/40 0.0.0.0                                0 i
*>i[1][192.0.2.25]/40 192.0.2.25                    100      0 i
*>i[1][192.0.2.26]/40 192.0.2.26                    100      0 i
*> [3][0][0.0.0.0][0][0.0.0.0][192.0.2.21]/120
                      0.0.0.0                                0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.25]/120
                      192.0.2.25                    100      0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.26]/120
                      192.0.2.26                    100      0 i
*>i[3][0][0.0.0.0][32][224.0.0.13][192.0.2.25]/120
                      192.0.2.25                    100      0 i
*> [3][32][192.0.2.16][32][232.16.16.16][192.0.2.21]/120
                      0.0.0.0                                0 i
*> [3][32][192.0.2.16][32][232.19.19.19][192.0.2.21]/120
                      0.0.0.0                                0 i
*> [3][32][192.0.2.16][32][232.20.20.20][192.0.2.21]/120
                      0.0.0.0                                0 i
*> [6][100:100][116229][32][192.0.2.20][32][227.1.2.3]/184
                      0.0.0.0                                0 i
*>i[7][100:100][116229][32][192.0.2.16][32][232.16.16.16]/184
                      192.0.2.7                0    100      0 ?
*>i[7][100:100][116229][32][192.0.2.16][32][232.19.19.19]/184
                      192.0.2.26                    100      0 i
*>i[7][100:100][116229][32][192.0.2.16][32][232.20.20.20]/184
                      192.0.2.25                    100      0 i


RP/0/0/CPU0:XR5#sh bgp ipv4 mvpn | b Network
Wed Dec 26 21:18:55.473 UTC
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf CORE)
*>i[1][192.0.2.3]/40  192.0.2.3                0    100      0 ?
*>i[1][192.0.2.7]/40  192.0.2.7                0    100      0 ?
*>i[1][192.0.2.21]/40 192.0.2.21                    100      0 i
*> [1][192.0.2.25]/40 0.0.0.0                                0 i
*>i[1][192.0.2.26]/40 192.0.2.26                    100      0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*> [3][0][0.0.0.0][0][0.0.0.0][192.0.2.25]/120
                      0.0.0.0                                0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.26]/120
                      192.0.2.26                    100      0 i
*> [3][0][0.0.0.0][32][224.0.0.13][192.0.2.25]/120
                      0.0.0.0                                0 i
*>i[3][32][192.0.2.16][32][232.16.16.16][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[3][32][192.0.2.16][32][232.19.19.19][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[3][32][192.0.2.16][32][232.20.20.20][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[6][100:100][116229][32][192.0.2.20][32][227.1.2.3]/184
                      192.0.2.21                    100      0 i
*> [7][100:100][116229][32][192.0.2.16][32][232.20.20.20]/184
                      0.0.0.0                                0 i


RP/0/0/CPU0:XR6#sh bgp ipv4 mvpn | b Network
Wed Dec 26 21:19:16.160 UTC
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf CORE)
*>i[1][192.0.2.3]/40  192.0.2.3                0    100      0 ?
*>i[1][192.0.2.7]/40  192.0.2.7                0    100      0 ?
*>i[1][192.0.2.21]/40 192.0.2.21                    100      0 i
*>i[1][192.0.2.25]/40 192.0.2.25                    100      0 i
*> [1][192.0.2.26]/40 0.0.0.0                                0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[3][0][0.0.0.0][0][0.0.0.0][192.0.2.25]/120
                      192.0.2.25                    100      0 i
*> [3][0][0.0.0.0][0][0.0.0.0][192.0.2.26]/120
                      0.0.0.0                                0 i
*>i[3][0][0.0.0.0][32][224.0.0.13][192.0.2.25]/120
                      192.0.2.25                    100      0 i
*>i[3][32][192.0.2.16][32][232.16.16.16][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[3][32][192.0.2.16][32][232.19.19.19][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*>i[3][32][192.0.2.16][32][232.20.20.20][192.0.2.21]/120
                      192.0.2.21                    100      0 i
*> [6][100:100][116229][32][192.0.2.20][32][227.1.2.3]/184
                      0.0.0.0                                0 i
*> [7][100:100][116229][32][192.0.2.16][32][232.19.19.19]/184
                      0.0.0.0                                0 i

On all the PE routers, we see the Type 6 and Type 7 routes for the Shared tree and Source Tree joins.

R16#sh ip pim rp map
PIM Group-to-RP Mappings

Group(s) 224.0.0.0/4
  RP 192.0.2.20 (?), v2
    Info source: 192.0.2.20 (?), via bootstrap, priority 0, holdtime 150
         Uptime: 04:14:33, expires: 00:02:12

We verify that the source sees the RP mapping.

R16#sh ip mroute
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

(192.0.2.16, 232.20.20.20), 04:10:39/00:02:49, flags: sT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet1.204, Forward/Sparse, 04:10:39/00:02:49

(192.0.2.16, 232.19.19.19), 04:10:31/00:02:59, flags: sT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet1.204, Forward/Sparse, 04:10:31/00:02:59

(192.0.2.16, 232.16.16.16), 04:15:29/00:02:59, flags: sT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet1.204, Forward/Sparse, 04:15:29/00:02:59

(*, 227.1.2.3), 04:13:29/00:02:41, RP 192.0.2.20, flags: SJCL
  Incoming interface: GigabitEthernet1.204, RPF nbr 100.64.204.11
  Outgoing interface list:
    Loopback0, Forward/Sparse, 04:13:29/00:02:41

We see the MRIB on the source, showing that the signaling is working.

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

Reply to request 0 from 192.0.2.16, 31 ms
Reply to request 0 from 192.0.2.19, 44 ms
Reply to request 0 from 100.64.215.19, 43 ms
Reply to request 0 from 192.0.2.20, 39 ms
Reply to request 1 from 192.0.2.16, 4 ms
Reply to request 1 from 100.64.215.19, 19 ms
Reply to request 1 from 192.0.2.19, 19 ms
Reply to request 1 from 192.0.2.20, 15 ms
Reply to request 1 from 192.0.2.20, 13 ms

The source pings the ASM group.

XR1
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001A [global-id 2] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001A [global-id 2] P2MP 192.0.2.21, Add LDP 192.0.2.4:0 branch remote label 4026 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001B [global-id 6] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001B [global-id 6] P2MP 192.0.2.21, Add LDP 192.0.2.4:0 branch remote label 4025

The PE routers trigger a label mapping to enable the communication.

RP/0/0/CPU0:XR1#show mpls mldp database | in "Opaque|Label|MP2MP|P2MP"
Wed Dec 26 21:24:05.465 UTC
LSM-ID: 0x0001A  Type: P2MP  Uptime: 00:02:44
  Opaque decoded     : [global-id 2]
      Local Label     : 91018 (internal)
LSM-ID: 0x0000D  Type: P2MP  Uptime: 04:18:56
  Opaque decoded     : [global-id 3]
      Local Label     : 91015 (internal)
LSM-ID: 0x0000E  Type: P2MP  Uptime: 04:18:55
  Opaque decoded     : [global-id 3]
      Local Label (D) : 91016             
LSM-ID: 0x00012  Type: P2MP  Uptime: 04:14:06
  Opaque decoded     : [global-id 4]
      Local Label     : 91022 (internal)
LSM-ID: 0x00013  Type: P2MP  Uptime: 04:13:58
  Opaque decoded     : [global-id 5]
      Local Label     : 91024 (internal)
LSM-ID: 0x0001B  Type: P2MP  Uptime: 00:02:42
  Opaque decoded     : [global-id 6]
      Local Label     : 91019 (internal)
LSM-ID: 0x0000C  Type: MP2MP  Uptime: 04:18:58
  Opaque decoded     : [global-id 1]
      Local Label     : 91012 (internal)
LSM-ID: 0x0000F  Type: MP2MP  Uptime: 04:16:56
  Opaque decoded     : [global-id 2]
      Local Label (D) : 91017             Remote Label (U): 4023
      Local Label     : 91013 (internal)

Labels 91018 and 91019 are added.

RP/0/0/CPU0:XR1#show mpls forwarding labels 91012 91024
Wed Dec 26 21:24:32.893 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
91012  92024       MLDP: 0x0000c      Gi0/0/0/0.112 100.64.112.120  0           
       4028        MLDP: 0x0000c      Gi0/0/0/0.114 100.64.114.4    0           
91013  4023        MLDP: 0x0000f      Gi0/0/0/0.114 100.64.114.4    0           
91014  24022       MLDP: 0x80002      UNKNOWN intf 0xa12db890 192.0.2.26      0           
91016  Unlabelled  MLDP: 0x0000e
91017  Unlabelled  MLDP: 0x0000f
91018  4026        MLDP: 0x0001a      Gi0/0/0/0.114 100.64.114.4    0           
91019  4025        MLDP: 0x0001b      Gi0/0/0/0.114 100.64.114.4    0           
91021  92024       MLDP: 0x0000c      Gi0/0/0/0.112 100.64.112.120  0           
91022  4029        MLDP: 0x00012      Gi0/0/0/0.114 100.64.114.4    0           
91023  4028        MLDP: 0x0000c      Gi0/0/0/0.114 100.64.114.4    0           
91024  4030        MLDP: 0x00013      Gi0/0/0/0.114 100.64.114.4    0         

XR5
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0000E [global-id 2] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0000F [global-id 6] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label

RP/0/0/CPU0:XR5# show mpls mldp database | in "Opaque|Label|MP2MP|P2MP"
Wed Dec 26 21:25:13.567 UTC
LSM-ID: 0x0000E  Type: P2MP  Uptime: 00:03:51
  Opaque decoded     : [global-id 2]
      Local Label (D) : 24026             
LSM-ID: 0x00003  Type: P2MP  Uptime: 04:20:03
  Opaque decoded     : [global-id 3]
      Local Label     : 24027 (internal)
LSM-ID: 0x00007  Type: P2MP  Uptime: 04:15:14
  Opaque decoded     : [global-id 4]
      Local Label (D) : 24033             
LSM-ID: 0x0000F  Type: P2MP  Uptime: 00:03:49
  Opaque decoded     : [global-id 6]
      Local Label (D) : 24029             
LSM-ID: 0x00006  Type: MP2MP  Uptime: 04:15:15
  Opaque decoded     : [global-id 1]
      Local Label (D) : 24032             Remote Label (U): 1031
      Local Label     : 24031 (internal)
LSM-ID: 0x00002  Type: MP2MP  Uptime: 04:20:32
  Opaque decoded     : [global-id 2]
      Local Label     : 24022 (internal)

Labels 24026 and 24029 are added.

RP/0/0/CPU0:XR5#show mpls forwarding labels 24022 24033
Wed Dec 26 21:25:33.585 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24022  1026        MLDP: 0x00002      Gi0/0/0/0.15 100.64.15.1     0           
24023  1022        192.0.2.3/32       Gi0/0/0/0.15 100.64.15.1     0           
24024  1023        100.64.63.0/24     Gi0/0/0/0.15 100.64.15.1     0           
24025  Unlabelled  192.0.2.20/32[V]   Gi0/0/0/0.206 100.64.206.20   6784        
24026  Unlabelled  MLDP: 0x0000e
24027  1024        MLDP: 0x00003      Gi0/0/0/0.15 100.64.15.1     0           
24028  Unlabelled  MLDP: 0x00002
24029  Unlabelled  MLDP: 0x0000f
24031  1031        MLDP: 0x00006      Gi0/0/0/0.15 100.64.15.1     0           
24032  Unlabelled  MLDP: 0x00006
24033  Unlabelled  MLDP: 0x00007

XR6
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0000E [global-id 2] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0000F [global-id 6] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label

RP/0/0/CPU0:XR6#show mpls mldp database | in "Opaque|Label|MP2MP|P2MP"     
Wed Dec 26 21:26:38.990 UTC
LSM-ID: 0x0000E  Type: P2MP  Uptime: 00:05:17
  Opaque decoded     : [global-id 2]
      Local Label (D) : 24026             
LSM-ID: 0x00003  Type: P2MP  Uptime: 04:21:28
  Opaque decoded     : [global-id 3]
      Local Label (D) : 24023             
LSM-ID: 0x00007  Type: P2MP  Uptime: 04:16:32
  Opaque decoded     : [global-id 5]
      Local Label (D) : 24032             
LSM-ID: 0x0000F  Type: P2MP  Uptime: 00:05:15
  Opaque decoded     : [global-id 6]
      Local Label (D) : 24029             
LSM-ID: 0x00006  Type: MP2MP  Uptime: 04:16:33
  Opaque decoded     : [global-id 1]
      Local Label (D) : 24031             Remote Label (U): 2028
      Local Label     : 24030 (internal)
LSM-ID: 0x00004  Type: MP2MP  Uptime: 04:20:27
  Opaque decoded     : [global-id 2]
      Local Label (D) : 24028             Remote Label (U): 2011
      Local Label     : 24027 (internal)
LSM-ID: 0x00002  Type: MP2MP  Uptime: 04:21:43
  Opaque decoded     : [global-id 2]
      Local Label     : 24022 (internal)

Labels 24026 and 24029 are added.

RP/0/0/CPU0:XR6#show mpls forwarding labels 24022 24033               
Wed Dec 26 21:27:02.298 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24023  Unlabelled  MLDP: 0x00003
24024  Pop         192.0.2.3/32       Gi0/0/0/0.63 100.64.63.3     35901       
24025  Unlabelled  192.0.2.19/32[V]   Gi0/0/0/0.215 100.64.215.19   1600        
24026  Unlabelled  MLDP: 0x0000e
24027  2011        MLDP: 0x00004      Gi0/0/0/0.26 100.64.26.2     0           
24028  Unlabelled  MLDP: 0x00004
24029  Unlabelled  MLDP: 0x0000f
24030  2028        MLDP: 0x00006      Gi0/0/0/0.26 100.64.26.2     0           
24031  Unlabelled  MLDP: 0x00006
24032  Unlabelled  MLDP: 0x00007



R16#ping 232.20.20.20 source lo0 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.20.20.20, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.16 

Reply to request 0 from 192.0.2.20, 10 ms
Reply to request 0 from 192.0.2.20, 10 ms
Reply to request 1 from 192.0.2.20, 10 ms
Reply to request 1 from 192.0.2.20, 10 ms


R16#ping 232.19.19.19 source lo0 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.19.19.19, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.16 

Reply to request 0 from 192.0.2.19, 11 ms
Reply to request 0 from 192.0.2.19, 11 ms
Reply to request 1 from 192.0.2.19, 9 ms
Reply to request 1 from 192.0.2.19, 9 ms

The SSM group pings work.

XR6
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0000E [global-id 2] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0000F [global-id 6] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label

XR5
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0000F [global-id 6] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0000E [global-id 2] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label

XR1
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0001A [global-id 2] P2MP 192.0.2.21, Delete LDP 192.0.2.4:0 branch remote label 4026 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0001B [global-id 6] P2MP 192.0.2.21, Delete LDP 192.0.2.4:0 branch remote label 4025
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0001A [global-id 2] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x0001B [global-id 6] P2MP 192.0.2.21, Delete PIM MDT branch remote label no_label

The above MPLS log message are deleted after a period of time, these labels were allocated when the ASM group was pinged.

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment