Explains how global and local uSIDs are assigned within a uSID block and provides guidelines for selecting the appropriate allocation method.
The SRv6 uSID allocation within a uSID block is a mechanism that
-
involves the assignment of micro-segment identifiers (uSIDs) from a defined IPv6 prefix block and
-
supports both global and local ID allocation for diverse routing and service requirements.
|
Feature Name |
Release |
Description |
|---|---|---|
|
Wide LIB uSID Allocation for End.DT46 SRv6 SIDs |
Release 25.4.1 |
Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*) *This feature is supported on:
|
|
Wide LIB uSID Allocation for End.DT46 SRv6 SIDs |
Release 25.1.1 |
Introduced in this release on: Fixed Systems ( 8010 [ASIC: A100]) This feature is now supported on:
|
|
Wide LIB uSID Allocation for End.DT46 SRv6 SIDs |
Release 24.4.1 |
Introduced in this release on: Fixed Systems (8700 [ASIC: K100]) (select variants only*) * This feature support is now extended to the Cisco 8712-MOD-M routers. |
|
Wide LIB uSID Allocation for End.DT46 SRv6 SIDs |
Release 7.5.3 |
This feature introduces support for Wide Local ID block (W-LIB). W-LIB provides an extended set of IDs available for local uSID allocation that can be used when a PE with large-scale Pseudowire termination requires more local uSIDs than provided from the LIB. W-LIB uSID allocation is supported for End.DT46 SRv6 SIDs. |
uSID allocation blocks
In the Segment Routing (SR) domain, uSID allocation is categorized into three types of ID blocks. Each serves a specific purpose and is defined by its scope and behavior.
-
Global ID Block (GIB)
-
Local ID Block (LIB)
-
Wide Local ID Block (W-LIB)
|
Attributes |
Global ID Block (GIB) |
Local ID Block (LIB) |
Wide LIB (W-LIB) |
|---|---|---|---|
|
Description |
Set of IDs for globally scoped uSID allocation, providing reachability to a node and identifying shortest paths |
Set of IDs for locally scoped uSID allocation, tied to local (endpoint) behavior, not independently routable. |
Extended set of IDs for local uSID allocation, supporting nodes with large-scale requirements |
|
Key Characteristics |
Provides shortest path to a node in the SR domain. Advertised via an IP route (e.g., Parent node executes a variant of END behavior. Supports Anycast uSIDs. |
Must be preceded by a globally scoped uSID. Identifies a local micro-instruction (e.g., cross-connect or VPN context). Not routable. Same locally scoped uSID can differ between nodes |
Provides more local uSIDs than the standard LIB. Useful for nodes with large-scale Pseudowire termination |
|
Examples |
Nodal uSID (uN) is a globally scoped behavior. Multiple nodes may share the same globally scoped uSID for Anycast. |
Locally scoped uSID L may bind two different behaviors on nodes N1 and N2. Used for local endpoint-specific actions. |
A PE node that requires more local uSIDs for extensive Pseudowire termination. |
uSID allocation example
This section explains how locally scoped and globally scoped uSIDs are allocated, provides an example with a specific uSID Locator Block, and illustrates the allocation scheme. We also explore how global and local uSIDs are assigned for a node within an SRv6 domain.
The request to allocate locally scoped uSIDs comes from SRv6 clients (such as IS-IS or BGP). The request can be to allocate any available ID (dynamic allocation) or to allocate a specific ID (explicit allocation).
-
uSID Allocation request source: The request to allocate locally scoped uSIDs comes from SRv6 clients (such as IS-IS or BGP). The request can be to allocate any available ID (dynamic allocation) or to allocate a specific ID (explicit allocation).
-
Example parameters for uSID Allocation:
-
uSID Locator Block length: 32 bits
-
uSID Locator Block: FCBB:BB00::/32 (with B being a nibble value picked by operator)
-
uSID length (Locator Node ID / Function ID): 16 bits
-
uSID: FCBB:BB00:XYWZ::/48 (with XYWZ being variable nibbles)
-
-
Allocation Scheme: A uSID FCBB:BB00:XYWZ::/48 is said to be allocated from its block (FCBB:BB00::/32). A uSID is allocated from the GIB or LIB of block FCBB:BB00::/32 depending on the value of the "X" nibble:
-
GIB: nibble X from hex(0) to hex(D)
-
LIB: nibble X hex(E) or hex(F)
Figure 1. Allocation Scheme
With this allocation scheme, the uSID block FCBB:BB00::/32 supports up to 57343 global uSIDs (routers) with each router supporting up to 8192 local uSIDs.
For example, this image depicts the global uSIDs allocated for 3 nodes within the SRv6 domain.
Figure 2. Global uSIDs allocated for 3 nodes
Examining R1 in more detail, this node has Local uSIDs that are associated with uA end-point behaviors as follows:
-
Function ID 0xE000 – cross-connect to L3 neighbor R2
-
Function ID 0xE001 – cross-connect to L3 neighbor R3
The underlay uSIDs present on R1 are:
-
FCBB:BB00:0001::/48
-
FCBB:BB00:0001:E000::/64
-
FCBB:BB00:0001:E001::/64
-