Make config change -> vxlan adapter vanishes

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:

  1. tun_id the id number of the vxlan tunnel
  2. dstport the port number to use for the tunnel comms
  3. local the link local address of the vxlan node being configured
  4. group the vxlan group multicast address to use
  5. device the bridge device used to carry this vxlan tunnel
  6. 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