If you attempt to set source-interface on a unicast vxlan you get an error about no multicast group being set. Thing is in order to use IPv6 link local addresses on vxlans Linux expects a dev argument to be given to iproute2 or else it errors out. As a result it doesn’t appear as though you can setup a unicast vxlan using link locals in vyos since not setting source-interface causes iproute2 to error and setting it causes vyos to error.
Hello @Scoopta , could you please describe VyOS version, VyOS configuration, and console output when you
VyOS version is 1.3-beta-202107121144 build commit 2ba1cbb93659bc
set interface vxlan vxlan0 vni 0 set interface vxlan vxlan0 source-address fe80::3 set interface vxlan vxlan0 remote fe80::2
If I attempt to set source-interface with
set interface vxlan vxlan0 source-interface eth0
A commit will give me
VXLAN “vxlan0” is missing mandatory underlay multicastgroup or source interface for a multicast network.
If I don’t set source-interface then committing gives
VyOS had an issue completing a command. We are sorry that you encountered a problem while using VyOS. There are a few things you can do to help us (and yourself): - Make sure you are running the latest stable version of VyOS the code is available at https://downloads.vyos.io/?dir=release/current - Contact us using the online help desk https://support.vyos.io/ - Join our community on slack where our users exchange help and advice https://vyos.slack.com When reporting problems, please include as much information as possible: - do not obfuscate any data (feel free to contact us privately if your business policy requires it) - and include all the information presented below Report Time: 2021-07-14 20:55:22 Image Version: VyOS 1.3-beta-202107121144 Release Train: equuleus Built by: email@example.com Built on: Tue 13 Jul 2021 03:42 UTC Build UUID: 1acfd1ce-c432-4fbf-9e9e-2933807e5e5f Build Commit ID: 2ba1cbb93659bc Architecture: x86_64 Boot via: installed image System type: KVM guest Hardware vendor: QEMU Hardware model: Standard PC (Q35 + ICH9, 2009) Hardware S/N: Hardware UUID: Unknown Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/interfaces-vxlan.py", line 116, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/interfaces-vxlan.py", line 105, in apply v = VXLANIf(vxlan['ifname'], **conf) File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 266, in __init__ self._create() File "/usr/lib/python3/dist-packages/vyos/ifconfig/vxlan.py", line 98, in _create self._cmd(cmd) 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 161, in cmd raise OSError(code, feedback) FileNotFoundError: [Errno 2] failed to run command: ip link add vxlan0 type vxlan id 0 dstport 8472 ttl 16 local fe80::3 remote fe80::2 returned: exit code: 2 noteworthy: cmd 'ip link add vxlan0 type vxlan id 0 dstport 8472 ttl 16 local fe80::3 remote fe80::2' returned (out): returned (err): Error: Local interface required for link-local local/remote addresses.
Under plain iproute2 the command I would use to do this would be
ip link add vxlan0 type vxlan id 0 dstport 0 local fe80::3 remote fe80::2 dev eth0
However I don’t know how to get vyos to add the
dev eth0 to the command
I created a task for it T3683