From: Hauke Mehrtens Date: Mon, 21 Jun 2021 22:45:19 +0000 (+0200) Subject: base-files: failsafe: Fix IP configuration X-Git-Tag: v21.02.0-rc4~61 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=c0fdfd15fc8f1ad8c75c60a8393a6d8b5c2b3b19;p=openwrt%2Fstaging%2Fhauke.git base-files: failsafe: Fix IP configuration Adapt the preinit_config_board() to the board.json network changes. It now looks for the device and the ports variables to configure the LAN network. This works with swconfig configurations. Fixes: FS#3866 Fixes: d42640e389a8 ("base-files: use "ports" array in board.json network for bridges") Signed-off-by: Hauke Mehrtens Reviewed-by: Rafał Miłecki (cherry picked from commit 467cd378db3359814866ec4121fdb4417783241e) --- diff --git a/package/base-files/files/lib/preinit/10_indicate_preinit b/package/base-files/files/lib/preinit/10_indicate_preinit index 3c59929790..56e96c63ba 100644 --- a/package/base-files/files/lib/preinit/10_indicate_preinit +++ b/package/base-files/files/lib/preinit/10_indicate_preinit @@ -72,14 +72,20 @@ preinit_config_board() { json_select network json_select "lan" - json_get_vars ifname + json_get_vars device + json_get_values ports ports json_select .. json_select .. - [ -n "$ifname" ] || return + [ -n "$device" -o -n "$ports" ] || return + + # swconfig uses $device and DSA uses ports + [ -z "$ports" ] && { + ports="$device" + } # only use the first one - ifname=${ifname%% *} + ifname=${ports%% *} if [ -x /sbin/swconfig ]; then # configure the switch, if present