====== SRv6 L3VPN Multi-Vendor Lab - Architecture & Configuration ====== This document provides a comprehensive analysis, review, and architectural breakdown of the ''srv6-l3vpn-multi'' Containerlab topology and its associated configuration files. ^ Date of Analysis | 2026-09-02 | ^ Target System | Containerlab Lab Environment | ^ Topology Scope | SRv6 (Segment Routing over IPv6) with Multi-Vendor PE Routers | ===== 1. Topology & Node Architecture ===== The lab represents a highly advanced, carrier-grade **SRv6 L3VPN** implementation crossing multiple network operating systems. It enables overlapping customer VRFs (''clienta'' and ''clientb'') to route over an IPv6-only transport core using SRv6 Locators. ==== 1.1 Node Inventory ==== The environment utilizes a variety of specialized control plane, core, and provider edge (PE) devices: ^ Node Name ^ Operating System / Kind ^ IP Address (OOB Mgmt) ^ Role / Description ^ | **rr1** | Linux (FRRouting 10.7.0) | 172.99.20.x | BGP Route Reflector (iBGP VPNv4/VPNv6) | | **p1** | Linux (FRRouting + Kea DHCPv6) | 172.99.20.x | Core Provider Router (P) & IPv6 Address Allocator | | **pe1** | Cisco IOS-XE (C8000V) | 172.99.20.x | Provider Edge 1 (Autonomous) | | **pe2** | Cisco IOS-XE (C8000V) | 172.99.20.x | Provider Edge 2 (Autonomous) | | **pe3** | Cisco IOS-XE (C8000V) | 172.99.20.x | Provider Edge 3 (Autonomous) | | **pe4** | 6WIND VSR | 172.99.20.x | High-performance DPDK-based Software PE | | **pe5** | Linux (FRRouting 10.7.0) | 172.99.20.x | Linux-native FRR PE with VRF table bindings | | **pe6** | VyOS | 172.99.20.x | VyOS-native VRF & SRv6 PE | | **pe7** | Cisco IOS-XR | 172.99.20.20 | Cisco Service Provider OS (Minimal config present) | ==== 1.2 Customer VRF & End-Host Mapping ==== The design separates customers into two distinct Virtual Routing and Forwarding (VRF) instances: ^ Customer VRF ^ Route Target (RT) ^ RD (Route Distinguisher) ^ Attached Clients ^ | **clienta** | ''65000:101'' | ''65000:101'' | clienta-1 to clienta-7 | | **clientb** | ''65000:102'' | ''65000:102'' | clientb-1 to clientb-3 | --- ===== 2. Underlay Routing & SRv6 Configuration ===== The backbone transport network relies on **Single-Area IS-IS (Intermediate System to Intermediate System)** to distribute loopbacks and locator prefixes, which is a textbook design for SRv6 deployments. ==== 2.1 IS-IS Infrastructure ==== * **Metric Style:** Wide metric formatting is explicitly enabled (''metric-style wide''). This is a mandatory prerequisite for carrying Segment Routing TLVs. * **MTU Core:** The backbone interfaces (e.g., links connecting ''p1'' to PEs) are set to **9216 bytes (Jumbo Frames)** to handle the SRv6 outer headers without fragmentation. ==== 2.2 SRv6 Locators & Micro-SIDs ==== The PEs use **uSID (Micro-Segment)** format ''usid-f3216''. ^ Router ^ Loopback IPv6 ^ SRv6 Locator Prefix ^ Locator Format ^ | **pe1** | Dynamic / Provider-assigned | ''FD00:CAFE:1111::/48'' | uSID-f3216 | | **pe2** | Dynamic / Provider-assigned | ''FD00:CAFE:2222::/48'' | uSID-f3216 | | **pe3** | Dynamic / Provider-assigned | ''FD00:CAFE:3333::/48'' | uSID-f3216 | | **pe4** | ''fd00:cafe:4444:1000::1/128'' | ''fd00:cafe:4444::/48'' | micro-sid-f3216 | | **pe6** | ''fd00:cafe:6666::1/128'' | ''fd00:cafe:6666::/48'' | uSID-f3216 | --- ===== 3. Overlay Control Plane (Multiprotocol BGP) ===== To exchange VPNv4 and VPNv6 customer routes across the SRv6 core, an MP-BGP control plane is implemented. All nodes reside in Autonomous System **65577** (iBGP structure) with **rr1** acting as the central Route Reflector. SIDs are allocated per-VRF (''alloc-mode per-vrf''). --- ===== 4. Ansible & Automation Playbooks ===== ==== 4.1 Playbook Verification ==== The inconsistencies previously noted have been successfully corrected: * ✅ **Inventory Alignment:** Both ''enable-interfaces.yml'' and ''disable-interfaces.yml'' now correctly target the ''clab-srv6-l3vpn-multi-pe1, pe2, pe3'' hosts. * ✅ **Interface Alignment:** Both playbooks now accurately loop through GigabitEthernet interfaces 2, 3, and 4. --- ===== 5. Operational Issues & Recommendations ===== * 🚧 **Dynamic Client RA/Loop In clienta-1:** * **Issue:** ''clienta-1'' runs a background infinite bash loop that downs and ups ''eth1'' every 60 seconds to refresh its default route. * **Fix:** Check if PE1 is reliably sending IPv6 Router Advertisements (RAs) to the clients. * 🚧 **VyOS PE6 Static Route Fallback:** * **Issue:** VyOS has a static IPv6 route forcing traffic to the locator namespace back to default (''route6 fd00:cafe::/32 { next-hop 2001:db8:107::1 }''). * **Fix:** Ensure MP-BGP is distributing this natively so that the network remains resilient during a path failure. --- --- ====== Configuration Files Library ====== ===== ContainerLab Topology ===== ==== File: srv6-l3vpn-multi.clab.yaml ==== name: srv6-l3vpn-multi 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.7.0 cmd: bash -c "/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: 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 p1: kind: linux image: quay.io/frrouting/frr:10.7.0 cmd: >- bash -c " apk update && apk add kea && rm -f /tmp/kea*.lock /run/kea/*.lock /run/kea/*.pid && mkdir -p /run/kea && chmod 640 -R /run/kea && sleep 2 && (/usr/sbin/kea-dhcp6 -c /etc/kea/kea-dhcp6.conf > /var/log/kea-dhcp6.log 2>&1 &) && /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: 1 binds: - p1/daemons:/etc/frr/daemons - p1/frr.conf:/etc/frr/frr.conf - p1/vtysh.conf:/etc/frr/vtysh.conf - p1/kea-dhcp6.conf:/etc/kea/kea-dhcp6.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up pe1: kind: cisco_c8000v type: autonomous image: vrnetlab/cisco_c8000v:26.01.01 env: QEMU_SMP: "4" QEMU_MEMORY: "8196" startup-config: configs/pe1-startup-config.cfg pe2: kind: cisco_c8000v type: autonomous image: vrnetlab/cisco_c8000v:26.01.01 env: QEMU_SMP: "4" QEMU_MEMORY: "8196" startup-config: configs/pe2-startup-config.cfg pe3: kind: cisco_c8000v type: autonomous image: vrnetlab/cisco_c8000v:26.01.01 env: QEMU_SMP: "4" QEMU_MEMORY: "8196" startup-config: configs/pe3-startup-config.cfg pe4: kind: 6wind_vsr image: download.6wind.com/vsr/x86_64-ce/3.12:3.12.2.2 startup-config: configs/pe4-startup-config.cfg cpu: 4 memory: 8GB binds: - /dev/hugepages:/dev/hugepages - /dev/shm:/dev/shm:rw pe5: kind: linux image: quay.io/frrouting/frr:10.7.0 cmd: bash -c "/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: 1 binds: - pe5/daemons:/etc/frr/daemons - pe5/frr.conf:/etc/frr/frr.conf - pe5/vtysh.conf:/etc/frr/vtysh.conf exec: - ip link add dummy0 type dummy - ip link set dummy0 up - ip link add clienta type vrf table 10 - ip link set eth2 master clienta - ip link set clienta up pe6: kind: vyosnetworks_vyos image: vyos:2026.06.30-0048 startup-config: configs/pe6-startup-config.cfg clienta-1: kind: linux image: clab-nginx:latest sysctls: net.ipv6.conf.all.disable_ipv6: 0 net.ipv6.conf.all.accept_ra: 2 exec: - sysctl -w net.ipv6.conf.eth1.accept_ra=2 - dd if=/dev/zero of=/usr/share/nginx/html/bigfile.bin bs=1M count=10240 - sysctl -w net.ipv6.conf.eth1.accept_ra=2 - apt update -y - apt install -y procps psmisc wget curl avahi-daemon avahi-utils - ip -4 addr add 142.134.7.82/30 dev eth1 - ip link set dev eth1 up - ip -4 route del default || true - ip -4 route add 224.0.0.0/4 dev eth1 - ip -4 route add 0.0.0.0/0 via 142.134.7.81 - sed -i 's/#enable-dbus=yes/enable-dbus=no/g' /etc/avahi/avahi-daemon.conf - killall -q avahi-daemon || true - rm -rf /var/run/avahi-daemon/ - mkdir -p /var/run/avahi-daemon/ - chown avahi:avahi /var/run/avahi-daemon/ - avahi-daemon -D - bash -c "while true; do sleep 60; ip link set dev eth1 down; sleep 1; ip link set dev eth1 up; ip -4 route del default || true; ip -4 route add 0.0.0.0/0 via 142.134.7.81; killall -q avahi-daemon || true; rm -rf /var/run/avahi-daemon/*; avahi-daemon -D; done &" br1001: kind: bridge links: - endpoints: ["rr1:eth1", "p1:eth1"] mtu: 9216 - endpoints: ["p1:eth2", "pe1:Gi2"] mtu: 9216 - endpoints: ["p1:eth3", "pe2:Gi2"] mtu: 9216 - endpoints: ["p1:eth4", "pe3:Gi2"] mtu: 9216 - endpoints: ["p1:eth5", "pe4:eth1"] mtu: 9216 - endpoints: ["p1:eth6", "pe5:eth1"] mtu: 9216 - endpoints: ["p1:eth7", "pe6:eth1"] mtu: 9216 - endpoints: ["pe1:Gi3", "clienta-1:eth1"] mtu: 1500 - endpoints: ["pe1:Gi5", "br1001:eth1"] mtu: 1500 ===== Ansible Playbooks ===== ==== File: enable-interfaces.yml ==== --- - name: Bring up interfaces on PE routers # Targets the specific PE routers you mentioned hosts: clab-srv6-l3vpn-multi-pe1, clab-srv6-l3vpn-multi-pe2, clab-srv6-l3vpn-multi-pe3 # Network CLI connection is required for Cisco devices connection: network_cli gather_facts: false vars: # Explicitly tell Ansible the OS type for these nodes ansible_network_os: cisco.ios.ios tasks: - name: Enable GigabitEthernet interfaces 2 through 4 cisco.ios.ios_config: lines: - no shutdown parents: "interface GigabitEthernet{{ item }}" # Loop through the interface numbers loop: - 2 - 3 - 4 - name: Save running-config to startup-config (write mem) cisco.ios.ios_config: save_when: modified ==== File: disable-interfaces.yml ==== --- - name: Bring down interfaces on PE routers # Targets the specific PE routers you mentioned hosts: clab-srv6-l3vpn-multi-pe1, clab-srv6-l3vpn-multi-pe2, clab-srv6-l3vpn-multi-pe3 # Network CLI connection is required for Cisco devices connection: network_cli gather_facts: false vars: # Explicitly tell Ansible the OS type for these nodes ansible_network_os: cisco.ios.ios tasks: - name: Enable GigabitEthernet interfaces 2 through 4 cisco.ios.ios_config: lines: - shutdown parents: "interface GigabitEthernet{{ item }}" # Loop through the interface numbers loop: - 2 - 3 - 4 - name: Save running-config to startup-config (write mem) cisco.ios.ios_config: save_when: modified ==== File: nornir-simple-inventory.yml ==== --- pe4: username: admin password: admin platform: 6wind_vsr hostname: 172.99.20.19 br1001: username: password: platform: bridge hostname: pe1: username: admin password: admin platform: cisco_c8000v hostname: 172.99.20.2 pe2: username: admin password: admin platform: cisco_c8000v hostname: 172.99.20.13 pe3: username: admin password: admin platform: cisco_c8000v hostname: 172.99.20.7 clienta-1: username: password: platform: linux hostname: 172.99.20.14 pe6: username: admin password: admin platform: vyosnetworks_vyos hostname: 172.99.20.18 ===== Router Configurations ===== ==== File: configs/pe1-startup-config.cfg ==== Building configuration... Current configuration : 9632 bytes ! version 26.1 service timestamps debug datetime msec service timestamps log datetime msec platform qfp utilization monitor load 80 platform sslvpn use-pd platform console serial ! hostname pe1 ! vrf definition clab-mgmt description Containerlab management VRF (DO NOT DELETE) ! address-family ipv4 exit-address-family ! address-family ipv6 exit-address-family ! vrf definition clienta rd 65000:101 ! address-family ipv4 route-target export 65000:101 route-target import 65000:101 exit-address-family ! address-family ipv6 route-target export 65000:101 route-target import 65000:101 exit-address-family ! vrf definition clientb rd 65000:102 ! address-family ipv4 route-target export 65000:102 route-target import 65000:102 exit-address-family ! address-family ipv6 route-target export 65000:102 route-target import 65000:102 exit-address-family ! crypto pki trustpoint SLA-TrustPoint revocation-check crl hash sha512 ! crypto pki trustpoint TP-self-signed-2270412557 enrollment selfsigned subject-name cn=IOS-Self-Signed-Certificate-2270412557 revocation-check none rsakeypair TP-self-signed-2270412557 hash sha512 ! ! [ PKI CERTIFICATE CHAINS TRUNCATED FOR BREVITY ] ! interface Loopback0 no ip address no ip proxy-arp ipv6 address prefix-from-provider ::1/128 ipv6 enable ipv6 router isis SR ! interface GigabitEthernet1 vrf forwarding clab-mgmt ip address 10.0.0.15 255.255.255.0 no ip proxy-arp negotiation auto ipv6 address 2001:DB8::2/64 ! interface GigabitEthernet2 description "to p1 - eth2" mtu 9216 no ip address ip proxy-arp negotiation auto ipv6 dhcp client request vendor ipv6 dhcp client pd prefix-from-provider ipv6 address autoconfig default ipv6 enable ipv6 router isis SR isis network point-to-point ! interface GigabitEthernet3 vrf forwarding clienta ip address 142.134.7.81 255.255.255.252 no ip proxy-arp negotiation auto ipv6 address prefix-from-provider ::1/64 mdns-sd gateway service-policy CLIENTA-POLICY ! interface GigabitEthernet4 vrf forwarding clientb ip address 192.168.41.1 255.255.255.0 no ip proxy-arp negotiation auto ! segment-routing srv6 locators locator locator0 prefix FD00:CAFE:1111::/48 format usid-f3216 ! router isis SR net 49.0000.0000.0000.0003.00 metric-style wide log-adjacency-changes all ! address-family ipv6 segment-routing srv6 locator locator0 exit-address-family ! router bgp 65577 bgp router-id 172.16.0.3 bgp log-neighbor-changes bgp listen range ::/0 peer-group RR no bgp default ipv4-unicast neighbor 2001:DB8:101::1 remote-as 65577 neighbor 2001:DB8:101::1 description "RR1" neighbor 2001:DB8:101::1 log-neighbor-changes neighbor 2001:DB8:101::1 password cisco123 neighbor 2001:DB8:101::1 update-source Loopback0 ! address-family ipv4 exit-address-family ! address-family vpnv4 neighbor 2001:DB8:101::1 activate neighbor 2001:DB8:101::1 send-community extended neighbor 2001:DB8:101::1 next-hop-self exit-address-family ! address-family vpnv6 neighbor 2001:DB8:101::1 activate neighbor 2001:DB8:101::1 send-community extended neighbor 2001:DB8:101::1 next-hop-self exit-address-family ! address-family ipv4 vrf clienta bgp router-id 172.16.0.3 redistribute connected ! segment-routing srv6 locator locator0 alloc-mode per-vrf exit-srv6 ! exit-address-family ! address-family ipv6 vrf clienta redistribute connected bgp router-id 172.16.0.3 ! segment-routing srv6 locator locator0 alloc-mode per-vrf exit-srv6 ! exit-address-family ! address-family ipv4 vrf clientb bgp router-id 172.16.0.3 redistribute connected ! segment-routing srv6 locator locator0 alloc-mode per-vrf exit-srv6 ! exit-address-family ! address-family ipv6 vrf clientb redistribute connected bgp router-id 172.16.0.3 ! segment-routing srv6 locator locator0 alloc-mode per-vrf exit-srv6 ! exit-address-family ! ip default-gateway 10.0.0.2 ip rcmd domain-lookup ip forward-protocol nd ip forward-protocol udp tftp ip telnet comport enable ! no ip http server ip route vrf clab-mgmt 0.0.0.0 0.0.0.0 10.0.0.2 ipv6 route vrf clab-mgmt ::/0 2001:DB8::1 ! line con 0 activation-character 13 stopbits 1 line vty 0 4 activation-character 13 login local transport input ssh ! end ==== File: configs/pe4-startup-config.cfg ==== / vrf main l3vrf clienta table-id 10 / vrf main l3vrf clienta interface infrastructure eth2 ipv4 address 142.134.7.73/30 / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 enabled true / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 autoconfiguration true / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 address-generation-mode random-secret / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 accept-router-advert always / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 accept-segment-routing true / vrf main l3vrf clienta interface infrastructure eth2 network-stack ipv6 router-solicitations 3 / vrf main l3vrf clienta interface infrastructure eth2 port infra-eth2 / vrf main l3vrf clienta routing bgp ebgp-requires-policy false / vrf main l3vrf clienta routing bgp segment-routing ipv6 locator locator0 / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn export vpn true / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn export label auto / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn export route-target 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn export route-distinguisher 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn export ipv6-sid auto / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn import vpn true / vrf main l3vrf clienta routing bgp address-family ipv4-unicast l3vpn import route-target 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv4-unicast redistribute connected / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn export vpn true / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn export label auto / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn export route-target 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn export route-distinguisher 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn export ipv6-sid auto / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn import vpn true / vrf main l3vrf clienta routing bgp address-family ipv6-unicast l3vpn import route-target 65000:101 / vrf main l3vrf clienta routing bgp address-family ipv6-unicast redistribute connected / vrf main interface infrastructure eth1 ipv4 enabled false / vrf main interface infrastructure eth1 mtu 9216 / vrf main interface infrastructure eth1 ipv6 address 2001:db8:105::2/64 / vrf main interface infrastructure eth1 network-stack ipv6 accept-segment-routing true / vrf main interface infrastructure eth1 port infra-eth1 / vrf main interface loopback lo0 ipv6 address fd00:cafe:4444:1000::1/128 / vrf main routing interface eth1 isis area-tag SR / vrf main routing interface eth1 isis ipv6-routing true / vrf main routing interface eth1 isis network-point-to-point true / vrf main routing interface lo0 isis area-tag SR / vrf main routing interface lo0 isis ipv4-routing true / vrf main routing interface lo0 isis ipv6-routing true / vrf main routing bgp as 65577 / vrf main routing bgp router-id 172.16.0.6 / vrf main routing bgp segment-routing ipv6 locator locator0 / vrf main routing bgp address-family ipv6-unicast / vrf main routing bgp neighbor-group RR remote-as 65577 / vrf main routing bgp neighbor-group RR capabilities extended-nexthop true / vrf main routing bgp neighbor-group RR password cisco123 / vrf main routing bgp neighbor-group RR update-source fd00:cafe:4444:1000::1 / vrf main routing bgp neighbor-group RR address-family ipv4-vpn soft-reconfiguration-inbound true / vrf main routing bgp neighbor-group RR address-family ipv6-vpn soft-reconfiguration-inbound true / vrf main routing bgp neighbor 2001:db8:101::1 neighbor-group RR / vrf main routing bgp neighbor 2001:db8:101::1 neighbor-description RR1 / vrf main routing isis instance SR area-address 49.0000.0000.0000.0006.00 / vrf main routing isis instance SR log-adjacency-changes true / vrf main routing isis instance SR segment-routing enabled true / vrf main routing isis instance SR segment-routing ipv6 locator locator0 / vrf main routing segment-routing enabled true / vrf main routing segment-routing ipv6 locator locator0 prefix fd00:cafe:4444::/48 / vrf main routing segment-routing ipv6 locator locator0 block-length 32 / vrf main routing segment-routing ipv6 locator locator0 node-length 16 / vrf main routing segment-routing ipv6 locator locator0 mode-micro-sid-f3216 / vrf main ssh-server / system fast-path virtual-port infrastructure infra-eth1 / system fast-path virtual-port infrastructure infra-eth2 ==== File: configs/pe6-startup-config.cfg ==== interfaces { ethernet eth1 { address "2001:db8:107::2/64" mtu "9216" } ethernet eth2 { address "142.134.7.89/30" vrf "clienta" } loopback lo { address "fd00:cafe:6666::1/128" } } protocols { bgp { neighbor 2001:db8:101::1 { description "RR1" peer-group "RR" } parameters { log-neighbor-changes router-id "172.16.0.8" } peer-group RR { address-family { ipv4-vpn { nexthop-self { } soft-reconfiguration { inbound } } ipv6-vpn { nexthop-self { } soft-reconfiguration { inbound } } } capability { extended-nexthop } password "cisco123" remote-as "65577" update-source "fd00:cafe:6666::1" } srv6 { locator "locator0" } system-as "65577" } isis { interface eth1 { network { point-to-point } } interface lo { passive } log-adjacency-changes net "49.0000.0000.0000.0008.00" segment-routing { prefix fd00:cafe:6666::/48 { } srv6 { interface "lo" locator "locator0" } } } segment-routing { interface eth1 { srv6 { } } srv6 { encapsulation { source-address "fd00:cafe:6666::1" } locator locator0 { block-len "32" format "usid-f3216" func-bits "16" node-len "16" prefix "fd00:cafe:6666::/48" } } } } vrf { name clienta { protocols { bgp { address-family { ipv4-unicast { export { vpn } import { vpn } rd { vpn { export "65000:101" } } redistribute { connected { } } route-target { vpn { export "65000:101" import "65000:101" } } } } parameters { router-id "172.16.0.8" } sid { vpn { per-vrf { export "auto" } } } system-as "65577" } static { route6 fd00:cafe::/32 { next-hop 2001:db8:107::1 { vrf "default" } } } } table "100" } }