Sunday, December 30, 2018

CCIE SPv4 MPLS Multicast VPN - Profile 6 VRF MLDP - In-band Signaling

In this post we will take a look at a different variation than our previous posts. We will leverage an in-band signaling variation versus the out-of-band signaling, overlay signaling with PIM and BGP. In band signaling treats multicast traffic just like unicast traffic and populates the LFIB with SSM Groups. This profile only supports SSM traffic, no discovery method exists to learn dynamic multicast sources.



R1, R3 and R7
ip multicast vrf MVPN mpls mldp
ip pim vrf MVPN mpls source Loopback0

XR1, XR5 and XR6
route-policy RPL_IN_BAND
  set core-tree mldp-inband
end-policy
!
router pim
 vrf CORE
  address-family ipv4
   rpf topology route-policy RPL_IN_BAND
!
multicast-routing
 address-family ipv4
  mdt source Loopback0
  interface all enable
 !
 vrf CORE
  address-family ipv4
   mdt mldp in-band-signaling ipv4

The configuration is in place we can begin the verification.

R1#sh bgp ipv4 mvpn all

RP/0/0/CPU0:XR1#sh bgp ipv4 mvpn
Sun Dec 30 01:07:37.269 UTC

We can see that no BGP MVPN neighbors or routes are learned, proving there is no customer routes signaled via BGP.

R1#sh ip pim vrf MVPN neighbor 
PIM Neighbor Table

Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
100.64.201.15     GigabitEthernet1.201     3d12h/00:01:22    v2    1 / DR S P G


RP/0/0/CPU0:XR1#sh pim vrf CORE neighbor 
Sun Dec 30 01:07:53.778 UTC

Neighbor Address             Interface              Uptime    Expires  DR pri   Flags

100.64.204.11*               GigabitEthernet0/0/0/0.204 1w3d      00:01:24 1      B E
100.64.204.16                GigabitEthernet0/0/0/0.204 1w3d      00:01:29 1 (DR) P
192.0.2.21*                  GImdtCORE              01:36:41  now      1 (DR) E
192.0.2.21*                  ImdtCORE               01:36:41  now      1 (DR) E

We also see that only CE PIM neighbors are formed. 

Since the signaling is in-band, whenever a customer router signals interest to receive traffic from an SSM group, this triggers a label mapping message back to the root, the PE connected to the source.

R20
interface Loopback0
 ip igmp join-group 232.20.20.21 source 192.0.2.15

 ip igmp join-group 232.20.20.20 source 192.0.2.16


XR5
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001B [vpnv4 100:100 192.0.2.16 232.20.20.20] P2MP 192.0.2.21, Add PIM MDT branch remote label no_label
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x0001C [vpnv4 100:100 192.0.2.15 232.20.20.21] P2MP 192.0.2.1, Add PIM MDT branch remote label no_label 

R1
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.16 232.20.20.20 100:100] Root: 192.0.2.21, Add P2MP branch 192.0.2.25:0 remote label 24026
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.20.20.21 100:100] Root: 192.0.2.1, Add P2MP branch 192.0.2.25:0 remote label 24022

R4
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.16 232.20.20.20 100:100] Root: 192.0.2.21, Add P2MP branch 192.0.2.1:0 remote label 1031

XR1
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00035 [vpnv4 100:100 192.0.2.16 232.20.20.20] P2MP 192.0.2.21, Add LDP 192.0.2.4:0 branch remote label 4031 
mpls_ldp[1181]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00035 [vpnv4 100:100 192.0.2.16 232.20.20.20] P2MP 192.0.2.21, Add Local branch remote label no_label

We see that after R20 signal interest in a couple SSM groups, we see end to end signaling from XR5 to XR1.

R18
interface Loopback0
 ip igmp join-group 232.18.18.2 source 192.0.2.15

R7
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.18.18.2 100:100] Root: 192.0.2.1, Add P2MP branch MRIBv4(1) remote label

R6
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.18.18.2 100:100] Root: 192.0.2.1, Add P2MP branch 192.0.2.7:0 remote label 7026

R5
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.18.18.2 100:100] Root: 192.0.2.1, Add P2MP branch 192.0.2.6:0 remote label 6023

R4
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.18.18.2 100:100] Root: 192.0.2.1, Add P2MP branch 192.0.2.5:0 remote label 5024

R1
%MLDP-5-ADD_BRANCH: [vpnv4 192.0.2.15 232.18.18.2 100:100] Root: 192.0.2.1, Add P2MP branch 192.0.2.4:0 remote label 4026

The same thing applies for the R18 signaled group, end to end signaling.

R16#sh ip mroute

(192.0.2.16, 232.20.20.20), 00:17:03/00:02:41, flags: sT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet1.204, Forward/Sparse, 00:12:50/00:02:41

Checking R16, we see the (S, G) entry proving that end to end signaling was successful.

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, 13 ms
Reply to request 0 from 192.0.2.20, 14 ms
Reply to request 1 from 192.0.2.20, 9 ms
Reply to request 1 from 192.0.2.20, 9 ms

From the source, we ping the group from the loopback and get replies back in.

R15#sh ip mroute

(192.0.2.15, 232.18.18.2), 00:00:04/00:03:25, flags: sT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet1.201, Forward/Sparse, 00:00:04/00:03:25

On R15 we see the MRIB with the signaled group interest.

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

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

Pings to the group address sourced from the loopback.

R7#sh mpls forwarding-table labels 7026       
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7026  [T]  No Label   [vpnv4 192.0.2.15 232.18.18.2 100:100][V]   \
                                       488           aggregate/MVPN 

Unfortunately, there isn't a way to verify IOS XRv multicast forwarding, the ping replies is are ok, the upstream routers, like R1 for XR5 have an entry for the signaled 232.20.20.20 group.

R1#show mpls forwarding-table labels 1031
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1031       24026      [vpnv4 192.0.2.16 232.20.20.20 100:100]   \
                                       2928          Gi1.15     100.64.15.15

R16#ping 232.20.20.20 source lo0 repeat 5
Type escape sequence to abort.
Sending 5, 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, 11 ms
Reply to request 0 from 192.0.2.20, 11 ms
Reply to request 1 from 192.0.2.20, 8 ms
Reply to request 1 from 192.0.2.20, 8 ms
Reply to request 2 from 192.0.2.20, 7 ms
Reply to request 2 from 192.0.2.20, 7 ms
Reply to request 3 from 192.0.2.20, 10 ms
Reply to request 3 from 192.0.2.20, 10 ms
Reply to request 4 from 192.0.2.20, 10 ms
Reply to request 4 from 192.0.2.20, 10 ms

R1#show mpls forwarding-table labels 1031
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1031       24026      [vpnv4 192.0.2.16 232.20.20.20 100:100]   \
                                       4148          Gi1.15     100.64.15.15

We can see that the counter incremented, proving that traffic to the source was sent.

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment