Profile 0 Default MDT - GRE - PIM C-mcast Signaling
Profile 3 Default MDT - GRE - BGP-AD - PIM C-mcast Signaling
Profile 11 Default MDT - GRE - BGP-AD - BGP C-mcast Signaling
All three use GRE to forward between PE devices in the SP backbone. Rather than tackling them in numerical order, I wanted to better understand how they were different in the hopes of using that understanding to help in the CCIE lab when they describe which profile to implement. There are 27 after all. The Rosen Model is the first we'll look at. No BGP will be used for Any Source Multicast, just BSR in the SP core and BSR on R15 for the RPs.
We'll be focusing on the left side of the diagram for now. R15 will be the RP for the CE sites, R16 will be the sender and R17 and R18 will be the receivers.
Setting up the SP backbone
We'll start off by configuring R1-R7 and XR1-XR2 to enable multicast and PIM.
R5 will be the RP of the SP backbone.
The PE routers will form direct, or full mesh multicast tunnel connections with each other.
The entire SP core will build inter SP router PIM tunnels with each others to allow the forwarding of multicast traffic through the backbone network.
R1
vrf definition MVPN
rd 100:100
route-target both 100:100
!
address-family ipv4
mdt default 239.1.1.1
exit-address-family
!
ip multicast-routing distributed
!
ip multicast-routing vrf MVPN distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.201
vrf forwarding MVPN
ip pim sparse-mode
!
interface GigabitEthernet1.12
ip pim sparse-mode
!
interface GigabitEthernet1.14
ip pim sparse-mode
!
router bgp 1.50693
address-family ipv4 vrf MVPN
neighbor 100.64.201.15 remote-as 65015
neighbor 100.64.201.15 activate
R2
ip multicast-routing distributed
!
interface GigabitEthernet1.12
ip pim sparse-mode
!
interface GigabitEthernet1.23
ip pim sparse-mode
!
interface GigabitEthernet1.25
ip pim sparse-mode
R3
vrf definition MVPN
rd 100:100
route-target both 100:100
!
address-family ipv4
mdt default 239.1.1.1
exit-address-family
!
ip multicast-routing distributed
ip multicast-routing vrf MVPN distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.23
ip pim sparse-mode
!
interface GigabitEthernet1.36
ip pim sparse-mode
!
interface GigabitEthernet1.211
vrf forwarding MVPN
ip pim sparse-mode
!
router bgp 1.50693
address-family ipv4 vrf MVPN
neighbor 100.64.211.17 remote-as 65017
neighbor 100.64.211.17 activate
R4
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.14
ip pim sparse-mode
!
interface GigabitEthernet1.45
!ip pim sparse-mode
!
interface GigabitEthernet1.114
ip pim sparse-mode
R5
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.25
ip pim sparse-mode
!
interface GigabitEthernet1.45
ip pim sparse-mode
!
interface GigabitEthernet1.56
ip pim sparse-mode
!
interface GigabitEthernet1.125
ip pim sparse-mode
!
ip pim bsr-candidate Loopback0 0
ip pim rp-candidate Loopback0
R6
ip multicast-routing distributed
!
interface GigabitEthernet1.36
ip pim sparse-mode
!
interface GigabitEthernet1.56
ip pim sparse-mode
!
interface GigabitEthernet1.67
ip pim sparse-mode
R7
ip multicast-routing distributed
ip multicast-routing vrf MVPN distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.67
ip pim sparse-mode
!
interface GigabitEthernet1.127
ip pim sparse-mode
!
interface GigabitEthernet1.214
encapsulation dot1Q 214
vrf forwarding MVPN
ip address 100.64.214.7 255.255.255.0
ip pim sparse-mode
!
router bgp 1.50693
address-family ipv4 vrf MVPN
neighbor 100.64.214.18 remote-as 65018
neighbor 100.64.214.18 activate
XR1
multicast-routing
address-family ipv4
mdt source Loopback0
interface all enable
!
vrf CORE
address-family ipv4
mdt source Loopback0
interface all enable
mdt default ipv4 239.1.1.1
!
!
!
router pim
address-family ipv4
interface Loopback0
!
interface GigabitEthernet0/0/0/0.112
!
interface GigabitEthernet0/0/0/0.114
!
!
vrf CORE
address-family ipv4
interface GigabitEthernet0/0/0/0.204
!
!
!
!
router bgp 1.50693
address-family vpnv4 unicast
!
vrf CORE
rd 1:1
address-family ipv4 unicast
!
neighbor 100.64.204.16
remote-as 65016
address-family ipv4 unicast
route-policy RPL_EBGP_PEERINGS in
route-policy RPL_EBGP_PEERINGS out
as-override
XR2
multicast-routing
address-family ipv4
mdt source Loopback0
interface all enable
!
!
router pim
address-family ipv4
interface Loopback0
!
interface GigabitEthernet0/0/0/0.112
!
interface GigabitEthernet0/0/0/0.125
!
interface GigabitEthernet0/0/0/0.127
!
!
!
router bgp 1.50693
address-family vpnv4 unicast
!
address-family vpnv6 unicast
!
neighbor 192.0.2.1
remote-as 1.50693
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 192.0.2.3
remote-as 1.50693
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 192.0.2.6
remote-as 1.50693
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 192.0.2.7
remote-as 1.50693
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 192.0.2.21
remote-as 1.50693
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
R15
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.201
encapsulation dot1Q 201
ip address 100.64.201.15 255.255.255.0
ip pim sparse-mode
!
ip pim bsr-candidate Loopback0 0
ip pim rp-candidate Loopback0
!
router bgp 65015
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.64.201.1 remote-as 116229
!
address-family ipv4
network 192.0.2.15 mask 255.255.255.255
neighbor 100.64.201.1 activate
exit-address-family
R16
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
!
interface GigabitEthernet1.204
ip pim sparse-mode
!
router bgp 65016
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.64.204.11 remote-as 116229
!
address-family ipv4
network 192.0.2.16 mask 255.255.255.255
neighbor 100.64.204.11 activate
exit-address-family
R17
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
ip igmp join-group 224.1.1.2
!
interface GigabitEthernet1.211
ip pim sparse-mode
!
router bgp 65017
bgp asnotation dot
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.64.211.3 remote-as 1.50693
!
address-family ipv4
network 192.0.2.17 mask 255.255.255.255
neighbor 100.64.211.3 activate
exit-address-family
R18
ip multicast-routing distributed
!
interface Loopback0
ip pim sparse-mode
ip igmp join-group 224.1.1.1
!
interface GigabitEthernet1.214
ip pim sparse-mode
!
router bgp 65018
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.64.214.7 remote-as 116229
!
address-family ipv4
network 192.0.2.18 mask 255.255.255.255
neighbor 100.64.214.7 activate
exit-address-family
With the configuration complete, we'll check the CE RP, R15 to make sure that the routes from the other CE sites are showing up.
R15#sh ip bgp
BGP table version is 32, local router ID is 192.0.2.15
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 192.0.2.15/32 0.0.0.0 0 32768 i
*> 192.0.2.16/32 100.64.201.1 0 116229 65016 i
*> 192.0.2.17/32 100.64.201.1 0 116229 65017 i
*> 192.0.2.18/32 100.64.201.1 0 116229 65018 i
Routes are showing up as expected.
R1#sh ip pim interface
Address Interface Ver/ Nbr Query DR DR
Mode Count Intvl Prior
100.64.12.1 GigabitEthernet1.12 v2/S 1 30 1 100.64.12.2
100.64.14.1 GigabitEthernet1.14 v2/S 1 30 1 100.64.14.4
192.0.2.1 Loopback0 v2/S 0 30 1 192.0.2.1
R1#sh ip pim 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.12.2 GigabitEthernet1.12 19:12:48/00:01:44 v2 1 / DR S P G
100.64.14.4 GigabitEthernet1.14 19:11:54/00:01:38 v2 1 / DR S P G
We need to verify the SP core that PIM is enabled on the appropriate interfaces and neighbors formed. We see that PIM is enabled on the correct interfaces and neighbors have formed.
RP/0/0/CPU0:XR1#sh pim interface
Mon Dec 10 08:48:24.501 UTC
PIM interfaces in VRF default
Address Interface PIM Nbr Hello DR DR
Count Intvl Prior
192.0.2.21 Loopback0 on 1 30 1 this system
100.64.12.11 GigabitEthernet0/0/0/0.12 off 0 30 1 not elected
100.64.14.11 GigabitEthernet0/0/0/0.14 off 0 30 1 not elected
100.64.71.11 GigabitEthernet0/0/0/0.71 off 0 30 1 not elected
100.64.111.11 GigabitEthernet0/0/0/0.111 off 0 30 1 not elected
100.64.112.11 GigabitEthernet0/0/0/0.112 on 2 30 1 100.64.112.120
100.64.114.111 GigabitEthernet0/0/0/0.114 on 2 30 1 this system
100.64.115.11 GigabitEthernet0/0/0/0.115 off 0 30 1 not elected
100.64.116.11 GigabitEthernet0/0/0/0.116 off 0 30 1 not elected
100.64.118.11 GigabitEthernet0/0/0/0.118 off 0 30 1 not elected
100.64.141.11 GigabitEthernet0/0/0/0.141 off 0 30 1 not elected
100.64.151.110 GigabitEthernet0/0/0/0.151 off 0 30 1 not elected
RP/0/0/CPU0:XR1#sh pim neighbor
Mon Dec 10 08:48:35.980 UTC
PIM neighbors in VRF default
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.112.11* GigabitEthernet0/0/0/0.112 17:32:13 00:01:37 1 B
100.64.112.120 GigabitEthernet0/0/0/0.112 17:32:09 00:01:41 1 (DR) B
100.64.114.4 GigabitEthernet0/0/0/0.114 17:32:11 00:01:15 1 P
100.64.114.111* GigabitEthernet0/0/0/0.114 17:32:13 00:01:31 1 (DR) B E
192.0.2.21* Loopback0 17:32:14 00:01:16 1 (DR) B E
The same applies to XR, we have PIM enabled on the interfaces and neighbors have formed.
R1#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
(*, 239.1.1.1), 18:32:24/stopped, RP 192.0.2.5, flags: SJCFZ
Incoming interface: GigabitEthernet1.14, RPF nbr 100.64.14.4
Outgoing interface list:
MVRF MVPN, Forward/Sparse, 18:32:22/stopped
(192.0.2.21, 239.1.1.1), 17:09:44/00:02:26, flags: JTZ
Incoming interface: GigabitEthernet1.14, RPF nbr 100.64.14.4
Outgoing interface list:
MVRF MVPN, Forward/Sparse, 17:09:44/00:02:15
(192.0.2.7, 239.1.1.1), 17:45:50/00:01:05, flags: JTZ
Incoming interface: GigabitEthernet1.14, RPF nbr 100.64.14.4
Outgoing interface list:
MVRF MVPN, Forward/Sparse, 17:45:50/00:02:09
(192.0.2.3, 239.1.1.1), 18:19:32/00:02:43, flags: JTZ
Incoming interface: GigabitEthernet1.12, RPF nbr 100.64.12.2
Outgoing interface list:
MVRF MVPN, Forward/Sparse, 18:19:32/00:01:27
(192.0.2.1, 239.1.1.1), 18:29:24/00:02:36, flags: FT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet1.14, Forward/Sparse, 17:45:50/00:02:47
GigabitEthernet1.12, Forward/Sparse, 18:19:24/00:02:32
Now on the PEs, we verify the mroute table to verify we have formed multicast tunnels to the remote PE routers to forward the multicast traffic over the SP backbone. No BGP is used in this variant, since it is just ASM.
R1#sh ip mroute vrf MVPN
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
(*, 224.1.1.2), 17:02:38/00:02:34, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Tunnel0, Forward/Sparse, 16:49:49/00:02:34
(*, 224.0.1.40), 18:33:13/00:02:53, RP 0.0.0.0, flags: DPL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
We verify the VRF mroute table as well, we just see the (*, G) entry for the receivers that have signaled interest in traffic to the 224.1.1.2 group.
RP/0/0/CPU0:XR1#sh mrib route
Mon Dec 10 08:37:08.537 UTC
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface
(*,224.0.0.0/4) RPF nbr: 100.64.114.4 Flags: C RPF P
Up: 17:20:19
(*,224.0.0.0/24) Flags: D P
Up: 17:20:56
(*,224.0.1.39) Flags: S P
Up: 17:20:56
(*,224.0.1.40) Flags: S P
Up: 17:20:56
Outgoing Interface List
Loopback0 Flags: II LI, Up: 17:20:47
(*,232.0.0.0/8) Flags: D P
Up: 17:20:56
(*,239.1.1.1) RPF nbr: 100.64.114.4 Flags: C RPF MD MH CD
MVPN TID: 0xe0000011
MVPN Remote TID: 0x0
MVPN Payload: IPv4
MDT IFH: 0x880
Up: 17:10:13
Incoming Interface List
GigabitEthernet0/0/0/0.114 Flags: A NS, Up: 17:10:13
Outgoing Interface List
Loopback0 Flags: F NS, Up: 17:10:13
(192.0.2.1,239.1.1.1) RPF nbr: 100.64.114.4 Flags: RPF MD MH CD
MVPN TID: 0xe0000011
MVPN Remote TID: 0x0
MVPN Payload: IPv4
MDT IFH: 0x880
Up: 17:10:05
Incoming Interface List
GigabitEthernet0/0/0/0.114 Flags: A, Up: 17:10:05
Outgoing Interface List
Loopback0 Flags: F NS, Up: 17:10:05
(192.0.2.3,239.1.1.1) RPF nbr: 100.64.114.4 Flags: RPF MD MH CD
MVPN TID: 0xe0000011
MVPN Remote TID: 0x0
MVPN Payload: IPv4
MDT IFH: 0x880
Up: 17:10:05
Incoming Interface List
GigabitEthernet0/0/0/0.114 Flags: A, Up: 17:10:05
Outgoing Interface List
Loopback0 Flags: F NS, Up: 17:10:05
(192.0.2.7,239.1.1.1) RPF nbr: 100.64.112.120 Flags: RPF MD MH
MVPN TID: 0xe0000011
MVPN Remote TID: 0x0
MVPN Payload: IPv4
MDT IFH: 0x880
Up: 17:20:41
Incoming Interface List
GigabitEthernet0/0/0/0.112 Flags: A, Up: 17:20:41
Outgoing Interface List
Loopback0 Flags: F NS, Up: 17:10:13
GigabitEthernet0/0/0/0.114 Flags: F NS, Up: 17:20:41
(192.0.2.21,239.1.1.1) RPF nbr: 192.0.2.21 Flags: RPF ME MH
MVPN TID: 0xe0000011
MVPN Remote TID: 0x0
MVPN Payload: IPv4
MDT IFH: 0x880
Up: 17:10:13
Incoming Interface List
Loopback0 Flags: F A, Up: 17:10:13
Outgoing Interface List
Loopback0 Flags: F A, Up: 17:10:13
GigabitEthernet0/0/0/0.112 Flags: F NS, Up: 17:10:13
GigabitEthernet0/0/0/0.114 Flags: F NS, Up: 17:10:05
We verify the mrib route table on XR and see the same full mesh of GRE tunnels between the PE routers.
RP/0/0/CPU0:XR1#sh mrib vrf CORE route
Mon Dec 10 08:38:13.423 UTC
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface
(*,224.0.0.0/4) RPF nbr: 192.0.2.1 Flags: C RPF P
Up: 17:10:52
(*,224.0.0.0/24) Flags: D P
Up: 17:22:01
(*,224.0.1.39) Flags: S P
Up: 17:22:01
(*,224.0.1.40) Flags: S P
Up: 17:22:01
Outgoing Interface List
GigabitEthernet0/0/0/0.204 Flags: II LI, Up: 17:21:51
(*,232.0.0.0/8) Flags: D P
Up: 17:22:01
Right now, we see the default table entries.
R16# ping 224.1.1.2 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 224.1.1.2, timeout is 2 seconds:
.
Reply to request 1 from 100.64.211.17, 12 ms
Reply to request 1 from 192.0.2.17, 12 ms
R16 sends traffic towards the receiver, R17. We get ping replies back from R17 proving the control plane and data plane are setup correctly.
RP/0/0/CPU0:XR1#sh mrib vrf CORE route
Mon Dec 10 08:38:54.580 UTC
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface
(*,224.0.0.0/4) RPF nbr: 192.0.2.1 Flags: C RPF P
Up: 17:11:34
(*,224.0.0.0/24) Flags: D P
Up: 17:22:42
(*,224.0.1.39) Flags: S P
Up: 17:22:42
(*,224.0.1.40) Flags: S P
Up: 17:22:42
Outgoing Interface List
GigabitEthernet0/0/0/0.204 Flags: II LI, Up: 17:22:32
(100.64.204.16,224.1.1.2) RPF nbr: 100.64.204.16 Flags: RPF
Up: 00:00:06
Incoming Interface List
mdtCORE Flags: A MI, Up: 00:00:06
(192.0.2.16,224.1.1.2) RPF nbr: 100.64.204.16 Flags: RPF
Up: 00:00:04
Incoming Interface List
GigabitEthernet0/0/0/0.204 Flags: A, Up: 00:00:04
Outgoing Interface List
mdtCORE Flags: F NS MI, Up: 00:00:04
(*,232.0.0.0/8) Flags: D P
Up: 17:22:42
We see the VRF MRIB route table has now been populated with the (S, G) entries for the source.
R1#sh ip mroute vrf MVPN
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
(*, 224.1.1.1), 17:11:18/00:03:09, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Tunnel0, Forward/Sparse, 17:11:18/00:03:09
(*, 224.1.1.2), 17:04:41/00:03:28, RP 192.0.2.15, flags: S
Incoming interface: GigabitEthernet1.201, RPF nbr 100.64.201.15
Outgoing interface list:
Tunnel0, Forward/Sparse, 16:51:51/00:03:28
(192.0.2.16, 224.1.1.2), 00:00:50/00:02:09, flags:
Incoming interface: Tunnel0, RPF nbr 192.0.2.21
Outgoing interface list:
GigabitEthernet1.201, Forward/Sparse, 00:00:50/00:02:39
(*, 224.0.1.40), 18:35:16/00:02:45, RP 0.0.0.0, flags: DPL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
R1 shows the same thing in the VRF mroute table. We see the (S, G) entry and that the RPF neighbor is via tunnel 0 source by XR1s loopback IP adress.
R15 - RP of the CE network - debug ip pim
PIM(0): Received v2 Register on GigabitEthernet1.201 from 100.64.204.16
for 100.64.204.16, group 224.1.1.2
PIM(0): Check RP 192.0.2.15 into the (*, 224.1.1.2) entry
PIM(0): Adding register decap tunnel (Tunnel1) as accepting interface of (*, 224.1.1.2).
PIM(0): Adding register decap tunnel (Tunnel1) as accepting interface of (100.64.204.16, 224.1.1.2).
PIM(0): Send v2 Register-Stop to 100.64.204.16 for 100.64.204.16, group 224.1.1.2
We debug R15 to see what it sees. When R16 sent pings to 224.1.1.2, there weren't receivers requesting feeds yet, so R15 simply sees the register message from R16 and the associate register stop sent back to the sender. This builds the (S, G) entry on the RP.
R3 - PE
PIM(1): Received v2 Join/Prune on GigabitEthernet1.211 from 100.64.211.17, to us
PIM(1): Join-list: (*, 224.1.1.2), RPT-bit set, WC-bit set, S-bit set
PIM(1): Check RP 192.0.2.15 into the (*, 224.1.1.2) entry
PIM(1): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 224.1.1.2
PIM(1): Add GigabitEthernet1.211/100.64.211.17 to (*, 224.1.1.2), Forward state, by PIM *G Join
PIM(1): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 224.1.1.2
PIM(1): Upstream mode for (*, 224.1.1.2) changed from 0 to 1
PIM(1): Insert (*,224.1.1.2) join in nbr 192.0.2.1's queue
PIM(1): Building Join/Prune packet for nbr 192.0.2.1
PIM(1): Adding v2 (192.0.2.15/32, 224.1.1.2), WC-bit, RPT-bit, S-bit Join
PIM(1): Send v2 join/prune to 192.0.2.1 (Tunnel1)
R17 now joins the 224.1.1.2 group sending a PIM join to R3 who enabled PIM debugs and the PIM join is sent to R15, 192.0.2.15 to add an (*, G) join. NOw R15 has a (S, G) and (*, G) entry and can now join the source based tree, (S, G), to the shared tree, (*, G) and multicast traffic begin flowing. We can tell this is still the shared tree since the (S, G) is (192.0.2.15/32, 224.1.1.2).
PIM(0): Received v2 Register on GigabitEthernet1.201 from 100.64.204.16
for 100.64.204.16, group 224.1.1.2
PIM(0): Adding register decap tunnel (Tunnel1) as accepting interface of (100.64.204.16, 224.1.1.2).
PIM(0): Received v2 Register on GigabitEthernet1.201 from 100.64.204.16
for 100.64.204.16, group 224.1.1.2
PIM(0): Received v2 Register on GigabitEthernet1.201 from 100.64.204.16
for 192.0.2.16, group 224.1.1.2
PIM(0): Adding register decap tunnel (Tunnel1) as accepting interface of (192.0.2.16, 224.1.1.2).
PIM(0): Insert (192.0.2.16,224.1.1.2) join in nbr 100.64.201.1's queue
PIM(0): Building Join/Prune packet for nbr 100.64.201.1
PIM(0): Adding v2 (192.0.2.16/32, 224.1.1.2), S-bit Join
PIM(0): Send v2 join/prune to 100.64.201.1 (GigabitEthernet1.201)
We see the S-bit set, which is the switchover from the shared tree to the source based tree. This shows us that the traffic from the source will flow directly to the receiver. We can tell the SPT is now built as the entry (192.0.2.15/32, 224.1.1.2) is now (192.0.2.16/32, 224.1.1.2).
Thanks for stopping by!
Rob Riker, CCIE #50693
No comments:
Post a Comment