Table 254 is a default table and must not be used for VRF
Without VRF:
vyos@r14:~$ show ip route ta
table tag
vyos@r14:~$ show ip route table all
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
VRF default table 254:
S>* 0.0.0.0/0 [1/0] via 192.168.122.1, eth0, weight 1, 03:06:07
C>* 192.0.2.0/24 is directly connected, eth1, weight 1, 03:06:11
L>* 192.0.2.1/32 is directly connected, eth1, weight 1, 03:06:11
C>* 192.168.122.0/24 is directly connected, eth0, weight 1, 03:06:13
L>* 192.168.122.14/32 is directly connected, eth0, weight 1, 03:06:13
vyos@r14:~$Add a VRF with the table 254 and delete this VRF
set vrf name foo table 254 commit deleve vrf commit
commit:
Report time: 2025-05-30 11:43:01
Image version: VyOS 1.4.2
Release train: sagitta
Built by: VyOS Networks Iberia S.L.U.
Built on: Tue 01 Apr 2025 17:21 UTC
Build UUID: 01cfd92d-64ae-406c-83f7-bc75e509b75a
Build commit ID: 9cc58255f19640-dirty
Architecture: x86_64
Boot via: installed image
System type: KVM guest
Hardware vendor: QEMU
Hardware model: Ubuntu 24.04 PC (i440FX + PIIX, 1996)
Hardware S/N:
Hardware UUID: ad13b889-f13f-4004-9573-912c229de0a5
Traceback (most recent call last):
File "/usr/libexec/vyos/conf_mode/vrf.py", line 362, in <module>
apply(c)
File "/usr/libexec/vyos/conf_mode/vrf.py", line 349, in apply
frr_cfg.load_configuration(zebra_daemon)
File "/usr/lib/python3/dist-packages/vyos/frr.py", line 437, in load_configuration
self.imported_config = get_configuration(daemon=daemon)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/frr.py", line 152, in get_configuration
raise OSError(code, output)
PermissionError: [Errno 1] Exiting: failed to connect to any daemons.
delete [ vrf ] failed
Commit failed