The router supports one binding SID per SRv6 policy. The application of binding SIDs for SRv6 policies is similar to those for SR policies with an MPLS data plane. The binding SID is programmed using the function type End.B6.Encaps.Red (as defined in RFC 8986).
The named locator has a static and a dynamic range.
If a static value is configured, the router checks and allocates within the static range for the locator. If no static value is configured, the router allocates a value within the dynamic range.
The named locator uses a reserved global function block from which statically and dynamically allocated function values of all locators can be drawn.
The router checks and allocates the value within the reserved global function block.
All above checks fail.
The SRv6 policy is not programmed. The router retries the checks at a later time. The allocation scheme for the binding SID function values is first-come-first-served.
If the head end is not local, the router advertises the SRv6 policy in BGP toward the head end router.
The binding SID is a 128-bit IPv6 address. The router performs no local checks on the binding SID value. The router advertises the binding SID in BGP using the SRv6 binding SID sub-TLV, see BGP SRv6 policies. The SRv6 endpoint behavior sub-TLV is not included.
In general, the behavior for received SRv6 policy routes is similar to IPv4 SR-MPLS policies. For an SRv6 policy imported through BGP, the binding SID type is the indicator of the type of the SR policy. If the binding SID is an SRv6 binding SID, the router performs a longest prefix match against the route.
If there is no match, the SRv6 policy (candidate path) is invalid.
If the binding SID is valid, the router programs the SRv6 policy. The binding SID is programmed as a full /128 address.