GTM
GTM overview
GTM with BGP Multicast VPN (BGP-MVPN), as specified in RFC 7716, allows a Service Provider (SP) to use the same multicast architecture that was originally developed for VPNs to distribute multicast routing information that is not specific to VPNs. Instead of storing the routing information in VRFs, multicast routing information is maintained in a global table for the router.
The architecture can be logically divided into a core network and non-core (attachment) networks. The multicast routing protocol used in the core network may not be the same as the protocol used in the attachment networks. As there is a protocol boundary between the core and attachment networks, the term Protocol Boundary Router (PBR) refers to the core routers that are at the boundary. A PBR is not necessarily an edge router in the PE sense; however, a PBR in the SP network marks the border of any tunnels that are used to transport multicast traffic across the core network. Routers that are attached to the PBRs but that are not part of the core network are referred to as Attachment Routers (ARs). See GTM network topology example.
Multicast data traffic from an AR is tunneled through the core network from an ingress PBR to one or more egress PBRs, using multicast routing information stored in the PBR’s global table. The global table learns the PBR’s multicast routing information from the ARs attached to the PBR and distributes the information among the PBRs using BGP. PBRs use the same BGP-MVPN procedures used by PE routers to route multicast VPN traffic, with some adaptations to the procedures to use the global table instead of a VRF.
By using the BGP procedures designed for MVPN to support GTM, a single control plane is available to govern the use of both VPN and non-VPN multicast. The features and characteristics of MVPN carry over automatically to GTM, including, but not limited to:
scaling
aggregation
transport over RSVP tunnels in the SP network
support for non-segmented intra-autonomous systems (ASs) tunnels
support for PIM-SSM outside of the core
support for both IPv4 and IPv6 multicast flows over an IPv4 SP infrastructure
support for unsolicited flooded data (including support for BSR as an RP-to-group mapping protocol
Using BGP-MVPN procedures in GTM
Route distinguishers and route targets
The BGP routes used in the MVPN procedures have a Subsequent Address Family Identifier (SAFI) value of 5, or MCAST-VPN. The Network Layer Reachability Information (NLRI) format for MCAST-VPN routes consists of a Route Type (RT) field and depending on the RT, a Route Distinguisher (RD) Extended Community (EC) field.
To distinguish MCAST-VPN routes originated for VPNs from MCAST-VPN routes in support of GTM, the RD field, if defined within that route’s NLRI, must be set to zero (that is, 64 bits of zero). An RD of all zeros associates that route with GTM, as no VRF can have an RD of zero.
MVPN procedures use two types of RTs, one of which is carried only in the routes of C-multicast shared tree joins, C-multicast source tree joins, and leaf auto-discovery routes (A-D routes). This RT type identifies the PE router that has been selected by the route’s originator as the Upstream PE or as the Upstream Multicast Hop (UMH) for a particular multicast flow or set of multicast flows. This RT must be an IPv4- or IPv6-address-specific EC, where the Global Administrator field identifies the Upstream PE or the UMH. If the Global Administrator field identifies the Upstream PE, the Local Administrator field identifies a particular VRF in that PE.
To support GTM, this type of RT is used in the same situations as in the MVPN specifications, with the modification that the Local Administrator field of this RT type must always be set to zero. This implicitly identifies the global table instead of identifying a VRF. This type of RT is referred to as an upstream-node-identifying RT.
UMH-eligible routes
For MVPN, routes of SAFI 128 or 129 are UMH-eligible routes. For GTM, routes of SAFI 1, SAFI 4, or SAFI 2 are UMH-eligible routes. Imported routes of SAFI 2 in the global table are UMH-eligible routes; otherwise, routes of SAFI 1 or SAFI 4 are considered UMH-eligible routes. For UMH determination, SAFI 1 and SAFI 4 routes containing the same IP prefix in their respective NLRI fields are considered by the BGP best-path selection process to be comparable.
UMH-eligible routes that have a SAFI of 1, 2, or 4 carry both the VRF Route Import EC and the Source AS EC. These ECs are automatically configured for GTM.
BGP route types supported
BGP route types describes the BGP route types.
BGP route type | Name | Description | Supported for GTM |
---|---|---|---|
1 |
Intra-AS I-PMSI AD route |
Originated by all PBR routers. Used for advertising and learning intra-AS MVPN membership information. |
Yes, always originated by SR OS |
2 |
Inter-AS I-PMSI A-D route |
Originated by ASBR routers. Used for advertising and learning inter-AS MVPN membership information. |
No (no Inter-AS support) |
3 |
S-PMSI A-D route |
Originated by sender PBRs. Used for initiating a selective P-tunnel for a particular (C-S, C-G). |
Yes |
4 |
Leaf A-D route |
Originated by receiver PBRs in response to receiving a Type 3 route. Used by sender PBR to discover the leaves of a selective P-tunnel. |
Yes |
5 |
Source Active A-D route |
Originated by the PBR that discovers an active VPN multicast source. Used by PBRs to learn the identity of active VPN multicast sources. |
Yes |
6 |
Shared Tree Join route |
Originated by receiver PBRs. Originated when a PE receives a shared tree C-join (C-*, C-G) through its PE-CE interface. |
Yes |
7 |
Source Tree Join route |
Originated by receiver PBRs. Originated when a PBR receives a source tree C-join (C-S, C-G) or originated by the PBR that already has a Type 6 route and receives a Type 5 route. |
Yes, for non-segmented trees |
Configuring GTM
Configuration recommendations
When configuring GTM, consider the following recommendations:
In a dual-homing configuration, ECMP to the upstream multicast hop (UMH) routers must be configured for the BGP routes to be used. If the UMH routers are unreachable via ECMP, it may cause duplicate traffic in the core. This behavior is consistent with RFC 7716, section 2.3.4., which states that the single forwarder selection (SFS) procedure cannot be applied to GTM.
For IPv6 GTM, the IPv4 address must be configured as the IPv6 system address, as in the following example.
- MD-CLI
configure router pim ipv4 gtm auto-discovery
- classic
CLI
configure router pim gtm auto-discovery
The following example shows a system interface configuration.
MD-CLI
[ex:/configure router "Base"]
A:admin@node-2# info
interface "system" {
admin-state enable
ipv4 {
primary {
address 10.20.1.4
prefix-length 32
}
}
ipv6
primary {
address ff0e::db8:104
prefix-length 128
}
}
}
classic CLI
A:node-2>config>router# info
interface "system"
address 10.20.1.4/32
ipv6
address ff0e::db8:104/128
exit
no shutdown
exit
Configuring GTM with CLI
Example configuration shows an example GTM configuration.
In the example configuration, the following applies:-
Routers A and F are CE routers.
-
Routers B, C, D, and E are MSR routers in the core network.
-
The multicast source is at x4.
-
The multicast receivers are at x1, x2, and x3.
Perform the following steps to configure GTM:
-
Configure PIM for GTM.
PIM for GTM configuration (MD-CLI)
[ex:/configure router "base" pim] A:admin@node-2# info admin-state enable apply-to all mc-ecmp-balance false ipv4 { gtm { auto-discovery bgp } } interface "intf_to_B" { admin-state disable } interface "intf_to_E" { admin-state disable } rp { ipv4 { static { address 10.100.1.1 { group-prefix 224.0.0.0/4 { } } } }
PIM for GTM configuration (classic CLI)A:node-2>config>router>pim# info ---------------------------------------------- interface "intf_to_B" shutdown exit interface "intf_to_E" shutdown exit apply-to all rp static address 10.100.1.1 group-prefix 224.0.0.0/4 exit exit bsr-candidate shutdown exit rp-candidate shutdown exit exit gtm auto-discovery default exit no mc-ecmp-balance no shutdown ----------------------------------------------
-
Configure GTM.
GTM configuration (MD-CLI)
[ex:/configure router "Base" gtm] A:admin@node-2# info mvpn true provider-tunnel { inclusive { rsvp { admin-state enable lsp-template "IpmsiTmp1" } } selective { maximum-p2mp-spmsi 4000 data-threshold { group-prefix 224.0.0.0/4 { threshold 1 } } rsvp { admin-state enable lsp-template "SpmsiTmp1" } } }
GTM configuration (classic CLI)A:node-2>config>router>gtm# info ---------------------------------------------- mvpn provider-tunnel inclusive rsvp lsp-template "IpmsiTmpl" no shutdown exit exit selective rsvp lsp-template "SpmsiTmpl" no shutdown exit maximum-p2mp-spmsi 4000 data-threshold 224.0.0.0/4 1 exit exit ----------------------------------------------
-
Configure a route policy for BGP.
The following output displays the route policy configuration.
BGP route-policy configuration (MD-CLI)[ex:/configure policy-options] A:admin@node-2# info prefix-list "sourceList" { prefix 10.10.0.0/16 type longer { } prefix 10.100.0.0/16 type longer { } prefix 10.114.0.0/16 type longer { } prefix 2001:db8:10:10:0:0/96 type longer { } prefix 2001:db8:100:0:0/96 type longer { } prefix 2001:db8:114:0:0/96 type longer { } } policy-statement "acceptAll" { default-action { action-type accept } } policy-statement "acceptAllBgp" { default-action { action-type drop } } entry 10 { from { protocol { name rip } } action { action-type accept } entry 11 { from { protocol { name ripng } } action { action-type accept } } } policy-statement "acceptAllPref8" { default-action { action-type accept preference 8 } }
BGP route-policy configuration (classic CLI)A:node-2>config>router>policy-options# info ---------------------------------------------- prefix-list "sourceList" prefix 10.10.0.0/16 longer prefix 10.100.0.0/16 longer prefix 10.114.0.0/16 longer prefix 2001:db8:10:10:0:0/96 longer prefix 2001:db8:100:0:0/96 longer prefix 2001:db8:114:0:0/96 longer exit policy-statement "acceptAll" default-action accept exit exit policy-statement "acceptAllBgp" entry 10 from protocol rip exit action accept exit exit entry 11 from protocol ripng exit action accept exit exit default-action drop exit exit policy-statement "acceptAllPref8" default-action accept preference 8 exit exit ----------------------------------------------
-
Configure BGP for GTM.
The following output displays the route policy configuration.
BGP configuration for GTM (MD-CLI)[ex:/configure router "Base" bgp] A:admin@node-2# info admin-state enable connect-retry 1 router-id 10.20.1.4 inter-as-vpn true mvpn-vrf-import-subtype-new true rapid-withdrawal true best-path-selection { ignore-nh-metric true } rapid-update { mvpn-ipv4 true mdt-safi true mvpn-ipv6 true } export { policy ["acceptAlBgp"] } multipath { max-paths 16 } group "none" { next-hop-self true local-address 10.20.1.4 family { ipv4 true ipv6 true mvpn-ipv4 true mvpn-ipv6 true label-ipv4 true label-ipv6 true } } neighbor "10.20.1.2" { peer-as 200 } neighbor "10.10.1.3" { med-out 100 peer-as 200 } neighbor "10.20.1.5" { med-out 100 peer-as 200 }
BGP configuration for GTM (classic CLI)A:node-2>config>router>bgp# info ---------------------------------------------- connect-retry 1 multipath 16 export "acceptAllBgp" router-id 10.20.1.4 rapid-withdrawal rapid-update mvpn-ipv4 mdt-safi mvpn-ipv6 mvpn-vrf-import-subtype-new best-path-selection ignore-nh-metric exit group "none" family ipv4 ipv6 mvpn-ipv4 mvpn-ipv6 label-ipv4 label-ipv6 next-hop-self local-address 10.20.1.4 neighbor 10.20.1.2 peer-as 200 exit neighbor 10.20.1.3 med-out 100 peer-as 200 exit neighbor 10.20.1.5 med-out 100 peer-as 200 exit exit no shutdown ----------------------------------------------
-
Use the following command to display MVPN configuration information.
show router mvpn
Display MVPN configuration information=============================================================================== MVPN Base configuration data =============================================================================== signaling : Bgp auto-discovery : Default UMH Selection : Highest-Ip SA withdrawn : Disabled intersite-shared : Enabled Persist SA : Disabled vrf-import : N/A vrf-export : N/A vrf-target : unicast C-Mcast Import RT : target:10.20.1.4:0 ipmsi : rsvp IpmsiTmpl i-pmsi P2MP AdmSt : Up i-pmsi Tunnel Name : IpmsiTmpl-gtm-73881 enable-bfd-root : false enable-bfd-leaf : false Mdt-type : sender-receiver BSR signalling : none Wildcard s-pmsi : Disabled Multistream-SPMSI : Disabled spmsi : rsvp SpmsiTmpl s-pmsi P2MP AdmSt : Up max-p2mp-spmsi : 4000 data-delay-interval: 3 seconds enable-asm-mdt : N/A data-threshold : 224.0.0.0/4 --> 1 kbps ===============================================================================
-
Use the following command to display the PIM group configuration
information.
show router pim group
Display PIM group configuration information=============================================================================== Legend: A = Active S = Standby =============================================================================== PIM Groups ipv4 =============================================================================== Group Address Type Spt Bit Inc Intf No.Oifs Source Address RP State Inc Intf(S) ------------------------------------------------------------------------------- 239.100.0.0 (S,G) spt vprn_itf_D_2b* 1 10.114.1.2 10.100.1.1 239.100.0.1 (S,G) spt vprn_itf_D_2b* 1 10.114.1.2 10.100.1.1 239.100.0.2 (S,G) spt vprn_itf_D_2b* 1 10.114.1.2 10.100.1.1 239.100.0.3 (S,G) spt vprn_itf_D_2b* 1 10.114.1.2 10.100.1.1 ------------------------------------------------------------------------------- Groups : 4 ===============================================================================
-
Use the following commands to display the PIM group detail configuration
information.
show router pim group detail
Display PIM group detail configuration information=============================================================================== PIM Source Group ipv4 =============================================================================== Group Address : 239.100.0.0 Source Address : 10.114.1.2 RP Address : 10.100.1.1 Advt Router : Flags : spt Type : (S,G) Mode : sparse MRIB Next Hop : 10.100.1.1 MRIB Src Flags : remote Keepalive Timer Exp: 0d 00:02:53 Up Time : 0d 00:09:50 Resolved By : rtable-u Up JP State : Joined Up JP Expiry : 0d 00:00:23 Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00 Register State : No Info Reg From Anycast RP: No Rpf Neighbor : 10.100.1.1 Incoming Intf : vprn_itf_D_2base Outgoing Intf List : mpls-if-73881 (mpls-if-73885) Curr Fwding Rate : 1.3 kbps Forwarded Packets : 132 Discarded Packets : 0 Forwarded Octets : 6072 RPF Mismatches : 0 Spt threshold : 0 kbps ECMP opt threshold : 7 Admin bandwidth : 1 kbps =============================================================================== PIM Source Group ipv4 =============================================================================== Group Address : 239.100.0.1 Source Address : 10.114.1.2 RP Address : 10.100.1.1 Advt Router : Flags : spt Type : (S,G) Mode : sparse MRIB Next Hop : 10.100.1.1 MRIB Src Flags : remote Keepalive Timer Exp: 0d 00:02:53 Up Time : 0d 00:09:50 Resolved By : rtable-u Up JP State : Joined Up JP Expiry : 0d 00:00:23 Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00 Register State : No Info Reg From Anycast RP: No Rpf Neighbor : 10.100.1.1 Incoming Intf : vprn_itf_D_2base Outgoing Intf List : mpls-if-73881 (mpls-if-73886) Curr Fwding Rate : 1.3 kbps Forwarded Packets : 141 Discarded Packets : 0 Forwarded Octets : 6486 RPF Mismatches : 0 Spt threshold : 0 kbps ECMP opt threshold : 7 Admin bandwidth : 1 kbps =============================================================================== PIM Source Group ipv4 =============================================================================== Group Address : 239.100.0.2 Source Address : 10.114.1.2 RP Address : 10.100.1.1 Advt Router : Flags : spt Type : (S,G) Mode : sparse MRIB Next Hop : 10.100.1.1 MRIB Src Flags : remote Keepalive Timer Exp: 0d 00:02:52 Up Time : 0d 00:09:51 Resolved By : rtable-u Up JP State : Joined Up JP Expiry : 0d 00:00:22 Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00 Register State : No Info Reg From Anycast RP: No Rpf Neighbor : 10.100.1.1 Incoming Intf : vprn_itf_D_2base Outgoing Intf List : mpls-if-73881 (mpls-if-73887) Curr Fwding Rate : 1.3 kbps Forwarded Packets : 140 Discarded Packets : 0 Forwarded Octets : 6440 RPF Mismatches : 0 Spt threshold : 0 kbps ECMP opt threshold : 7 Admin bandwidth : 1 kbps =============================================================================== PIM Source Group ipv4 =============================================================================== Group Address : 239.100.0.3 Source Address : 10.114.1.2 RP Address : 10.100.1.1 Advt Router : Flags : spt Type : (S,G) Mode : sparse MRIB Next Hop : 10.100.1.1 MRIB Src Flags : remote Keepalive Timer Exp: 0d 00:02:52 Up Time : 0d 00:09:51 Resolved By : rtable-u Up JP State : Joined Up JP Expiry : 0d 00:00:22 Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00 Register State : No Info Reg From Anycast RP: No Rpf Neighbor : 10.100.1.1 Incoming Intf : vprn_itf_D_2base Outgoing Intf List : mpls-if-73881 (mpls-if-73888) Curr Fwding Rate : 1.3 kbps Forwarded Packets : 140 Discarded Packets : 0 Forwarded Octets : 6440 RPF Mismatches : 0 Spt threshold : 0 kbps ECMP opt threshold : 7 Admin bandwidth : 1 kbps ------------------------------------------------------------------------------- Groups : 4 ===============================================================================
-
Use the following command to display the PIM S-PMSI configuration
information.
show router pim s-pmsi
Display PIM S-PMSI configuration information=============================================================================== PIM RSVP Spmsi tunnels =============================================================================== P2mp Tunnel ID Ext Tunnel Adrs SPMSI Index Num State Multistre ID VPN SGs am-ID ------------------------------------------------------------------------------- 1 61444 10.20.1.4 73885 1 Up 0 1 61445 10.20.1.4 73886 1 Up 0 1 61446 10.20.1.4 73887 1 Up 0 1 61447 10.20.1.4 73888 1 Up 0 =============================================================================== PIM RSVP Spmsi Interfaces : 4 ===============================================================================
-
Use the following command to display the PIM S-PMSI detail configuration
information.
show router pim s-pmsi detail
Display PIM S-PMSI detail configuration information=============================================================================== PIM RSVP Spmsi tunnels =============================================================================== P2MP ID : 1 Tunnel ID : 61444 Ext Tunnnel Addrs : 10.20.1.4 Spmsi IfIndex : 73885 Number of VPN SGs : 1 Up Time : 0d 00:00:09 VPN Group Address : 239.100.0.0 VPN Source Address : 10.114.1.2 Up Time : 0d 00:00:09 Multistream-Id : N/A State : TX Joined Mdt Threshold : 1 Join Timer : N/A Holddown Timer : 0d 00:00:50 =============================================================================== PIM RSVP Spmsi tunnels =============================================================================== P2MP ID : 1 Tunnel ID : 61445 Ext Tunnnel Addrs : 10.20.1.4 Spmsi IfIndex : 73886 Number of VPN SGs : 1 Up Time : 0d 00:00:09 VPN Group Address : 239.100.0.1 VPN Source Address : 100.114.1.2 Up Time : 0d 00:00:09 Multistream-Id : N/A State : TX Joined Mdt Threshold : 1 Join Timer : N/A Holddown Timer : 0d 00:00:50 =============================================================================== PIM RSVP Spmsi tunnels =============================================================================== P2MP ID : 1 Tunnel ID : 61446 Ext Tunnnel Addrs : 10.20.1.4 Spmsi IfIndex : 73887 Number of VPN SGs : 1 Up Time : 0d 00:00:09 VPN Group Address : 239.100.0.2 VPN Source Address : 10.114.1.2 Up Time : 0d 00:00:09 Multistream-Id : N/A State : TX Joined Mdt Threshold : 1 Join Timer : N/A Holddown Timer : 0d 00:00:50 =============================================================================== PIM RSVP Spmsi tunnels =============================================================================== P2MP ID : 1 Tunnel ID : 61447 Ext Tunnnel Addrs : 10.20.1.4 Spmsi IfIndex : 73888 Number of VPN SGs : 1 Up Time : 0d 00:00:10 VPN Group Address : 239.100.0.3 VPN Source Address : 10.114.1.2 Up Time : 0d 00:00:10 Multistream-Id : N/A State : TX Joined Mdt Threshold : 1 Join Timer : N/A Holddown Timer : 0d 00:00:49 =============================================================================== PIM RSVP Spmsi Interfaces : 4 ===============================================================================
-
Use the following command to display the PIM tunnel-interface configuration
information.
show router pim tunnel-interface
Display PIM tunnel-interface configuration information=============================================================================== PIM Interfaces ipv4 =============================================================================== Interface Originator Address Adm Opr Transport Type ------------------------------------------------------------------------------- mpls-if-73881 10.20.1.4 Up Up Tx-IPMSI mpls-if-73882 10.20.1.3 Up Up Rx-IPMSI mpls-if-73883 10.20.1.2 Up Up Rx-IPMSI mpls-if-73884 10.20.1.5 Up Up Rx-IPMSI mpls-if-73885 10.20.1.4 Up Up Tx-SPMSI mpls-if-73886 10.20.1.4 Up Up Tx-SPMSI mpls-if-73887 10.20.1.4 Up Up Tx-SPMSI mpls-if-73888 10.20.1.4 Up Up Tx-SPMSI ------------------------------------------------------------------------------- Interfaces : 8 ===============================================================================