Currently there is a contradiction between suggested completion and constrain check for source interface name.
To demonstrate this first create any VRF e.g.:
set vrf name red table 1000
commit
Now try to see completion for command:
vyos@r1# set system flow-accounting netflow server 10.1.0.2 source-interface
Possible completions:interface Interface name dum0 eth0 eth1 lo
Though red is not shown, it can be set without error unlike non-existing interface like blabla:
vyos@r1# set system flow-accounting netflow server 10.1.0.2 source-interface blabla
Incorrect path /sys/class/net/blabla: no such file or directory Invalid value Value validation failed Set failed[edit]
vyos@r1# set system flow-accounting netflow server 10.1.0.2 source-interface red
[edit]
Either completion should show VRFs, or constrains check should refuse to accept VRFs.
Part of interface definition in interface-definitions/include/source-interface.xml.i:
<completionHelp> <script>${vyos_completion_dir}/list_interfaces</script> </completionHelp> <constraint> #include <include/constraint/interface-name.xml.i> </constraint>