Saturday, December 22, 2018

CCIE SPv4 MPLS Multicast VPN - Profile 17 Default MDT - MLDP - P2MP - BGP-AD - PIM C-mcast Signaling

In this post we'll take a look at the next Default MDT profile, Profile 17, where we focus on the P2MP connectivity, where the MDTs are built on demand. By default, there is no Default MDT, the way we will configure all of the PE routers will form a default MDT, however traffic flows will be P2MP on demand. Since PIM is the customer multicast signaling mechanism, the PE routers will form PIM neighborships inside the VRF.

R1, R3 and R7
vrf definition MVPN
 address-family ipv4
  mdt preference mldp 
  mdt auto-discovery mldp
  mdt default mpls mldp p2mp
  mdt data mpls mldp 10

XR1
multicast-routing
 vrf CORE
  address-family ipv4
   bgp auto-discovery mldp
   !
   mdt default mldp p2mp
   mdt data 10
   mdt data mldp 10 immediate-switch



R1#sh ip pim vrf MVPN 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,
      L - DR Load-balancing Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
100.64.201.15     GigabitEthernet1.201     2d20h/00:01:27    v2    1 / DR S P G
192.0.2.21        Lspvif0                  04:30:52/00:01:15 v2    1 / DR G
192.0.2.7         Lspvif0                  04:47:18/00:01:33 v2    1 / S P G
192.0.2.3         Lspvif0                  04:47:38/00:01:23 v2    1 / S P G


RP/0/0/CPU0:XR1#sh pim vrf CORE neighbor 
Sat Dec 22 20:12:45.173 UTC

PIM neighbors in VRF CORE
Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,
      E - ECMP Redirect capable
      * indicates the neighbor created for this router

Neighbor Address             Interface              Uptime    Expires  DR pri   Flags

100.64.204.11*               GigabitEthernet0/0/0/0.204 2d19h     00:01:34 1      B E
100.64.204.16                GigabitEthernet0/0/0/0.204 2d19h     00:01:31 1 (DR) P
192.0.2.1                    LmdtCORE               04:42:43  00:01:41 1      P
192.0.2.3                    LmdtCORE               04:42:42  00:01:33 1      P
192.0.2.7                    LmdtCORE               04:42:42  00:01:43 1      P
192.0.2.21*                  LmdtCORE               04:43:00  00:01:25 1 (DR)


R1#sh bgp ipv4 mvpn all | b Network
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf MVPN)
 *>  [1][100:100][192.0.2.1]/12
                       0.0.0.0                            32768 ?
 *>i [1][100:100][192.0.2.3]/12
                       192.0.2.3                0    100      0 ?
 *>i [1][100:100][192.0.2.7]/12
                       192.0.2.7                0    100      0 ?
 *>i [1][100:100][192.0.2.21]/12
                       192.0.2.21                    100      0 i
 *>  [3][100:100][192.0.2.15][232.15.15.15][192.0.2.1]/22
                       0.0.0.0                            32768 ?

R1#sh bgp ipv4 mvpn all route-type 1 192.0.2.7 
BGP routing table entry for [1][100:100][192.0.2.7]/12, version 163
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    192.0.2.7 (metric 5) from 192.0.2.22 (192.0.2.22)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Community: no-export
      Extended Community: RT:100:100
      Originator: 192.0.2.7, Cluster list: 192.0.2.22
      PMSI Attribute: Flags: 0x0, Tunnel type: 2, length 17, label: exp-null, tunnel parameters: 0600 0104 C000 0207 0007 0100 0400 0100 00
      rx pathid: 0, tx pathid: 0x0

R1#sh bgp ipv4 mvpn all route-type 3 192.0.2.15 232.15.15.15 192.0.2.1
BGP routing table entry for [3][100:100][192.0.2.15][232.15.15.15][192.0.2.1]/22, version 188
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
  Advertised to update-groups:
     3         
  Refresh Epoch 1
  Local
    0.0.0.0 from 0.0.0.0 (192.0.2.1)
      Origin incomplete, localpref 100, weight 32768, valid, sourced, local, best
      Community: no-export
      Extended Community: RT:100:100
      PMSI Attribute: Flags: 0x0, Tunnel type: 2, length 17, label: exp-null, tunnel parameters: 0600 0104 C000 0201 0007 0100 0400 0100 01
      rx pathid: 0, tx pathid: 0x0


R7#sh ip pim vrf MVPN 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,
      L - DR Load-balancing Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
100.64.214.18     GigabitEthernet1.214     2d20h/00:01:38    v2    1 / DR S P G
192.0.2.21        Lspvif0                  04:37:39/00:01:30 v2    1 / DR G
192.0.2.1         Lspvif0                  04:54:04/00:01:39 v2    1 / S P G
192.0.2.3         Lspvif0                  04:54:04/00:01:30 v2    1 / S P G


R7#sh bgp ipv4 mvpn all | b Network
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf MVPN)
 *>i [1][100:100][192.0.2.1]/12
                       192.0.2.1                0    100      0 ?
 *>i [1][100:100][192.0.2.3]/12
                       192.0.2.3                0    100      0 ?
 *>  [1][100:100][192.0.2.7]/12
                       0.0.0.0                            32768 ?
 *>i [1][100:100][192.0.2.21]/12
                       192.0.2.21                    100      0 i
 *>i [3][100:100][192.0.2.15][232.15.15.15][192.0.2.1]/22
                       192.0.2.1                0    100      0 ?

We have verified that the FHRs and LHRs have formed PIM neighborships and that the BGP MVPN table is built. We will begin verifying the MPLS MLDP database and the MPLS forwarding table.

R1#show mpls mldp database | in FEC Root|Label|P2MP
LSM ID : 23   Type: P2MP   Uptime : 04:45:05
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.14*
      Local Label (D): 1022          Next Hop     : 100.64.14.4
LSM ID : 1F   Type: P2MP   Uptime : 05:03:45
  FEC Root           : 192.0.2.1 (we are the root)
LSM ID : 20   Type: P2MP   Uptime : 05:03:27
  FEC Root           : 192.0.2.3 
      Out Label (U)  : None          Interface    : GigabitEthernet1.12*
      Local Label (D): 1020          Next Hop     : 100.64.12.2
LSM ID : 21   Type: P2MP   Uptime : 05:01:24
  FEC Root           : 192.0.2.7 
      Out Label (U)  : None          Interface    : GigabitEthernet1.14*
      Local Label (D): 1021          Next Hop     : 100.64.14.4
LSM ID : 22   Type: P2MP   Uptime : 04:58:00
  FEC Root           : 192.0.2.1 (we are the root)


R1#show mpls forwarding-table labels 1020 - 1025 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1020  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
1021  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
1022  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       1098          aggregate/MVPN 


RP/0/0/CPU0:XR1#sh mpls mldp database | in "FEC Root|Label|P2MP"
Sat Dec 22 20:28:25.279 UTC
LSM-ID: 0x00009  Type: P2MP  Uptime: 04:47:00
  FEC Root           : 192.0.2.21 (we are the root)
      Local Label     : 91010 (internal)
LSM-ID: 0x00006  Type: P2MP  Uptime: 04:58:40
  FEC Root           : 192.0.2.1 
      Local Label (D) : 91011             
LSM-ID: 0x00007  Type: P2MP  Uptime: 04:58:40
  FEC Root           : 192.0.2.3 
      Local Label (D) : 91013             
LSM-ID: 0x00008  Type: P2MP  Uptime: 04:58:40
  FEC Root           : 192.0.2.7 
      Local Label (D) : 91014             


RP/0/0/CPU0:XR1#show mpls forwarding labels 91010 91015
Sat Dec 22 20:28:48.207 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
91010  92018       MLDP: 0x00009      Gi0/0/0/0.112 100.64.112.120  0           
       4021        MLDP: 0x00009      Gi0/0/0/0.114 100.64.114.4    0           
91011  Unlabelled  MLDP: 0x00006
91013  Unlabelled  MLDP: 0x00007
91014  Unlabelled  MLDP: 0x00008


R3#sh mpls mldp database | in P2MP|FEC Root|Label
LSM ID : 1F   Type: P2MP   Uptime : 04:48:21
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.36*
      Local Label (D): 3025          Next Hop     : 100.64.36.6
LSM ID : 1C   Type: P2MP   Uptime : 05:06:43
  FEC Root           : 192.0.2.1 
      Out Label (U)  : None          Interface    : GigabitEthernet1.23*
      Local Label (D): 3022          Next Hop     : 100.64.23.2
LSM ID : 1B   Type: P2MP   Uptime : 05:06:43
  FEC Root           : 192.0.2.3 (we are the root)
LSM ID : 1D   Type: P2MP   Uptime : 05:04:40
  FEC Root           : 192.0.2.7 
      Out Label (U)  : None          Interface    : GigabitEthernet1.36*
      Local Label (D): 3021          Next Hop     : 100.64.36.6
LSM ID : 1E   Type: P2MP   Uptime : 05:01:17
  FEC Root           : 192.0.2.1 
      Out Label (U)  : None          Interface    : GigabitEthernet1.23*
      Local Label (D): 3024          Next Hop     : 100.64.23.2


R3#sh mpls forwarding-table labels 3020 - 3025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3021  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
3022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       2196          aggregate/MVPN 
3024  [T]  No Label   [gid 65537 (0x00010001)][V]   \
                                       1220          aggregate/MVPN 
3025  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       2318          aggregate/MVPN 


R7#sh mpls mldp database | in Label|FEC Root
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.127*
      Local Label (D): 7021          Next Hop     : 100.64.127.12
  FEC Root           : 192.0.2.1 
      Out Label (U)  : None          Interface    : GigabitEthernet1.67*
      Local Label (D): 7025          Next Hop     : 100.64.67.6
  FEC Root           : 192.0.2.3 
      Out Label (U)  : None          Interface    : GigabitEthernet1.67*
      Local Label (D): 7022          Next Hop     : 100.64.67.6
  FEC Root           : 192.0.2.7 (we are the root)


R7#sh mpls forwarding-table labels 7020 - 7025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7021  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       6100          aggregate/MVPN 
           6020       [gid 1 (0x00000001)][V]   \
                                       55620         Gi1.67     100.64.67.6 
7022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
7025  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3538          aggregate/MVPN 


Now that we have verified the MLDP database and the forwarding tables, we know which labels to check later on and we can begin forwarding traffic. We'll start with the ASM groups on R15 and R16 and then the SSM groups. On R7 we know that label 7021 is for traffic from XR1 and label 7025 is for traffic from R1. On R3 we know that label 3025 is for traffic from XR1 and label 3022 is for traffic from R1.


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

Reply to request 0 from 100.64.211.17, 47 ms
Reply to request 0 from 192.0.2.18, 86 ms
Reply to request 0 from 192.0.2.17, 49 ms
Reply to request 0 from 100.64.214.18, 48 ms
Reply to request 1 from 192.0.2.17, 7 ms
Reply to request 1 from 192.0.2.18, 30 ms
Reply to request 1 from 100.64.214.18, 21 ms
Reply to request 1 from 192.0.2.18, 11 ms
Reply to request 1 from 192.0.2.17, 10 ms
Reply to request 1 from 100.64.211.17, 7 ms
Reply to request 2 from 192.0.2.17, 10 ms
Reply to request 2 from 192.0.2.18, 19 ms
Reply to request 2 from 192.0.2.17, 12 ms
Reply to request 2 from 192.0.2.18, 11 ms
Reply to request 3 from 192.0.2.17, 7 ms
Reply to request 3 from 192.0.2.18, 13 ms
Reply to request 3 from 192.0.2.18, 12 ms
Reply to request 3 from 192.0.2.17, 7 ms
Reply to request 4 from 192.0.2.17, 7 ms
Reply to request 4 from 192.0.2.18, 12 ms
Reply to request 4 from 192.0.2.18, 11 ms
Reply to request 4 from 192.0.2.17, 9 ms

After pinging the ASM group 227.1.2.3 we can verify the LFIBs on R3 and R7.

R3#sh mpls forwarding-table labels 3020 - 3025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3020  [T]  No Label   [gid 65539 (0x00010003)][V]   \
                                       0             aggregate/MVPN 
3021  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
3022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       2806          aggregate/MVPN 
3023  [T]  No Label   [gid 65538 (0x00010002)][V]   \
                                       0             aggregate/MVPN 
3024  [T]  No Label   [gid 65537 (0x00010001)][V]   \
                                       1220          aggregate/MVPN 
3025  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       2318          aggregate/MVPN 

We can see that label 3022 has incremented from 2196 to 2806.

R7#sh mpls forwarding-table labels 7019 - 7025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7021  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       6100          aggregate/MVPN 
           6020       [gid 1 (0x00000001)][V]   \
                                       55860         Gi1.67     100.64.67.6 
7022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
7025  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3904          aggregate/MVPN 


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

Reply to request 0 from 100.64.214.18, 47 ms
Reply to request 0 from 192.0.2.17, 48 ms
Reply to request 0 from 100.64.211.17, 47 ms
Reply to request 0 from 192.0.2.18, 47 ms
Reply to request 1 from 192.0.2.18, 10 ms
Reply to request 1 from 192.0.2.18, 16 ms
Reply to request 1 from 192.0.2.17, 14 ms
Reply to request 1 from 100.64.211.17, 14 ms
Reply to request 1 from 100.64.214.18, 14 ms
Reply to request 1 from 192.0.2.17, 11 ms
Reply to request 2 from 192.0.2.18, 11 ms
Reply to request 2 from 192.0.2.17, 12 ms
Reply to request 2 from 192.0.2.17, 12 ms
Reply to request 2 from 192.0.2.18, 11 ms
Reply to request 3 from 192.0.2.18, 9 ms
Reply to request 3 from 192.0.2.17, 15 ms
Reply to request 3 from 192.0.2.17, 11 ms
Reply to request 3 from 192.0.2.18, 11 ms
Reply to request 4 from 192.0.2.18, 8 ms
Reply to request 4 from 192.0.2.17, 14 ms
Reply to request 4 from 192.0.2.17, 13 ms
Reply to request 4 from 192.0.2.18, 11 ms


R3#sh mpls forwarding-table labels 3020 - 3025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3021  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
3022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3538          aggregate/MVPN 
3024  [T]  No Label   [gid 65537 (0x00010001)][V]   \
                                       1220          aggregate/MVPN 
3025  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       3172          aggregate/MVPN 

We can see that that label 3022 has incremented yet again.

R7#sh mpls forwarding-table labels 7019 - 7025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7021  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       5368          aggregate/MVPN 
           6020       [gid 1 (0x00000001)][V]   \
                                       52408         Gi1.67     100.64.67.6 
7022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
7025  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3538          aggregate/MVPN 

We clear the counters, clear mpls counters and retested.

R7#sh mpls forwarding-table labels 7019 - 7025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7021  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       1464          aggregate/MVPN 
           6020       [gid 1 (0x00000001)][V]   \
                                       2308          Gi1.67     100.64.67.6 
7022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
7025  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       610           aggregate/MVPN 

R15#ping 232.15.15.15 source l00 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 232.15.15.15, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.15 

Reply to request 0 from 192.0.2.17, 6 ms
Reply to request 0 from 192.0.2.17, 6 ms
Reply to request 1 from 192.0.2.17, 9 ms
Reply to request 1 from 192.0.2.17, 10 ms


R3#sh mpls forwarding-table labels 3020 - 3025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3021  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
3022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3538          aggregate/MVPN 
3024  [T]  No Label   [gid 65537 (0x00010001)][V]   \
                                       1708          aggregate/MVPN 
3025  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       3172          aggregate/MVPN 



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

Reply to request 0 from 192.0.2.18, 8 ms
Reply to request 0 from 192.0.2.18, 9 ms
Reply to request 1 from 192.0.2.18, 8 ms
Reply to request 1 from 192.0.2.18, 8 ms



R7#sh mpls forwarding-table labels 7019 - 7025
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7021  [T]  No Label   [gid 1 (0x00000001)][V]   \
                                       6100          aggregate/MVPN 
           6020       [gid 1 (0x00000001)][V]   \
                                       53460         Gi1.67     100.64.67.6 
7022  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       0             aggregate/MVPN 
7025  [T]  No Label   [gid 65536 (0x00010000)][V]   \
                                       3538          aggregate/MVPN 

Label 7021 is for traffic from XR1 and talks directly to R18.

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment