luci-base: network.js: consider uci config for Device.getType()/getParent()
authorJo-Philipp Wich <jo@mein.io>
Thu, 16 Jun 2022 07:47:47 +0000 (09:47 +0200)
committerJo-Philipp Wich <jo@mein.io>
Thu, 16 Jun 2022 07:52:36 +0000 (09:52 +0200)
commit8effea58d7281fd4f2b6c31d534195dba27a850b
tree2c6c008c8d082dea24930a58f746048aa27a0e1c
parentdae17ede361a76be3a06737b88e00dc04e75b055
luci-base: network.js: consider uci config for Device.getType()/getParent()

For network devices declared in uci but not yet created by netifd, the
runtime status information will be unavailable, causing methods such as
`getType()` to assume plain ethernet interfaces and `getParent()` to fail
resolving parent devices.

Fall back to infer the information from uci configuration settings in such
cases to give accurate type hints to callers.

In particular, this prevents LuCI from turning wireless target networks
containing a to-be-created bridge device into bridges themselves.

Fixes: https://github.com/openwrt/packages/issues/18768
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/network.js