Skip to content

Hardcoded duplicate management IP 10.22.121.111/31 in /usr/sbin/mgmt-alias-iface causes L2 address conflicts and mesh11sd "Phantom meshnode" churn #6

Description

@Bgilsing

Affected firmware: OpenWrt 23.05.6, Morse-2.11.13. Observed on HaLowLink 1 and HaLowLink 2

Summary: The management-alias daemon /usr/sbin/mgmt-alias-iface hardcodes the same address on every device:
const mgmt_ip = "10.22.121.111";
const dest_network = "10.22.121.110/31";

On startup and on network device link events it adds 10.22.121.111/31 to the active uplink bridge (br-wlan or br-lan). Because the value is identical on all units, any deployment where multiple Morse nodes share an L2 segment — e.g., an 802.11s HaLow mesh bridged to a common LAN — results in every node claiming 10.22.121.111, i.e. a duplicate-IP/ARP conflict.

Symptom: With mesh11sd (morse_mesh11sd 1.2.0) active, this produces continuous Phantom meshnode detected [] - deleting warnings and mesh-path (mpath) flapping between RESOLVED-not-active (0x10) and active (0x15), causing intermittent loss of connectivity to affected nodes and the devices behind them. In a 6-node deployment, one node was flagged 46 times in ~14 h.
Confirmed root cause: stopping/disabling mgmt-alias-iface fleet-wide removed the duplicate address and the phantom churn stopped completely (40+ min clean).

Repro: Bring up two or more HaLow nodes bridging backhaul/AP onto a shared L2 (mesh), with mesh11sd enabled. Observe each node holding 10.22.121.111 and mesh11sd issuing phantom-node deletions.

Suggested fix: Derive the management alias per-node uniquely (e.g., from the device/AL MAC), or allocate a unique /31 per node, or provide a documented config toggle to disable the alias. Note: today the only workaround (/etc/init.d/mgmt-alias-iface disable) is silently undone by firmware updates/factory reset, which re-enable the daemon.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions