20.02, Multipoint VXLAN DHCP problem

Hi all,

i want to use a separated subnet for my IOT devices accross multiple router devices.
My first try using VXLAN in OpenWrt 19.07 was working as expectet but only point to point (with only 2 routers). All my try's using a multicast address as peeraddr failed.

Now after upgrading to 20.02 i got it running using a multicast peeraddr and i was able to ping all router addresses. I attached a WiFi network to it and configured dhcp on one router device.

But now my problem comes up. The IOT clients ar not getting an IP. I can see that a DHCP request is received on the Interface but the server is not able to provide an address:

daemon.warn dnsmasq-dhcp[728]: DHCP packet received on wlan0-2 which has no address

This is my current configuration:

config interface 'vxlan12'
        option proto 'vxlan'
        option vid '12'
        option peeraddr '239.1.1.12'
        option tunlink 'lan'

config interface 'vx12'
        option proto 'static'
        option ipaddr '192.168.12.5'
        option netmask '255.255.255.0'
        option layer '2'
        option device '@vxlan12'

The WiFi network is attached to 'vx12'.
'VXLAN12' is attached to a bridge with 'LAN'

Any idea how i can make dnsmasq serving IP's to this interface ?

thx in advance

LuFi

ok, now back on 19.7 in cause of to many issues.
But also there i went into trouble using a multicast peeraddr.

in general all systems are running and can reach the network, but for some devices i had trouble to reach the web interface.
The problem is, while using 'option tunlink' it is impossible to set a propper mtu and automatic mtu is set to 1450.

So now i'am back using point to point vxlan without 'option tunlink' then mtu is automatically adjusted to 1500.

Here a sample of my current config. But for now it looks like vxlan over ethernet is not working as expected with multicast target.

config interface 'vxlan12'
        option proto 'vxlan'
        option ipaddr '192.168.178.3'
        option peeraddr '192.168.178.5'
        option vid '12'

config interface 'vx12'
        option proto 'static'
        option ipaddr '192.168.12.3'
        option netmask '255.255.255.0'
        option layer '2'
        option ifname '@vxlan12'
        option type 'bridge'
        option stp '1'
        option gateway '192.168.12.5'
        option ipv6 '0'
        option delegate '0'

I'am doing anything wrong ? Why isn't it possible to set mtu to 1554 if needed ?

Don't know about your MTU issue, but I'm able to use a multicast peer address in a 19.07 vxlan setup (current only two nodes, AP and one STA) by following Wds vs gre vs vxlan for multipoint trunk over wifi links.

Note, that poster has

option mtu '2048'

in his config interface 'vx12' equivalent, which I also use in mine.

Specifically, after repeated testing, I find that my vxlan tunnel fails to come up, if I had either one or BOTH of the last two lines present:

config interface 'vx12'
        option proto 'static'
        option ipaddr '192.168.12.3'
        option netmask '255.255.255.0'
        **option layer '2'**
        **option ifname '@vxlan12'**

I don't know why these two lines are posted as example config at the end of https://openwrt.org/docs/guide-user/network/tunneling_interface_protocols. Maybe they're needed for that eVPN setup, but in practice in my LAN vxlan over Wifi trunk setup, they absolutely cause vxlan to fail to come up (while the underlying Wifi radio link connects, at the bare minimum 6 Mbit/s 20 MHz rate). Once I remove those two lines, vxlan tunnel works (even with multicast peer addr, in my all 19.07.x setup), and the Wifi link negotiates up to the max possible 300 Mbit/s 40 MHz.