This document outlines the deployment of a pure Segment Routing over IPv6 (SRv6) fabric using FRRouting (FRR 10.6+) and Linux.
Unlike traditional deployments that rely on L3VPNs (VRFs) to carry customer traffic, this architecture implements RFC 9252 (BGP Based L3 Service over SRv6) directly in the Global Routing Table (Default VRF). It supports both Global IPv4 and Global IPv6 over an SRv6 core.
Key Achievements of this Lab:
Implementing Global SRv6 (RFC 9252) natively in Linux/FRR without VRFs exposes a conflict between FRRouting's dynamic SID allocation and the Linux kernel's security model. Below are the critical “gotchas” discovered:
When doing global IPv4 over SRv6, BGP assigns the End.DT4 behavior to the IPv4 prefix. However, the Linux Kernel's seg6local engine strictly expects End.DT4 (IPv4 decapsulation) to point to an explicit VRF table. When FRR attempts to install this instruction into the global routing table (table 254), the kernel throws an EINVAL error, and FRR marks the SRv6 instruction as Rejected (B>r).
local routing table, the native Linux IPv6 stack will intercept the packets. It sees the Next Header is IPv4 (4), automatically strips the outer IPv6 SRv6 header, and routes the inner IPv4 payload natively, completely bypassing the End.DT4 kernel restriction.ip -6 route add local 2001:db8:b::/48 dev lo
Standard BGP ipv4 unicast and ipv6 unicast address families silently drop SRv6 Prefix-SID attributes (Attribute 40) because they are typically reserved for L3VPNs.
relax keyword on PEs and Route Reflectors:neighbor RR encapsulation-srv6-relax
SRv6 adds exactly 64 bytes of overhead (40 bytes for the outer IPv6 header + 24 bytes for the Segment Routing Header containing 1 SID).
name: srv6-1060 mgmt: network: clab-mgmt-net ipv4-subnet: 172.99.20.0/24 ipv6-subnet: "" topology: nodes: rr1: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - rr1/daemons:/etc/frr/daemons - rr1/frr.conf:/etc/frr/frr.conf - rr1/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 rr2: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - rr2/daemons:/etc/frr/daemons - rr2/frr.conf:/etc/frr/frr.conf - rr2/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 p1: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p1/daemons:/etc/frr/daemons - p1/frr.conf:/etc/frr/frr.conf - p1/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 p2: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p2/daemons:/etc/frr/daemons - p2/frr.conf:/etc/frr/frr.conf - p2/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth4.seg6_enabled=1 p3: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p3/daemons:/etc/frr/daemons - p3/frr.conf:/etc/frr/frr.conf - p3/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 p4: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p4/daemons:/etc/frr/daemons - p4/frr.conf:/etc/frr/frr.conf - p4/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 p5: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p5/daemons:/etc/frr/daemons - p5/frr.conf:/etc/frr/frr.conf - p5/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth4.seg6_enabled=1 p6: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - p6/daemons:/etc/frr/daemons - p6/frr.conf:/etc/frr/frr.conf - p6/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth3.seg6_enabled=1 pe1: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - pe1/daemons:/etc/frr/daemons - pe1/frr.conf:/etc/frr/frr.conf - pe1/vtysh.conf:/etc/frr/vtysh.conf exec: - sleep 4 - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv4.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - ip -6 route add local 2001:db8:b::/48 dev lo pe4: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - pe4/daemons:/etc/frr/daemons - pe4/frr.conf:/etc/frr/frr.conf - pe4/vtysh.conf:/etc/frr/vtysh.conf exec: - sleep 4 - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv4.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - ip -6 route add local 2001:db8:e::/48 dev lo pe3: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - pe3/daemons:/etc/frr/daemons - pe3/frr.conf:/etc/frr/frr.conf - pe3/vtysh.conf:/etc/frr/vtysh.conf exec: - sleep 4 - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv4.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - ip -6 route add local 2001:db8:d::/48 dev lo pe6: kind: linux image: quay.io/frrouting/frr:10.6.1 cmd: bash -c "ip link add sr0 type dummy; ip link set sr0 up; /usr/lib/frr/frrinit.sh start && tail -f /dev/null" sysctls: net.ipv4.ip_forward: 1 net.ipv4.conf.all.forwarding: 1 net.ipv6.conf.all.forwarding: 1 net.ipv6.conf.default.forwarding: 1 net.ipv6.seg6_flowlabel: 1 net.ipv6.conf.default.seg6_enabled: 1 net.ipv6.conf.all.seg6_enabled: 1 net.vrf.strict_mode: 0 net.ipv6.conf.all.accept_source_route: 1 binds: - pe6/daemons:/etc/frr/daemons - pe6/frr.conf:/etc/frr/frr.conf - pe6/vtysh.conf:/etc/frr/vtysh.conf exec: - sleep 4 - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add sr0 type dummy - ip link set sr0 up - sysctl -w net.ipv4.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.forwarding=1 - sysctl -w net.ipv6.conf.sr0.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth1.seg6_enabled=1 - sysctl -w net.ipv6.conf.eth2.seg6_enabled=1 - ip -6 route add local 2001:db8:10::/48 dev lo clienta1-1: kind: linux image: alpine:latest exec: - apk add iputils-ping - ip -4 addr add 192.168.131.2/24 dev eth1 - ip link set dev eth1 up - ip -4 route del default - ip -4 route add 0.0.0.0/0 via 192.168.131.1 - ip -6 address add fdd8:8b9e:07c5::2/64 dev eth1 - ip -6 route add ::/0 via fdd8:8b9e:07c5::1 clienta1-3: kind: linux image: alpine:latest exec: - apk add iputils-ping - ip -4 addr add 192.168.133.2/24 dev eth1 - ip link set dev eth1 up - ip -4 route del default - ip -4 route add 0.0.0.0/0 via 192.168.133.1 - ip -6 address add fdf2:f16f:a002::2/64 dev eth1 - ip -6 route add ::/0 via fdf2:f16f:a002::1 clienta1-4: kind: linux image: alpine:latest exec: - apk add iputils-ping - ip -4 addr add 192.168.134.2/24 dev eth1 - ip link set dev eth1 up - ip -4 route del default - ip -4 route add 0.0.0.0/0 via 192.168.134.1 - ip -6 address add fde4:1b4c:2ef0::2/64 dev eth1 - ip -6 route add ::/0 via fde4:1b4c:2ef0::1 clienta1-6: kind: linux image: alpine:latest exec: - apk add iputils-ping - ip -4 addr add 192.168.136.2/24 dev eth1 - ip link set dev eth1 up - ip -4 route del default - ip -4 route add 0.0.0.0/0 via 192.168.136.1 - ip -6 address add fdcb:a001:3440::2/64 dev eth1 - ip -6 route add ::/0 via fdcb:a001:3440::1 links: - endpoints: ["p1:eth1", "p2:eth1"] mtu: 1564 - endpoints: ["p1:eth2", "p4:eth2"] mtu: 1564 - endpoints: ["p2:eth2", "p3:eth2"] mtu: 1564 - endpoints: ["p2:eth3", "p5:eth3"] mtu: 1564 - endpoints: ["p3:eth1", "p6:eth1"] mtu: 1564 - endpoints: ["p6:eth2", "p5:eth2"] mtu: 1564 - endpoints: ["p5:eth1", "p4:eth1"] mtu: 1564 - endpoints: ["p1:eth3", "pe1:eth1"] mtu: 1564 - endpoints: ["p4:eth3", "pe4:eth1"] mtu: 1564 - endpoints: ["p3:eth3", "pe3:eth1"] mtu: 1564 - endpoints: ["p6:eth3", "pe6:eth1"] mtu: 1564 - endpoints: ["p2:eth4", "rr1:eth1"] mtu: 1564 - endpoints: ["p5:eth4", "rr2:eth1"] mtu: 1564 - endpoints: ["pe1:eth2", "clienta1-1:eth1"] mtu: 1500 - endpoints: ["pe3:eth2", "clienta1-3:eth1"] mtu: 1500 - endpoints: ["pe4:eth2", "clienta1-4:eth1"] mtu: 1500 - endpoints: ["pe6:eth2", "clienta1-6:eth1"] mtu: 1500
frr version 10.6.1_git
frr defaults traditional
hostname pe1
!
ip prefix-list LAN_IPV4 seq 10 permit 192.168.131.0/24
!
ipv6 prefix-list LAN_IPV6 seq 10 permit fdd8:8b9e:7c5::/64
!
route-map GLOBAL_IPV4-OUT permit 10
match ip address prefix-list LAN_IPV4
exit
!
route-map GLOBAL_IPV4-OUT deny 999
exit
!
route-map GLOBAL_IPV6-OUT permit 10
match ipv6 address prefix-list LAN_IPV6
exit
!
route-map GLOBAL_IPV6-OUT deny 999
exit
!
ip router-id 172.16.0.11
!
interface eth1
description "to p1 - eth3"
ipv6 address 2001:db8:1a::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to clienta-1 - eth1"
ip address 192.168.131.1/24
ipv6 address fdd8:8b9e:7c5::1/64
exit
!
interface lo
ipv6 address 2001:db8:b::1/128
ipv6 router isis SR
isis passive
exit
!
router bgp 65577
neighbor RR peer-group
neighbor RR remote-as 65577
neighbor RR password cisco123
neighbor RR update-source 2001:db8:b::1
neighbor RR capability extended-nexthop
neighbor 2001:db8:101::1 peer-group RR
neighbor 2001:db8:102::1 peer-group RR
!
segment-routing srv6
locator locator0
exit
!
address-family ipv4 unicast
redistribute connected route-map GLOBAL_IPV4-OUT
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
!
address-family ipv6 unicast
redistribute connected route-map GLOBAL_IPV6-OUT
neighbor RR activate
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
exit
!
router isis SR
net 49.0000.0000.0000.0011.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
locators
locator locator0
prefix 2001:db8:b::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.6.1_git
frr defaults traditional
hostname pe3
!
ip prefix-list LAN_IPV4 seq 10 permit 192.168.133.0/24
!
ipv6 prefix-list LAN_IPV6 seq 10 permit fdf2:f16f:a002::/64
!
route-map GLOBAL_IPV4-OUT permit 10
match ip address prefix-list LAN_IPV4
exit
!
route-map GLOBAL_IPV4-OUT deny 999
exit
!
route-map GLOBAL_IPV6-OUT permit 10
match ipv6 address prefix-list LAN_IPV6
exit
!
route-map GLOBAL_IPV6-OUT deny 999
exit
!
ip router-id 172.16.0.13
!
interface eth1
description "to p3 - eth3"
ipv6 address 2001:db8:3a::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to clienta-3 - eth1"
ip address 192.168.133.1/24
ipv6 address fdf2:f16f:a002::1/64
exit
!
interface lo
ipv6 address 2001:db8:d::1/128
ipv6 router isis SR
isis passive
exit
!
router bgp 65577
neighbor RR peer-group
neighbor RR remote-as 65577
neighbor RR password cisco123
neighbor RR update-source 2001:db8:d::1
neighbor RR capability extended-nexthop
neighbor 2001:db8:101::1 peer-group RR
neighbor 2001:db8:102::1 peer-group RR
!
segment-routing srv6
locator locator0
exit
!
address-family ipv4 unicast
redistribute connected route-map GLOBAL_IPV4-OUT
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
!
address-family ipv6 unicast
redistribute connected route-map GLOBAL_IPV6-OUT
neighbor RR activate
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
exit
!
router isis SR
net 49.0000.0000.0000.0013.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
locators
locator locator0
prefix 2001:db8:d::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.6.1_git
frr defaults traditional
hostname pe4
!
ip prefix-list LAN_IPV4 seq 10 permit 192.168.134.0/24
!
ipv6 prefix-list LAN_IPV6 seq 10 permit fde4:1b4c:2ef0::/64
!
route-map GLOBAL_IPV4-OUT permit 10
match ip address prefix-list LAN_IPV4
exit
!
route-map GLOBAL_IPV4-OUT deny 999
exit
!
route-map GLOBAL_IPV6-OUT permit 10
match ipv6 address prefix-list LAN_IPV6
exit
!
route-map GLOBAL_IPV6-OUT deny 999
exit
!
ip router-id 172.16.0.14
!
interface eth1
description "to p4 - eth3"
ipv6 address 2001:db8:4a::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to clienta-4 - eth1"
ip address 192.168.134.1/24
ipv6 address fde4:1b4c:2ef0::1/64
exit
!
interface lo
ipv6 address 2001:db8:e::1/128
ipv6 router isis SR
isis passive
exit
!
router bgp 65577
neighbor RR peer-group
neighbor RR remote-as 65577
neighbor RR password cisco123
neighbor RR update-source 2001:db8:e::1
neighbor RR capability extended-nexthop
neighbor 2001:db8:101::1 peer-group RR
neighbor 2001:db8:102::1 peer-group RR
!
segment-routing srv6
locator locator0
exit
!
address-family ipv4 unicast
redistribute connected route-map GLOBAL_IPV4-OUT
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
!
address-family ipv6 unicast
redistribute connected route-map GLOBAL_IPV6-OUT
neighbor RR activate
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
exit
!
router isis SR
net 49.0000.0000.0000.0014.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
locators
locator locator0
prefix 2001:db8:e::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.6.1_git
frr defaults traditional
hostname pe6
!
ip prefix-list LAN_IPV4 seq 10 permit 192.168.136.0/24
!
ipv6 prefix-list LAN_IPV6 seq 10 permit fdcb:a001:3440::/64
!
route-map GLOBAL_IPV4-OUT permit 10
match ip address prefix-list LAN_IPV4
exit
!
route-map GLOBAL_IPV4-OUT deny 999
exit
!
route-map GLOBAL_IPV6-OUT permit 10
match ipv6 address prefix-list LAN_IPV6
exit
!
route-map GLOBAL_IPV6-OUT deny 999
exit
!
ip router-id 172.16.0.16
!
interface eth1
description "to p6 - eth3"
ipv6 address 2001:db8:6a::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to clienta-6 - eth1"
ip address 192.168.136.1/24
ipv6 address fdcb:a001:3440::1/64
exit
!
interface lo
ipv6 address 2001:db8:10::1/128
ipv6 router isis SR
isis passive
exit
!
router bgp 65577
neighbor RR peer-group
neighbor RR remote-as 65577
neighbor RR password cisco123
neighbor RR update-source 2001:db8:10::1
neighbor RR capability extended-nexthop
neighbor 2001:db8:101::1 peer-group RR
neighbor 2001:db8:102::1 peer-group RR
!
segment-routing srv6
locator locator0
exit
!
address-family ipv4 unicast
redistribute connected route-map GLOBAL_IPV4-OUT
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
!
address-family ipv6 unicast
redistribute connected route-map GLOBAL_IPV6-OUT
neighbor RR activate
neighbor RR encapsulation-srv6-relax
sid export auto
exit-address-family
exit
!
router isis SR
net 49.0000.0000.0000.0016.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
locators
locator locator0
prefix 2001:db8:10::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p1
!
ip router-id 172.16.0.1
!
interface eth1
description "to p2 - eth1"
ipv6 address 2001:db8:12::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p4 - eth2"
ipv6 address 2001:db8:14::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to pe1 - eth3"
ipv6 address 2001:db8:1a::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth4
description "to gw1 - eth1"
ipv6 address 2001:db8:f11::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:1::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0001.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:1::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:1::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p2
!
ip router-id 172.16.0.2
!
interface eth1
description "to p1 - eth1"
ipv6 address 2001:db8:12::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p3 - eth2"
ipv6 address 2001:db8:23::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to p5 - eth3"
ipv6 address 2001:db8:25::2/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth4
description "to rr1 - eth1"
ipv6 address 2001:db8:2101::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:2::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0002.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:2::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:2::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p3
!
ip router-id 172.16.0.3
!
interface eth1
description "to p6 - eth1"
ipv6 address 2001:db8:36::3/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p2 - eth2"
ipv6 address 2001:db8:23::3/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to pe3 - eth1"
ipv6 address 2001:db8:3a::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:3::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0003.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:3::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:3::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p4
!
ip router-id 172.16.0.4
!
interface eth1
description "to p5 - eth1"
ipv6 address 2001:db8:45::4/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p1 - eth2"
ipv6 address 2001:db8:12::4/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to pe4 - eth1"
ipv6 address 2001:db8:4a::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:4::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0004.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:4::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:4::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p5
!
ip router-id 172.16.0.5
!
interface eth1
description "to p4 - eth1"
ipv6 address 2001:db8:45::5/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p6 - eth2"
ipv6 address 2001:db8:56::5/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to p2 - eth3"
ipv6 address 2001:db8:25::5/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth4
description "to rr2 - eth1"
ipv6 address 2001:db8:5102::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:5::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0005.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:5::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:5::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.5.1_git
frr defaults traditional
hostname p6
!
ip router-id 172.16.0.6
!
interface eth1
description "to p3 - eth1"
ipv6 address 2001:db8:36::6/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth2
description "to p5 - eth2"
ipv6 address 2001:db8:56::6/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth3
description "to pe6 - eth1"
ipv6 address 2001:db8:6a::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface eth4
description "to gw2 - eth1"
ipv6 address 2001:db8:f62::1/64
ipv6 router isis SR
isis network point-to-point
exit
!
interface lo
ipv6 address 2001:db8:6::1/128
ipv6 router isis SR
isis passive
exit
!
router isis SR
net 49.0000.0000.0000.0006.00
segment-routing srv6
locator locator0
exit
exit
!
segment-routing
srv6
static-sids
sid 2001:db8:6::1/128 locator locator0 behavior uN
exit
!
exit
!
srv6
locators
locator locator0
prefix 2001:db8:6::/48
exit
!
exit
!
exit
!
exit
!
frr version 10.6.1_git frr defaults traditional hostname rr1 ! interface eth1 description "to p2 - eth4" ipv6 address 2001:db8:2101::2/64 ipv6 router isis SR isis network point-to-point exit ! interface lo ipv6 address 2001:db8:101::1/128 ipv6 router isis SR isis passive exit ! router bgp 65577 bgp route-reflector allow-outbound-policy neighbor PE peer-group neighbor PE remote-as 65577 neighbor PE password cisco123 neighbor PE update-source 2001:db8:101::1 neighbor PE capability extended-nexthop neighbor 2001:db8:b::1 peer-group PE neighbor 2001:db8:b::1 description "PE1" neighbor 2001:db8:d::1 peer-group PE neighbor 2001:db8:d::1 description "PE3" neighbor 2001:db8:e::1 peer-group PE neighbor 2001:db8:e::1 description "PE4" neighbor 2001:db8:10::1 peer-group PE neighbor 2001:db8:10::1 description "PE6" neighbor 2001:db8:11::1 peer-group PE neighbor 2001:db8:11::1 description "GW1" neighbor 2001:db8:12::1 peer-group PE neighbor 2001:db8:12::1 description "GW2" ! address-family ipv4 unicast neighbor PE route-reflector-client neighbor PE encapsulation-srv6-relax exit-address-family ! address-family ipv6 unicast neighbor PE activate neighbor PE route-reflector-client neighbor PE encapsulation-srv6-relax exit-address-family exit ! router isis SR net 49.0000.0000.0000.0101.00 segment-routing srv6 locator locator0 exit exit !
frr version 10.6.1_git frr defaults traditional hostname rr2 ! ip router-id 172.16.0.102 ! interface eth1 description "to p5 - eth4" ipv6 address 2001:db8:5102::2/64 ipv6 router isis SR isis network point-to-point exit ! interface lo ipv6 address 2001:db8:102::1/128 ipv6 router isis SR isis passive exit ! router bgp 65577 bgp route-reflector allow-outbound-policy neighbor PE peer-group neighbor PE remote-as 65577 neighbor PE password cisco123 neighbor PE update-source 2001:db8:102::1 neighbor PE capability extended-nexthop neighbor 2001:db8:b::1 peer-group PE neighbor 2001:db8:b::1 description "PE1" neighbor 2001:db8:d::1 peer-group PE neighbor 2001:db8:d::1 description "PE3" neighbor 2001:db8:e::1 peer-group PE neighbor 2001:db8:e::1 description "PE4" neighbor 2001:db8:10::1 peer-group PE neighbor 2001:db8:10::1 description "PE6" neighbor 2001:db8:11::1 peer-group PE neighbor 2001:db8:11::1 description "GW1" neighbor 2001:db8:12::1 peer-group PE neighbor 2001:db8:12::1 description "GW2" ! address-family ipv4 unicast neighbor PE route-reflector-client neighbor PE encapsulation-srv6-relax exit-address-family ! address-family ipv6 unicast neighbor PE activate neighbor PE route-reflector-client neighbor PE encapsulation-srv6-relax exit-address-family exit ! router isis SR net 49.0000.0000.0000.0102.00 segment-routing srv6 locator locator0 exit exit !