I notice that if I make a config change such as change the wireless settings or even change any one of the device settings and click on "save & apply" then after the settings have been applied and the new settings loaded the vxlan adapter disappears which necessitates a reboot to bring back the vxlan adapter. To recreate this bug create a vxlan interface and simply make a change to a wireless or interface setting and click "save & apply" then ssh into your access point enter ifconfig and the vxlan adapter has vanished.
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
Probably not related to your problem, but this is invalid. Have you edited out the actual value? If so there is no actual need from a security point of view. Just wondering.
The big question is what are you trying to achieve using vxlan?
The vxlan package is designed to provide an ethernet-equivalent point to multi-point layer 2 network tunnel on top of an existing layer 3 network, regardless of the underlying media type.
A simple 802.11s mesh backhaul is of course running over wireless and does not support vlans, so yes you might consider vxlan to provide a point to multi-point vlan trunk. The Mesh11sd package does this.
I see you are using BATMAN. This is another, older mesh management system that provides its own "vlan-trunking" functionality. So in this case, why do you need vxlan?
The OpenWrt vxlan support in /uci/config and in Luci, is quite old and to be honest is outdated and buggy. It works after a fashion but has many problems, not least it does not support ipv6.
I have been considering doing a PR to update it, but finding the time to do so is difficult.
If you can describe why you think you need vxlan, it will very likely lead to some constructive suggestions!
I will comment further for both your interest and
One particular point to make note of is that vxlan requires the ip-full package to work correctly, but it is not a dependency.
The latest incarnation of vxlan support is built into the kernel. Current Luci or UCI config no longer supports all the required parameters, but like I said it works after a fashion, if you are lucky.
So currently you have to configure manually via a script.
Typically it would look something like this, for a default ipv6 config (ipv4 wont work properly for point to multi-point because it depends on multicast that is by default disabled for ipv4):
ip -6 link add "vxlan$tun_id" \
address "$vxmac_indexed" \
type vxlan \
id "$tun_id" \
dstport 4789 \
local "$link_local_addr" \
group "ff02::$tun_id" \
dev "$device" \
ttl 5
ip link set "vxlan$tun_id" up
Required parameters are:
tun_id the id number of the vxlan tunnel
dstport the port number to use for the tunnel comms
local the link local address of the vxlan node being configured
group the vxlan group multicast address to use
device the bridge device used to carry this vxlan tunnel
ttl the time to live for tunnel connections if no traffic is received
As you can see, this does not look anything like the uci config.
see: openwrt vxlan
I need to use VXLAN on DDWRT because I have a mixture of openwrt and DDWRT devices as APs and have VLANs going over WIFI.
Back to the original problem however, there seems to be a bug in OpenWRT where making a change to settings and clicking "save & apply" causes the VXLAN adapter to vanish. Other tunnel adapter such as batmanadv have no issues and come back up after applying new settings. Kind of strange to me and looks like a bug.
testing again and to be precise this bug happens when changing the MTU settings of the VXLAN device. Even /etc/init.d/network restart fails to bring up the VXLAN adapter.
to reproduce the bug:
go to devices and change the MTU settings in the VXLAN adapter
I know this thread is kind of old, but is there some dependency for ip to support vxlan? When I try to add a vxlan device using ip link add command, I get Unknown device type.
Command I entered:
ip link add "vxlan100" type vxlan id "100" dev "lan0" remote "192.168.3.2" local "192.168.3.1" dstport 4789