base-files: fix wrong ucidef_set_network_device_mac network-device entry
authorMichael 'ASAP' Weinrich <michael@a5ap.net>
Fri, 6 Oct 2023 02:39:58 +0000 (19:39 -0700)
committerChristian Marangi <ansuelsmth@gmail.com>
Fri, 20 Oct 2023 10:53:43 +0000 (12:53 +0200)
The ucidef_set_network_device_* functions in uci-defaults.sh disagree
on whether to use "network-device" or "network_device" in board.json.
With the additional caveat that jshn will translate hyphens (-) into
underscores (_). This casues problems in netifd which expected
"network_device" causing boards which depend on assigning MACs in
board.json via uci-defaults.sh (or jshn in general) to fail.

This commit addresses the issue by using network_device in
uci-defaults.sh.

The bug was uncovered in the forums here:
https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/2596

This was exposed by commit 4ebba8a05d09 ("realtek: add support for HPE
1920-8g-poe+") where the board_config_load call from 03_gpio introduced
the key normalization by jshn.

Fixes: 9290539ca9c7 ("base-files: allow setting device and bridge macs")
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net>
[ improve commit title, description and fix wrong Tested-by tag ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
package/base-files/files/lib/functions/uci-defaults.sh

index a37e8cf82416d3afe7637c61150d7aee8f2399f5..6f395ec24b2a4ec6236d256e05e6a56faa81c91c 100644 (file)
@@ -107,7 +107,7 @@ ucidef_set_bridge_mac() {
 }
 
 ucidef_set_network_device_mac() {
-       json_select_object "network-device"
+       json_select_object "network_device"
        json_select_object "${1}"
        json_add_string macaddr "${2}"
        json_select ..