Segment Routing over IPv6 (srv6) Configuration Module
This configuration module configures SRv6 over IS-IS with IBGP to advertise SID reachability
Supported SRv6 features:
End SIDs (nodes) and End-x SIDs (links), all statically allocated
IS-IS routing protocol with SRv6 TLVs
BGP L3VPN v4/v6 over SRv6
The module currently depends on IS-IS and will trigger a configuration error if the isis module is not enabled in the network topology. It is initially focused on the L3VPN use case; IPv4 islands over SRv6 or IPv6 transport between SRv6 endpoints will be added once FRRouting supports them.
Platform Support
The following table describes the per-platform support of individual router-level SRv6 features:
Operating system |
IS-IS |
OSPFv3 |
BGP v4/v6 |
Transit only |
---|---|---|---|---|
FRR |
✅ |
❌ |
❌ |
❌ |
Nokia SR OS |
✅ |
❌ |
✅ |
✅ |
BGP/SRv6 L3VPN
Operating system |
VPNv4 |
VPNv6 |
---|---|---|
FRR |
✅ |
✅ ❗️ |
Nokia SR OS |
❌ |
❌ |
Notes
VPNv4 and VPNv6 address families are enabled on IPv6 IBGP sessions
Configurable Global and Node Parameters
addressing.srv6_locator – global address pool[1] for allocation of SRv6 locator prefixes, the default prefix is defined in
topology.defaults.srv6.locator_pool
(5F00::/16, the IANA reserved range defined by RFC9602srv6.allocate_loopback – global flag (default:
True
) to replace the IPv6 loopback address of each SRv6-enabled node with an IP allocated from the locator rangesrv6.bgp – enable BGP with IPv4 and IPv6 address families over SRv6, default IPv4 + IPv6 over iBGP.
srv6.vpn – enable BGP with VPNv4 and VPNv6 address families over SRv6. BGP/SRv6 L3VPN is disabled by default.
srv6.igp – list of IGP protocols for which to enable SRv6, default
[isis]
Node Parameters
srv6.locator: an optional IPv6 address prefix to allocate to a given SRv6 node; by default, each node is assigned a unique /48 prefix from the global pool
srv6.transit_only: an optional Boolean flag to optimize resource usage and only allocate transit behaviors, not endpoint behaviors
Configurable BGP/SRv6 IPv4/6 and L3VPN Parameters
This module provides 2 parameters that are identical in structure, controlling different BGP address families:
srv6.bgp – Controls IPv4 and IPv6 address families
srv6.vpn – Controls VPNv4 and VPNv6 address families
Each parameter could be a boolean (True to enable both IP address families on IBGP sessions), or a dictionary of parameters:
ipv4 – enable IPv4/VPNv4 address family
ipv6 – enable IPv6/VPNv6 address family
ipv4 and ipv6 parameters could be:
Boolean value False to disable the address family within node data (overwriting global defaults)
Boolean value True to enable the address family on IBGP sessions
A string or a list of ibgp/ebgp keywords
For a tested example, see the IPv4 L3VPN over SRv6 topology.