Segment Routing Tree Segment Identifier

Tree Segment Identifier (Tree-SID) is a tree-building solution that uses a Segment Routing Path Computation Element (SR-PCE) using path computation element protocol (PCEP) to calculate the point-to-multipoint (P2MP) tree using SR policies. Tree-SID uses a single MPLS label for building a multicast replication tree in an SR network. Tree-SID does not require multicast control protocols such as RSVP, mLDP, and PIM.

A P2MP SR policy provides an SR-based TE solution for transporting multicast traffic. It works on existing data-plane (MPLS and IP) and supports TE capabilities and single/multi routing domains. At each node of the tree, the forwarding state is represented by the same segment (using a global Tree-SID specified from the SRLB range of labels). P2MP SR policy prevents transient loop and packet loss when updating the path of a P2MP SR policy.

A P2MP SR policy request contains the following:

  • Policy name

  • SID for the P2MP Tree (Tree-SID)

  • Address of the root node

  • Addresses of the leaf nodes

  • Optimization objectives (TE, IGP metric)

  • Constraints (affinity)

Tree SID Workflow Overview

This sections shows a basic workflow using a Tree SID policy:

  1. User creates a Tree-SID policy.

     

  2. SR-PCE computes the P2MP Tree.

     

  3. SR-PCE instantiates the Tree-SID state at each node in the tree.

     

  4. The Root node encapsulates the multicast traffic, replicates it, and forwards it to the Transit nodes.

  5. The Transit nodes replicate the multicast traffic and forward it to the Leaf nodes.

  6. The Leaf nodes decapsulate the multicast traffic and forward it to the multicast receivers.

Behaviors and Limitations

PCE redundancy is not supported for Tree-SID. Tree-SID can only be controlled by a single PCE. Configure only one PCE on each PCC in the Tree-SID path.

Configure Segment Routing Tree-SID

To configure Segment Routing Tree-SID for Point-to-Multipoint (P2MP) SR policies, complete the following configurations:

  1. Configure Path Computation Element Protocol (PCEP) Path Computation Client (PCC) on all nodes involved in the Tree-SID path (root, mid-point, leaf)

  2. Configure Affinity Maps on the SR-PCE

  3. Configure P2MP SR Policy on SR-PCE

  4. Configure Multicast on the Root and Leaf Nodes

Configure PCEP PCC on All Nodes in Tree-SID Path

Configure all nodes involved in the Tree-SID path (root, mid-point, leaf) as PCEP PCC. For detailed PCEP PCC configuration information, see Configure the Head-End Router as PCEP PCC.

Configure Affinity Maps on the SR-PCE

Use the affinity bit-map COLOR bit-position command in PCE SR-TE sub-mode to define affinity maps. The bit-position range is from 0 to 255.

Router# configure
Router(config)# pce
Router(config-pce)# segment-routing traffic-eng
Router(config-pce-sr-te)# affinity bit-map RED 23
Router(config-pce-sr-te)# affinity bit-map BLUE 24
Router(config-pce-sr-te)# affinity bit-map CROSS 25
Router(config-pce-sr-te)#

Configure P2MP SR Policy on SR-PCE

Configure the end-point name and addresses, Tree-SID label, and constraints for the P2MP policy.

Use the endpoint-set NAME command in SR-PCE P2MP sub-mode to enter the name of the end-point set and to define the set of end-point addresses.

Router(config-pce-sr-te)# p2mp 
Router(config-pce-sr-te-p2mp)# endpoint-set BAR
Router(config-pce-p2mp-ep-set)# ipv4 10.1.1.2
Router(config-pce-p2mp-ep-set)# ipv4 10.1.1.3
Router(config-pce-p2mp-ep-set)# ipv4 10.1.1.4
Router(config-pce-p2mp-ep-set)# exit
Router(config-pce-sr-te-p2mp)#

Use the policy policy command to configure the P2MP policy name and enter P2MP Policy sub-mode. Configure the source address, endpoint-set color, Tree-SID label, affinity constraints, and metric type.

Router(config-pce-sr-te-p2mp)# policy FOO
Router(config-pce-p2mp-policy)# source ipv4 10.1.1.6
Router(config-pce-p2mp-policy)# color 10 endpoint-set BAR 
Router(config-pce-p2mp-policy)# treesid mpls 15200
Router(config-pce-p2mp-policy)# candidate-paths 
Router(config-pce-p2mp-policy-path)# constraints 
Router(config-pce-p2mp-path-const)# affinity 
Router(config-pce-p2mp-path-affinity)# exclude BLUE  
Router(config-pce-p2mp-path-affinity)# exit
Router(config-pce-p2mp-path-const)# exit
Router(config-pce-p2mp-policy-path)# preference 100
Router(config-pce-p2mp-policy-path-preference)# dynamic 
Router(config-pce-p2mp-path-info)# metric type te
Router(config-pce-p2mp-path-info)# root
Router(config)#

Configure Multicast on the Root and Leaf Nodes

On the root node of the SR P2MP segment, use the router pim command to enter Protocol Independent Multicast (PIM) configuration mode to statically steer multicast flows into an SR P2MP policy.


Note

Enter this configuration only on an SR P2MP segment. Multicast traffic cannot be steered into a P2P policy.
Router(config)# router pim
Router(config-pim)# vrf name
Router(config-pim-name)# address-family ipv4 
Router(config-pim-name-ipv4)# sr-p2mp-policy FOO 
Router(config-pim-name-ipv4-srp2mp)# static-group 235.1.1.5 10.1.1.6
Router(config-pim-name-ipv4-srp2mp)# root
Router(config)# 

On the root and leaf nodes of the SR P2MP tree, use the mdt static segment-routing command to configure the multicast distribution tree (MDT) core as Tree-SID from the multicast VRF configuration submode.

Router(config)# multicast-routing 
Router(config-mcast)# vrf TEST
Router(config-mcast-TEST)# address-family ipv4 
Router(config-mcast-TEST-ipv4)# mdt static segment-routing

On the leaf nodes of an SR P2MP segment, use the static sr-policy p2mp-policy command to configure the static SR P2MP Policy from the multicast VRF configuration submode to statically decapsulate multicast flows.

Router(config)# multicast-routing 
Router(config-mcast)# vrf TEST
Router(config-mcast-TEST)# address-family ipv4 
Router(config-mcast-TEST-ipv4)# static sr-policy FOO

Running Config

The following example shows how to configure the end point addresses and P2MP SR policy with affinity constraints on SR-PCE.

pce
 segment-routing
  traffic-eng
   affinity bit-map
    RED 23
    BLUE 24
    CROSS 25
   !
   p2mp
    endpoint-set BAR
     ipv4 10.1.1.2
     ipv4 10.1.1.3
     ipv4 10.1.1.4
    !
    policy FOO
     source ipv4 10.1.1.6
     color 10 endpoint-set BAR
     treesid mpls 15200
     candidate-paths
      preference 100
       dynamic
        metric
         type te
        !
       !
      !
      constraints
       affinity
        exclude
         BLUE
        !
       !
      !
     !
    !
   !
  !
 !
!

The following example shows how to statically decapsulate multicast flows on the leaf nodes.

multicast-routing
 vrf TEST
  address-family ipv4
   static sr-policy FOO
  !
 !
!

The following example shows to configure the multicast distribution tree (MDT) core as Tree-SID on the root and leaf nodes.

multicast-routing
 vrf TEST
  address-family ipv4
   mdt static segment-routing
  !
 !
!

The following example shows how to steer traffic to the SR P2MP policy on the root node.

router pim
 vrf TEST
  address-family ipv4
   sr-p2mp-policy FOO
    static-group 232.1.1.5 10.1.1.6
   !
  !
 !
!