Omada Software Controller rejects IPv6 ULA addresses for switch VLAN Configuation
I believe I’ve found a frontend validation bug in Omada Controller 6.0.0.25 affecting switch VLAN IPv6 configuration.
Summary
The Omada Controller UI rejects valid IPv6 Unique Local Addresses (ULA, fc00::/7) when configuring a static IPv6 address on a switch VLAN interface. ULAs are valid IPv6 addresses per RFC 4193, the switch firmware itself accepts and applies the configuration correctly.
Reproduction steps
-
Go to Manage Device for a switch - Config - VLAN Interface - Edit - IPv6 (Mode: Static)
-
Enter a valid ULA, for example:
fd40:40:40::6/64
-
Attempt to save
Observed behavior
The UI reports “Invalid format”.
Global unicast IPv6 addresses starting with 2001: are accepted.
ULA (fdxx:) and link-local addresses are rejected.
Expected behavior
Valid IPv6 ULAs (fc00::/7) should be accepted for switch VLAN interfaces.
ULAs are commonly used for internal IPv6 management addressing and DNS within a site.
Technical analysis
In Omada Controller 6.0.0.25, the switch VLAN interface IPv6 field is defined in device-config-drawer and uses the following validator:
new Re() ipv6() isRequired() rule
The underlying IPv6 validator defaults to:
-
uniqueLocalAddr = false
-
canbeLinkLocalAddr = false
-
allowAllAddress = false
As a result, valid IPv6 addresses such as ULAs are rejected during VLAN interface configuration, even though they are syntactically correct.
Elsewhere in the Omada UI, the same IPv6 validator is invoked with all flags true, indicating that support for ULAs and related address types is intended but not applied consistently in the switch VLAN config form.
Confirmation
I patched device-config-drawer to enable all required IPv6 validator options. After doing so, the controller successfully saved the configuration and pushed it to the switch, producing valid device configuration such as:
interface vlan 1
ipv6 address fd40:40:40::6/64
The switch then responded correctly to IPv6 traffic (for example, ping6 from a host in the same VLAN).
Proposed fix
For switch VLAN IPv6 address validation in device-config-drawer, change:
new Re() ipv6() isRequired() rule
to:
new Re() ipv6({ uniqueLocalAddr: true, canbeLinkLocalAddr: true, allowAllAddress: true }) isRequired() rule
This matches the configuration already used in other parts of the Omada UI and resolves the issue consistently.
Why this matters
ULAs are standard practice for internal IPv6 management.
Rejecting them forces unnecessary use of global IPv6 or IPv4.
The error message “Invalid format” is misleading. The Format: 2001:: comment is even more confusing.
Environment
Omada Controller 6.0.0.25
Switch VLAN interface IPv6 static configuration
Issue is reproducible consistently
