Profile 29

Load top1.vpnv4v6.srv6.configured.cfg

#IOS-XR
configure
load top1.tree-sid.init.cfg
commit replace
y

#IOS-XE
config replace flash:top1.tree-sid.init.cfg
Y

PIM is already enabled on the PE-CE links. CSR3 and CSR4 have joined SSM group (1.1.1.1, 232.1.1.1).

Configure XR9 as PCE for XR5-XR8. Use a partitioned MDT via SR Tree-SID that is signaled via mVPN.

Answer

#XR9, XR10
router bgp 100
 address-family ipv4 mvpn
 !
 neighbor-group RRC
  address-family ipv4 mvpn
   route-reflector-client

#XR9
pce
 address ipv4 10.0.0.9
 !
 segment-routing
  traffic-eng
   p2mp
    label-range min 15100 max 15200
!
router isis 1
 distribute link-state

#XR1-8
router isis 1
 add ipv4
  router-id lo0
!
segment-routing traffic-eng
 pcc pce address ipv4 10.0.0.9

#XR5-8
router bgp 100
 mvpn
 address-family ipv4 mvpn
 !
 neighbor-group RR
  address-family ipv4 mvpn
  !
 !
 vrf CUSTOMER
  address-family ipv4 mvpn
!
route-policy USE_SR_TREESID
 set core-tree sr-p2mp
end-policy
!
multicast-routing add ipv4 int lo0 en
multicast-routing vrf CUSTOMER add ipv4
 mdt so lo0
 mdt partitioned segment-routing mpls
 bgp auto-discovery segment-routing
!
router pim vrf CUSTOMER add ipv4
 mdt c-multicast-routing bgp
 rpf topology route-policy USE_SR_TREESID

Explanation

Profile 29 uses SR-p2mp policies with partitioned MDTs. This is the same as with profile 14, except SR p2mp trees are used as opposed to mLDP trees.

In partitioned MDT, each PE sources a (*, *) S-PMSI route. Only interested receivers join a given PE’s partitioned MDT. This makes state in the core more optimal. With default MDT, you have a full mesh of default MDTs at all times, even if there is no multicast traffic present. With partitioned MDTs, the p2mp policies are only created as needed.

Notice that all PEs participating in the VPN source a type 3 wildcard S-PMSI route:

XR7 and XR8 have interested receivers for (1.1.1.1, 232.1.1.1). The source 1.1.1.1 is behind XR5. Therefore they wish to join XR5’s partitioned MDT. Each type 3 route has the leaf-info-required flag set. So XR7 and XR8 create type 4 routes to signal interest in joining XR5’s (*, *) S-PSMI tree.

Now that XR5 has interested receivers, it signals the p2mp policy at the PCE. Note that this is the only p2mp policy created at this point. This is what makes partitioned MDTs so scalable.

Using constraints and FRR with partitioned MDTs is not any different from how they are used with default MDTs. You simply set the color and enable FRR on the partitioned MDT. There is no option for using an RPL as you saw with data MDTs, because this only controls the single (*, *) type 3 S-PMSI route.

multicast-routing
 vrf CUSTOMER
  address-family ipv4
   mdt partitioned segment-routing mpls color 10 fast-reroute lfa

Additionally, data MDTs can be used with this profile too. They work exactly the same way as we saw in the previous lab.

Further Reading/Watching

https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k-r7-9/segment-routing/configuration/guide/b-segment-routing-cg-asr9000-79x/configure-sr-tree-sid.html

https://www.youtube.com/watch?v=wgOke3amhDY

A note on IPv6/MVPN

IPv6/mVPN does not appear to be supported with SR Tree-SID. Perhaps this will come in a future version.

RP/0/RP0/CPU0:XR5(config)#show config fail
Sat Feb 10 23:11:50.506 UTC
!! SEMANTIC ERRORS: This configuration was rejected by
!! the system due to semantic errors. The individual
!! errors with each failed configuration command can be
!! found below.


multicast-routing
 vrf CUSTOMER
  address-family ipv6
   bgp auto-discovery segment-routing
!!% Invalid address-family: AF 'ipv6' not supported
   !
   mdt partitioned segment-routing mpls
!!% Invalid address-family: AF 'ipv6' not supported

Flex-Algo

Using flex-algo in the ODN policy also does not appear to work. But this seems to be a general limitation with PCE in general. As far as I know, flex-algo cannot be used as a constraint when the policy is delegated to a PCE. (Update 10-17-24: Flex-algo can be used as a constraint on a general PCE-calculated policy since version 7.3.1 I believe).

Last updated