I'm following your suggestion and setting it via the userland utils.
So far I've deleted the old bridge, vxlan and ip alias.
I'll write down what I've set up on box A, it is the same on box B otherwise will be specified.
brctl addbr vxl-br
brctl addif vxl-br eth1
ip link add vxlan0 type vxlan id 10101 dstport 4789 local 192.168.255.1 remote 192.168.255.2 | ip link add vxlan0 type vxlan id 10101 dstport 4789 local 192.168.255.2 remote 192.168.255.1
brctl addif vxl-br vxlan0
root@Device_A:~# brctl show
bridge name bridge id STP enabled interfaces
vxl-br 8000.3e45f3a8bc26 no vxlan0 eth1
root@Device_B:~# brctl show
bridge name bridge id STP enabled interfaces
vxl-br 8000.167acd535e5d no vxlan0 eth1
Set ip on vxlan0 interface
ip a a 192.168.255.1/24 dev vxlan0 | ip a a 192.168.255.2/24 dev vxlan0
Set the links up
ip link set up dev vxl-br
ip link set up dev vxlan0
ip link set up dev eth1
root@Device_A:~# brctl show
bridge name bridge id STP enabled interfaces
vxl-br 8000.3e45f3a8bc26 no vxlan0
eth1
Set forwarding entries:
bridge fdb append 00:00:00:00:00:00 dev vxlan0 dst 192.168.255.1 | bridge fdb append 00:00:00:00:00:00 dev vxlan0 dst 192.168.255.2
Host routes are still installed
root@Device_A:~# ip r
default via 10.0.0.1 dev eth0 proto static
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.10
192.168.255.0/24 dev vxlan0 proto kernel scope link src 192.168.255.1
192.168.255.2 via 10.0.0.20 dev eth0 proto static
root@Device_B:~# ip r
default via 10.0.0.1 dev eth0 proto static
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.20
192.168.255.0/24 dev vxlan0 proto kernel scope link src 192.168.255.2
192.168.255.1 via 10.0.0.10 dev eth0 proto static
192.168.255.2 dev eth0 scope link
I'm now able to see incoming packets via eth1, visible on the vxl-br and on vxlan0, I also see the packets leaving via eth0 and being delivered to vxlan0, vxl-br then eth1
I have to connect another laptop to the lan port on device B, but it seems to be working.
EDIT1: added remote setting to ip link add vxlan
EDIT2: it is working with the kernel utils!