If your peth source-interface is also member of a bridge you will get an error:
Report Time: 2020-08-15 17:33:04 Image Version: VyOS 1.3-rolling-202008130721 Release Train: equuleus Built by: [email protected] Built on: Thu 13 Aug 2020 07:21 UTC Build UUID: 93b236d9-08bf-4d9e-a05f-fa67d8fbd7d0 Build Commit ID: 99114c57bad638 Architecture: x86_64 Boot via: installed image System type: bare metal Hardware vendor: PC Engines Hardware model: apu4 Hardware S/N: 1360315 Hardware UUID: Unknown Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/interfaces-pseudo-ethernet.py", line 98, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/interfaces-pseudo-ethernet.py", line 89, in apply p = MACVLANIf(peth['ifname'], **conf) File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 237, in __init__ self._create() File "/usr/lib/python3/dist-packages/vyos/ifconfig/macvlan.py", line 53, in _create self._cmd(cmd.format(**self.config)) File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 51, in _cmd return cmd(command, self.debug) File "/usr/lib/python3/dist-packages/vyos/util.py", line 179, in cmd raise OSError(code, feedback) FileNotFoundError: [Errno 2] failed to run command: ip link add peth0 link eth1 type macvlan mode private returned: exit code: 2
A validation check should be added.
Same error persists in VyOS 1.2.5