Hardware / Software:
-
Controller/Router: RB5009UG+S+, RouterOS 7.23.1 (stable), arm64
-
AP: wAP ax (wAPG-5HaxD2HaxD), RouterOS 7.23.1, wifi-qcom package, arm
-
Switch: Ubiquiti EdgeSwitch ES-8-150W (trunk configured and verified)
Goal: Two SSIDs via VLANs — "Home" (VLAN 10) and "IoT" (VLAN 20). Local forwarding. AP uplink is a tagged trunk.
Symptom: Clients associate fine (authorized, WPA3), but never get a DHCP lease on VLAN 20 (and, after switching the AP to local config with vlan-filtering, VLAN 10 is affected too). Clients fall back to 169.254.x.x.
What I have verified with /tool torch end-to-end:
-
Client DHCP Discover + Request are correctly tagged (VLAN 20) and travel all the way to the RB5009 — visible on the AP's wifi interface, on the AP's ether1 (trunk, tagged 20), and on the router's vlan20 interface.
-
RB5009 DHCP server receives the request. Log shows
dhcpXX sending offer ... network only. Lease status becomesoffered, neverbound. -
The DHCP OFFER (udp 67→68) never appears on the return path — not on the router's egress port, not on the AP's ether1, not on the AP's wireless interface. Only the client's own outbound traffic and MNDP discovery are visible on VLAN 20.
-
The client MAC is learned in the bridge FDB on VLAN 20 / correct port (
/interface bridge host printconfirms it).
What I have already ruled out:
-
Not a CAPsMAN slave-interface issue — problem persists with fully local AP config (no CAPsMAN).
-
Not the switch/path — identical behavior whether the AP is on the router's port directly or via the EdgeSwitch trunk.
-
Not 5 GHz/DFS — same result on 2.4 GHz.
-
Bridge VLAN table verified correct on both router and AP (tagged on uplink, untagged on the wifi interfaces, correct PVIDs).
-
add-arp=yeson the DHCP server — no effect. -
No firewall filter rules present (empty filter table).
-
Already on latest stable (7.23.1), so not an update-fixable regression AFAIK.
AP local config (relevant parts):
/interface bridge set bridge vlan-filtering=yes
/interface bridge vlan
add bridge=bridge vlan-ids=10 tagged=bridge,ether1 untagged=wifi1,wifi2
add bridge=bridge vlan-ids=20 tagged=ether1 untagged=wifi-iot-24,wifi-iot-5
/interface bridge port
set [find interface=wifi1] pvid=10
set [find interface=wifi2] pvid=10
# wifi-iot-24 / wifi-iot-5 pvid=20
(Master interfaces = Home/VLAN10, static slave interfaces = IoT/VLAN20.)
My question:
The OFFER is generated by the server (sending offer ... network only) but never egresses toward the client. Since the client MAC is in the FDB on the right VLAN/port, why would the unicast OFFER be dropped on the return path only for the wireless-side VLAN? Is network only (unicast to a not-yet-assigned IP) the culprit here, and is there a known workaround for wifi-qcom local-forwarding setups where the DHCP OFFER doesn't reach the wireless client on a tagged VLAN?
Any pointers appreciated — happy to post full /export and torch captures.