I hardly wonder what everything will break with a VRF name that contains non alpha numeric characters.
The linux Kernel only allows for interface names: https://android.googlesource.com/kernel/common/+/caf586e5f23cebb2a68cbaf288d59dbbf2d74052/net/core/dev.c#837
cpo@LR1.wue3# set vrf name MGM>T table 1000
[edit]
cpo@LR1.wue3# commit
[ vrf ]
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 157, in run_script
script.apply(c)
File "/usr/libexec/vyos/conf_mode/vrf.py", line 317, in apply
vrf_if.add_addr('127.0.0.1/8')
File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 1294, in add_addr
elif not is_intf_addr_assigned(self.ifname, addr, netns=netns):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/utils/network.py", line 444, in is_intf_addr_assigned
json_out = json.loads(out)
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[[vrf]] failed
Commit failed