CCIE SPv5.1 Labs
  • Intro
    • Setup
  • Purpose
  • Video Demonstration
  • Containerlab Tips
  • Labs
    • ISIS
      • Start
      • Topology
      • Prefix Suppression
      • Hello padding
      • Overload Bit
      • LSP size
      • Default metric
      • Hello/Hold Timer
      • Mesh groups
      • Prefix Summarization
      • Default Route Preference
      • ISIS Timers
      • Log Neighbor Changes
      • Troubleshooting 1 - No routes
      • Troubleshooting 2 - Adjacency
      • IPv6 Single Topology
      • IPv6 Single Topology Challenge
      • IPv6 Multi Topology
      • IPv6 Single to Multi Topology
      • Wide Metrics Explained
      • Route Filtering
      • Backdoor Link
      • Non-Optimal Intra-Area routing
      • Multi Area
      • Authentication
      • Conditional ATT Bit
      • Troubleshooting iBGP
      • Troubleshooting TE Tunnel
    • LDP
      • Start
      • Topology
      • LDP and ECMP
      • LDP and Static Routes
      • LDP Timers
      • LDP Authentication
      • LDP Session Protection
      • LDP/IGP Sync (OSPF)
      • LDP/IGP Sync (ISIS)
      • LDP Local Allocation Filtering
      • LDP Conditional Label Advertisement
      • LDP Inbound Label Advertisement Filtering
      • LDP Label Advertisement Filtering Challenge
      • LDP Implicit Withdraw
      • LDP Transport Address Troubleshooting
      • LDP Static Labels
    • MPLS-TE
      • Start
      • Topology
      • Basic TE Tunnel w/ OSPF
      • Basic TE Tunnel w/ ISIS
      • TE Tunnel using Admin Weight
      • TE Tunnel using Link Affinity
      • TE Tunnel with Explicit-Null
      • TE Tunnel with Conditional Attributes
      • RSVP message pacing
      • Reoptimization timer
      • IGP TE Flooding Thresholds
      • CSPF Tiebreakers
      • TE Tunnel Preemption
      • TE Tunnel Soft Preemption
      • Tunneling LDP inside RSVP
      • PE to P TE Tunnel
      • Autoroute Announce Metric (XE)
      • Autoroute Announce Metric (XR)
      • Autoroute Announce Absolute Metric
      • Autoroute Announce Backup Path
      • Forwarding Adjacency
      • Forwarding Adjacency with OSPF
      • TE Tunnels with UCMP
      • Auto-Bandwidth
      • FRR Link Protection (XE, BFD)
      • FRR Link Protection (XE, RSVP Hellos)
      • FRR Node Protection (XR)
      • FRR Path Protection
      • FRR Multiple Backup Tunnels (Node Protection)
      • FRR Multiple Backup Tunnels (Link Protection)
      • FRR Multiple Backup Tunnels (Backwidth/Link Protection)
      • FRR Backup Auto-Tunnels
      • FRR Backup Auto-Tunnels with SRLG
      • Full Mesh Auto-Tunnels
      • Full Mesh Dynamic Auto-Tunnels
      • One-Hop Auto-Tunnels
      • CBTS/PBTS
      • Traditional DS-TE
      • IETF DS-TE with MAM
      • IETF DS-TE with RDM
      • RDM w/ FRR Troubleshooting
      • Per-VRF TE Tunnels
      • Tactical TE Issues
      • Multicast and MPLS-TE
    • SR
      • Start
      • Topology
      • Basic SR with ISIS
      • Basic SR with OSPF
      • SRGB Modifcation
      • SR with ExpNull
      • SR Anycast SID
      • SR Adjacency SID
      • SR LAN Adjacency SID (Walkthrough)
      • SR and RSVP-TE interaction
      • SR Basic Inter-area with ISIS
      • SR Basic Inter-area with OSPF
      • SR Basic Inter-IGP (redistribution)
      • SR Basic Inter-AS using BGP
      • SR BGP Data Center (eBGP)
      • SR BGP Data Center (iBGP)
      • LFA
      • LFA Tiebreakers (ISIS)
      • LFA Tiebreakers (OSPF)
      • Remote LFA
      • RLFA Tiebreakers?
      • TI-LFA
      • Remote LFA or TILFA?
      • TI-LFA Node Protection
      • TI-LFA SRLG Protection
      • TI-LFA Protection Priorities (ISIS)
      • TI-LFA Protection Priorities (OSPF)
      • Microloop Avoidance
      • SR/LDP Interworking
      • SR/LDP SRMS OSPF Inter-Area
      • SR/LDP Design Challenge #1
      • SR/LDP Design Challenge #2
      • Migrate LDP to SR (ISIS)
      • OAM with SR
      • SR-MPLS using IPv6
      • Basic SR-TE with AS
      • Basic SR-TE with AS and ODN
      • SR-TE with AS Primary/Secondary Paths
      • SR-TE Dynamic Policies
      • SR-TE Dynamic Policy with Margin
      • SR-TE Explicit Paths
      • SR-TE Disjoint Planes using Anycast SIDs
      • SR-TE Flex-Algo w/ Latency
      • SR-TE Flex-Algo w/ Affinity
      • SR-TE Disjoint Planes using Flex-Algo
      • SR-TE BSIDs
      • SR-TE RSVP-TE Stitching
      • SR-TE Autoroute Include
      • SR Inter-IGP using PCE
      • SR-TE PCC Features
      • SR-TE PCE Instantiated Policy
      • SR-TE PCE Redundancy
      • SR-TE PCE Redundancy w/ Sync
      • SR-TE Basic BGP EPE
      • SR-TE BGP EPE for Unified MPLS
      • SR-TE Disjoint Paths
      • SR Converged SDN Transport Challenge
      • SR OAM DPM
      • SR OAM Tools
      • Performance-Measurement (Interface Delay)
    • SRv6
      • Start
      • Topology
      • Basic SRv6
      • SRv6 uSID
      • SRv6 uSID w/ EVPN-VPWS and BGP IPv4/IPv6
      • SRv6 uSID w/ SR-TE
      • SRv6 uSID w/ SR-TE Explicit Paths
      • SRv6 uSID w/ L3 IGW
      • SRv6 uSID w/ Dual-Connected PE
      • SRv6 uSID w/ Flex Algo
      • SRv6 uSID - Scale (Pt. 1)
      • SRv6 uSID - Scale (Pt. 2)
      • SRv6 uSID - Scale (Pt. 3) (UPA Walkthrough)
      • SRv6 uSID - Scale (Pt. 4) (Flex Algo)
      • SRv6 uSID w/ TI-LFA
    • Multicast
      • Start
      • Topology
      • Basic PIM-SSM
      • PIM-SSM Static Mapping
      • Basic PIM-SM
      • PIM-SM with Anycast RP
      • PIM-SM with Auto-RP
      • PIM-SM with BSR
      • PIM-SM with BSR for IPv6
      • PIM-BiDir
      • PIM-BiDir for IPv6
      • PIM-BiDir with Phantom RP
      • PIM Security
      • PIM Boundaries with AutoRP
      • PIM Boundaries with BSR
      • PIM-SM IPv6 using Embedded RP
      • PIM SSM Range Note
      • PIM RPF Troubleshooting #1
      • PIM RPF Troubleshooting #2
      • PIM RP Troubleshooting
      • PIM Duplicate Traffic Troubleshooting
      • Using IOS-XR as a Sender/Receiver
      • PIM-SM without Receiver IGMP Joins
      • RP Discovery Methods
      • Basic Interdomain Multicast w/o MSDP
      • Basic Interdomain Multicast w/ MSDP
      • MSDP Filtering
      • MSDP Flood Reduction
      • MSDP Default Peer
      • MSDP RPF Check (IOS-XR)
      • MSDP RPF Check (IOS-XE)
      • Interdomain MBGP Policies
      • PIM Boundaries using MSDP
    • MVPN
      • Start
      • Topology
      • Profile 0
      • Profile 0 with data MDTs
      • Profile 1
      • Profile 1 w/ Redundant Roots
      • Profile 1 with data MDTs
      • Profile 6
      • Profile 7
      • Profile 3
      • Profile 3 with S-PMSI
      • Profile 11
      • Profile 11 with S-PMSI
      • Profile 11 w/ Receiver-only Sites
      • Profile 9 with S-PMSI
      • Profile 12
      • Profile 13
      • UMH (Upstream Multicast Hop) Challenge
      • Profile 13 w/ Configuration Knobs
      • Profile 13 w/ PE RP
      • Profile 12 w/ PE Anycast RP
      • Profile 14 (Partitioned MDT)
      • Profile 14 with Extranet option #1
      • Profile 14 with Extranet option #2
      • Profile 14 w/ IPv6
      • Profile 17
      • Profile 19
      • Profile 21
    • MVPN SR
      • Start
      • Topology
      • Profile 27
      • Profile 27 w/ Constraints
      • Profile 27 w/ FRR
      • Profile 28
      • Profile 28 w/ Constraints and FRR
      • Profile 28 w/ Data MDTs
      • Profile 29
    • VPWS
      • Start
      • Topology
      • Basic VPWS
      • VPWS with Tag Manipulation
      • Redundant VPWS
      • Redundant VPWS (IOS-XR)
      • VPWS with PW interfaces
      • Manual VPWS
      • VPWS with Sequencing
      • Pseudowire Logging
      • VPWS with FAT-PW
      • MS-PS (Pseudowire stitching)
      • VPWS with BGP AD
    • VPLS
      • Start
      • Topology
      • Basic VPLS with LDP
      • VPLS with LDP and BGP
      • VPLS with BGP only
      • Hub and Spoke VPLS
      • Tunnel L2 Protocols over VPLS
      • Basic H-VPLS
      • H-VPLS with BGP
      • H-VPLS with QinQ
      • H-VPLS with Redundancy
      • VPLS with Routing
      • VPLS MAC Protection
      • Basic E-TREE
      • VPLS with LDP/BGP-AD and XRv RR
      • VPLS with BGP and XRv RR
      • VPLS with Storm Control
    • EVPN
      • Start
      • Topology
      • EVPN VPWS
      • EVPN VPWS Multihomed
      • EVPN VPWS Multihomed Single-Active
      • Basic Single-homed EVPN E-LAN
      • EVPN E-LAN Service Label Allocation
      • EVPN E-LAN Ethernet Tag
      • EVPN E-LAN Multihomed
      • EVPN E-LAN on XRv
      • EVPN IRB
      • EVPN-VPWS Multihomed IOS-XR (All-Active)
      • EVPN-VPWS Multihomed IOS-XR (Port-Active)
      • EVPN-VPWS Multihomed IOS-XR (Single-Active)
      • EVPN-VPWS Multihomed IOS-XR (Non-Bundle)
      • PBB-EVPN (Informational)
    • BGP Multi-Homing (XE)
      • Start
      • Topology
      • Lab1 ECMP
      • Lab2 UCMP
      • Lab3 Backup Path
      • Lab4 Shadow Session
      • Lab5 Shadow RR
      • Lab6 RR with Add-Path
      • Lab7 MPLS + Add Path ECMP
      • Lab8 MPLS + Shadow RR
      • Lab9 MPLS + RDs + UCMP
    • BGP Multi-Homing (XR)
      • Start
      • Topology
      • Lab1 ECMP
      • Lab2 UCMP
      • Lab3 Backup Path
      • Lab4 “Shadow Session”
      • Lab5 “Shadow RR”
      • Lab6 RR with Add-Path
      • Lab7 MPLS + Add Path ECMP
      • Lab8 MPLS + “Shadow RR”
      • Lab9 MPLS + RDs + UCMP
      • Lab10 MPLS + Same RD + Add-Path + UCMP
      • Lab11 MPLS + Same RD + Add-Path + Repair Path
    • BGP
      • Start
      • Conditional Advertisement
      • Aggregation and Deaggregation
      • Local AS
      • BGP QoS Policy Propagation
      • Non-Optimal eBGP Routing
      • Multihomed Enterprise Challenge
      • Provider Communities
      • Destination-Based RTBH
      • Destination-Based RTBH (Community-Based)
      • Source-Based RTBH
      • Source-Based RTBH (Community-Based)
      • Multihomed Enterprise Challenge (XRv)
      • Provider Communities (XRv)
      • DMZ Link BW Lab1
      • DMZ Link BW Lab2
      • PIC Edge in the Global Table
      • PIC Edge Troubleshooting
      • PIC Edge for VPNv4
      • AIGP
      • AIGP Translation
      • Cost-Community (iBGP)
      • Cost-Community (confed eBGP)
      • Destination-Based RTBH (VRF Provider-triggered)
      • Destination-Based RTBH (VRF CE-triggered)
      • Source-Based RTBH (VRF Provider-triggered)
      • Flowspec (Global IPv4/6PE)
      • Flowspec (VRF)
      • Flowspec (Global IPv4/6PE w/ Redirect)
      • Flowspec (Global IPv4/6PE w/ Redirect) T-Shoot
      • Flowspec (VRF w/ Redirect)
      • Flowspec (Global IPv4/6PE w/ CE Advertisement)
    • Intra-AS L3VPN
      • Start
      • Partitioned RRs
      • Partitioned RRs with IOS-XR
      • RT Filter
      • Non-Optimal Multi-Homed Routing
      • Troubleshoot #1 (BGP)
      • Troubleshoot #2 (OSPF)
      • Troubleshoot #3 (OSPF)
      • Troubleshoot #4 (OSPF Inter-AS)
      • VRF to Global Internet Access (IOS-XE)
      • VRF to Global Internet Access (IOS-XR)
    • Inter-AS L3VPN
      • Start
      • Inter-AS Option A
      • Inter-AS Option B
      • Inter-AS Option C
      • Inter-AS Option AB (D)
      • CSC
      • CSC with Option AB (D)
      • Inter-AS Option C - iBGP LU
      • Inter-AS Option B w/ RT Rewrite
      • Inter-AS Option C w/ RT Rewrite
      • Inter-AS Option A Multi-Homed
      • Inter-AS Option B Multi-Homed
      • Inter-AS Option C Multi-Homed
    • Russo Inter-AS
      • Start
      • Topology
      • Option A L3NNI
      • Option A L2NNI
      • Option A mVPN
      • Option B L3NNI
      • Option B mVPN
      • Option C L3NNI
      • Option C L3NNI w/ L2VPN
      • Option C mVPN
    • BGP RPKI
      • Start
      • RPKI on IOS-XE (Enabling the feature)
      • RPKI on IOS-XE (Validation)
      • RPKI on IOS-XR (Enabling the feature)
      • Enable SSH in Routinator
      • RPKI on IOS-XR (Validation)
      • RPKI on IOS-XR (RPKI Routes)
      • RPKI on IOS-XR (VRF)
      • RPKI iBGP Mesh (No Signaling)
      • RPKI iBGP Mesh (iBGP Signaling)
    • NAT
      • Start
      • Egress PE NAT44
      • NAT44 within an INET VRF
      • Internet Reachability between VRFs
      • CGNAT
      • NAT64 Stateful
      • NAT64 Stateful w/ Static NAT
      • NAT64 Stateless
      • MAP-T BR
    • BFD
      • Start
      • Topology
      • OSPF Hellos
      • ISIS Hellos
      • BGP Keepalives
      • PIM Hellos
      • Basic BFD for all protocols
      • BFD Asymmetric Timers
      • BFD Templates
      • BFD Tshoot #1
      • BFD for Static Routes
      • BFD Multi-Hop
      • BFD for VPNv4 Static Routes
      • BFD for VPNv6 Static Routes
      • BFD for Pseudowires
    • QoS
      • Start
      • QoS on IOS-XE
      • Advanced QoS on IOS-XE Pt. 1
      • Advanced QoS on IOS-XE Pt. 2
      • MPLS QoS Design
      • Notes - QoS on IOS-XR
    • NSO
      • Start
      • Basic NSO Usage
      • Basic NSO Template Service
      • Advanced NSO Template Service
      • Advanced NSO Template Service #2
      • NSO Template vs. Template Service
      • NSO API using Python
      • NSO API using Python #2
      • NSO API using Python #3
      • Using a NETCONF NED
      • Python Service
      • Nano Services
    • MDT
      • Start
      • MDT Server Setup
      • Basic Dial-Out
      • Filtering Data using XPATH
      • Finding the correct YANG model
      • Finding the correct YANG model #2
      • Event-Driven MDT
      • Basic Dial-In using gNMI
      • Dial-Out with TLS
      • Dial-In with TLS
      • Dial-In with two-way TLS
    • App-Hosting
      • Start
      • Lab - iperf3 Docker Container
      • Notes - LXC Container
      • Notes - Native Applications
      • Notes - Process Scripts
    • ZTP
      • Notes - Classic ZTP
      • Notes - Secure ZTP
    • L2 Connectivity Notes
      • 802.1ad (Q-in-Q)
      • MST-AG
      • MC-LAG
      • G.8032
    • Ethernet OAM
      • Start
      • Topology
      • CFM
      • y1731
      • Notes - y1564
    • Security
      • Start
      • Notes - Security ACLs
      • Notes - Hybrid ACLs
      • Notes - MPP (IOS-XR)
      • Notes - MPP (IOS-XE)
      • Notes - CoPP (IOS-XE)
      • Notes - LPTS (IOS-XR)
      • Notes - WAN MACsec White Paper
      • Notes - WAN MACsec Config Guide
      • Notes - AAA
      • Notes - uRPF
      • Notes - VTY lines (IOS-XR)
      • Lab - uRPF
      • Lab - MPP
      • Lab - AAA (IOS-XE)
      • Lab - AAA (IOS-XR)
      • Lab - CoPP and LPTS
    • Assurance
      • Start
      • Notes - Syslog on IOS-XE
      • Notes - Syslog on IOS-XR
      • Notes - SNMP Traps
      • Syslog (IOS-XR)
      • RMON
      • Netflow (IOS-XE)
      • Netflow (IOS-XR)
Powered by GitBook
On this page
  • Answer
  • Explanation
  • Redundant Mapping Servers
  1. Labs
  2. SR

SR/LDP Interworking

PreviousMicroloop AvoidanceNextSR/LDP SRMS OSPF Inter-Area

Last updated 1 month ago

Load sr.ldp.interworking.init.cfg

configure
load bootflash:sr.ldp.interworking.init.cfg
commit replace
y

Above, routers R1, R2 and R4 are SR-only routers. Routers R5-R8 are LDP-only routers. R3 runs both SR and LDP.

Configure R3 and R4 as segment routing mapping servers to allow the SR-only and LDP-only nodes to form bidirectional LSPs.

Answer

#R3, R4
segment-routing
 mapping-server
  prefix-sid-map
   add ipv4
    5.5.5.1/32 5
    6.6.6.1/32 6
    7.7.7.1/32 7
    8.8.8.1/32 8
!
router isis 1
 add ipv4
  segment-routing prefix-sid-map advertise-local

Explanation

Before adding the solution, we’ll explore the current issue. There are two “islands” in this topology:

  • SR-only, consisting of R1-R4

  • LDP-only, consisting of R5-R8

  • R3 belongs to both islands and can translate between SR and LDP

By default, LDP to SR unidirectional LSPs will work. This is because LDP creates a label binding for every IGP prefix. So the LDP-only side already has labels for the SR-only nodes. (All nodes belong to the same IGP area/level).

Notice that R3 automatically swaps the LDP label to the SR label:

R3 has two separate entries for each prefix SID known in the SR domain. One SR label entry, and one LDP entry. The LDP entry swaps to the SR label.

In addition to the LDP label above for 2.2.2.1/32, R3 also has the SR label entry for the prefix SID with index 2.

Essentially what happens is that the LDP entry has an Unlabelled outgoing label. The router finds a valid SR outgoing label for the same nexthop, which replaces the Unlablled entry.

We can see the low level details of this by inspecting the CEF flags for this prefix. We see the flags “LDP/SR merge requested” and “LDP/SR merge active.” This means that the SR label was “merged” (think “replaced”) with the unlabelled output entry. However, these flags are only for the IP-to-MPLS action. Since LDP preference is enabled by default, but the router cannot impose an LDP label, the SR label is imposed instead.

As a slight tangent, if we change to sr-prefer, R3 will now remove the “LDR/SR merge active” flag because the merge is no longer needed on the IP-to-MPLS action, as the SR label is pushed by default. Instead we see a flag for “RIB pref over LSD”.

#R3
router isis 1
 add ipv4 uni
  segment-routing mpls sr-prefer

While the LDP —> SR unidirectional LSP exists and works, there is currently no unidirectional LSP from SR —> LDP. This is because SR-only routers only have label entries for prefix SIDs, and the LDP-only routers are not advertising prefix SIDs for their loopbacks. Unlike LDP, in SR local label binding allocation is not driven simply by IGP prefixes, it is driven by SID advertisements.

To fix this, we must somehow advertise prefix SIDs on behalf of the LDP-only routers into the IGP. We can do this using a segment-routing mapping server (SRMS). This feature allows us to use multiple mapping servers per domain for redundancy. All routers will simply prefer the mapping server with the largest SysID in case of conflicting mappings.

We configure the SRMS as follows:

#R3, R4
segment-routing
 mapping-server
  prefix-sid-map
   add ipv4
    5.5.5.1/32 5
    6.6.6.1/32 6
    7.7.7.1/32 7
    8.8.8.1/32 8

We can confirm the mappings locally on the mapping server using the following command:

Note that we can optionally configure a range of mappings in a single command. There probably aren’t many times you would use this, but the functionality is there in case you want it. The prefix length is the prefix length you want for each individual mapping. This would normally be a /32 (or /128 if using IPv6).

segment-routing
 mapping-server
  prefix-sid-map
   address-family ipv4
    10.10.10.1/32 100 range 10

The router would create prefix SID mappings for:

  • 10.10.10.1/32 = 100

  • 10.10.10.2/32 = 101

  • …

  • 10.10.10.10/32 = 109

Our topology does not have prefixes that increment sequentially like this, so we will not be able to use this.

Note that while we’ve created the local mappings, we haven’t advertised them into the IGP yet. All we need to do is add the following command to ISIS:

#R3, R4
router isis 1
 add ipv4
  segment-routing prefix-sid-map advertise-local

We can verify that all SR-only nodes see the new prefix SID mappings using the following command:

This works because all routers are automatically accepting/receiving remote mappings. If for some reason you wanted to disable this on a router, you can use the following command. This command can optionally be used on the SRMS itself to only use local mappings, but there is not a good reason to do this.

router isis 1
 address-family ipv4 unicast
  segment-routing prefix-sid-map receive disable

These nodes should now be able to form an end-to-end LSP with LDP-only nodes:

Notice that R3 now swaps the LDP-only prefix SIDs with their LDP label learned from R5:

The reverse action happens that we saw before: the unlabelled SR output label is swapped with the LDP output label. If we leave the sr-prefer configuration, R3 will be unable to impose an SR label for the prefix 8.8.8.1/32. We will see a “LDP/SR merge requested” and “LD/SR merge active” flag in the CEF flags output. The router must impose an LDP label instead of an SR label. (Note that R3 is not originating LSPs so this isn’t very relevant, but it is shown to explain how SR/LDP by default interwork with no extra configuration needed).

R3 advertises prefix SID mappings by using a new TLV within its LSP:

Notice that the PHP-off flag is not set. The flags for the SID Binding high-level TLV are used to control whether the TLV is attached to the originator with the A flag. By default this is unset. The Prefix SID sub TLV is then used for the mapping entry. All flags besides in the N (node) flag in this sub TLV are to be ignored, hence why the PHP-off flag is not set as you might expect.

(Also note that the S and D flags on the SID Binding TLV are always unset. These are the same as what we saw with the Router Capabilities TLV in the very first lab. There is also an M (mirror) flag which is not used by IOS-XR).

The attached flag is said to be used “when the node for the prefix SID is not SR nor LDP enabled” although I don’t quite understand what this does. You can set it in the local mapping policy as follows. It does not appear that nexthop neighbors will preform PHP, so I don’t quite understand this.

segment-routing
 mapping-server
  prefix-sid-map
   add ipv4
    5.5.5.1/32 5 attached

Moving on, we can see on the SR-only nodes that a route to an LDP-only loopback is now via “labeled SR(SRMS)” instead of “labeled SR”:

Redundant Mapping Servers

When multiple mapping servers are used, the clients will prefer the mapping server with the highest SysID. If these tie because the mapping is advertised in multiple areas, the lowest OSPF area ID or lowest level number is preferred. (The mapping might be advertised to multiple areas/levels from the same RID/SysID for a brief moment when a mapping range is moved from one area/level to another and the old LSP/LSA has not been purged).

We can confirm this by creating a conflict for a mapping between R3 and R4:

#R3
segment-routing
 mapping-server
  prefix-sid-map
   address-family ipv4
    5.5.5.1/32 5

#R4
segment-routing
 mapping-server
  prefix-sid-map
   address-family ipv4
    5.5.5.1/32 55

If we look at the active policy on R2, we should see that the index is 55 because R4 has a higher ISIS SysID:

The backup-policy shows us that 5 will be used instead, if R4 no longer functions as a mapping server:

Note that this is only for conflicting/overlapping mappings. If R3 adds a mapping that R4 doesn’t advertise, then R3’s mapping will be placed in the active policy on all clients.

#R3
segment-routing
 mapping-server
  prefix-sid-map
   address-family ipv4
    100.100.100.100/32 10

Note that ranges are treated as single entries. If one range overlaps another range in some subsection of the range, only the range from the primary server is used.

Also, if there is a discrepancy between a natively adverised prefix SID and a mapping entry, the natively advertised prefix SID is preferred.

The above example also demonstrates another point: the SRMS can advertise any arbitrary prefix. It does not need to exist in the RIB. Also, the SRMS can be placed anywhere in the network, as long as it belongs to the IGP area/level.

Another point to be aware of is that the mapping server itself is also a client. It treats its own local mappings with the same priority as a remote mapping server. That is to say, R3 does not give its own local mappings special preference over R4’s mappings. R4’s overlapping mappings are used because it has a higher SysID. This makes sense when you consider that all routers in the IGP should make the same decision about which mapping is preferred, and this includes the mapping server itself.