From: Rafał Miłecki Date: Mon, 24 May 2021 14:45:06 +0000 (+0200) Subject: base-files: generate network config with "device" options X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=16ccf888ee70c65aa4943641e4b8e74e52dc1930;p=openwrt%2Fstaging%2Fxback.git base-files: generate network config with "device" options Replace "ifname" with "device" as netifd has been recently patches to used the later one. It's more clear and accurate. Signed-off-by: Rafał Miłecki (cherry picked from commit 4b9a67362d70c544b85078b8d5c661f43f7472d9) --- diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index be688a4ba3..d895090309 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -40,7 +40,7 @@ generate_static_network() { uci -q batch <<-EOF delete network.loopback set network.loopback='interface' - set network.loopback.ifname='lo' + set network.loopback.device='lo' set network.loopback.proto='static' set network.loopback.ipaddr='127.0.0.1' set network.loopback.netmask='255.0.0.0' @@ -91,22 +91,22 @@ generate_static_network() { addr_offset=2 generate_network() { - local ports ifname macaddr protocol type ipaddr netmask vlan + local ports device macaddr protocol type ipaddr netmask vlan local bridge=$2 json_select network json_select "$1" + json_get_vars device macaddr protocol ipaddr netmask vlan json_get_values ports ports - json_get_vars ifname macaddr protocol ipaddr netmask vlan json_select .. json_select .. - [ -n "$ifname" -o -n "$ports" ] || return + [ -n "$device" -o -n "$ports" ] || return # Force bridge for "lan" as it may have other devices (e.g. wireless) # bridged [ "$1" = "lan" -a -z "$ports" ] && { - ports="$ifname" + ports="$device" } [ -n "$ports" -a -z "$bridge" ] && { @@ -117,19 +117,19 @@ generate_network() { set network.@device[-1].macaddr='$macaddr' EOF for port in $ports; do uci add_list network.@device[-1].ports="$port"; done - ifname=br-$1 + device=br-$1 type= macaddr="" } [ -n "$bridge" ] && { - [ -z "$ports" ] && ports="$ifname" + [ -z "$ports" ] && ports="$device" if [ -z "$vlan" ]; then bridge_vlan_id=$((bridge_vlan_id + 1)) vlan=$bridge_vlan_id fi generate_bridge_vlan $1 $bridge "$ports" $vlan - ifname=$bridge.$vlan + device=$bridge.$vlan type="" } @@ -137,12 +137,12 @@ generate_network() { delete network.$1 set network.$1='interface' set network.$1.type='$type' - set network.$1.ifname='$ifname' + set network.$1.device='$device' set network.$1.proto='none' EOF if [ -n "$macaddr" ]; then - for name in $ifname; do + for name in $device; do uci -q batch <<-EOF delete network.$1_${name/./_}_dev set network.$1_${name/./_}_dev='device' @@ -172,14 +172,14 @@ generate_network() { dhcp) # fixup IPv6 slave interface if parent is a bridge - [ "$type" = "bridge" ] && ifname="br-$1" + [ "$type" = "bridge" ] && device="br-$1" uci set network.$1.proto='dhcp' [ -e /proc/sys/net/ipv6 ] && { uci -q batch <<-EOF delete network.${1}6 set network.${1}6='interface' - set network.${1}6.ifname='$ifname' + set network.${1}6.device='$device' set network.${1}6.proto='dhcpv6' EOF } @@ -196,7 +196,7 @@ generate_network() { set network.$1.ipv6='1' delete network.${1}6 set network.${1}6='interface' - set network.${1}6.ifname='@${1}' + set network.${1}6.device='@${1}' set network.${1}6.proto='dhcpv6' EOF } diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 407a9c710f..02882f43ca 100644 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -39,7 +39,7 @@ ucidef_set_interface() { [ -n "$opt" -a -n "$val" ] || break - [ "$opt" = "ifname" -a "$val" != "${val/ //}" ] && { + [ "$opt" = "device" -a "$val" != "${val/ //}" ] && { json_select_array "ports" for e in $val; do json_add_string "" "$e"; done json_close_array @@ -79,11 +79,11 @@ ucidef_set_compat_version() { } ucidef_set_interface_lan() { - ucidef_set_interface "lan" ifname "$1" protocol "${2:-static}" + ucidef_set_interface "lan" device "$1" protocol "${2:-static}" } ucidef_set_interface_wan() { - ucidef_set_interface "wan" ifname "$1" protocol "${2:-dhcp}" + ucidef_set_interface "wan" device "$1" protocol "${2:-dhcp}" } ucidef_set_interfaces_lan_wan() { @@ -201,14 +201,14 @@ _ucidef_finish_switch_roles() { json_select_object "$role" # attach previous interfaces (for multi-switch devices) - json_get_var devices ifname + json_get_var devices device if ! list_contains devices "$device"; then devices="${devices:+$devices }$device" fi json_select .. json_select .. - ucidef_set_interface "$role" ifname "$devices" + ucidef_set_interface "$role" device "$devices" done } diff --git a/target/linux/gemini/base-files/etc/board.d/02_network b/target/linux/gemini/base-files/etc/board.d/02_network index f371956a66..9e80fee758 100755 --- a/target/linux/gemini/base-files/etc/board.d/02_network +++ b/target/linux/gemini/base-files/etc/board.d/02_network @@ -7,17 +7,17 @@ board_config_update case "$(board_name)" in dlink,dir-685) # These are all connected to eth0 thru RTL8366RB - ucidef_set_interface "eth" ifname "eth0" protocol "none" + ucidef_set_interface "eth" device "eth0" protocol "none" ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" "wan" ;; itian,sq201) # These are all connected to eth1 thru VSC7395 - ucidef_set_interface "eth" ifname "eth1" protocol "none" + ucidef_set_interface "eth" device "eth1" protocol "none" ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "eth0" ;; storlink,gemini324) # These are all connected to eth1 thru VSC7385 - ucidef_set_interface "eth" ifname "eth1" protocol "none" + ucidef_set_interface "eth" device "eth1" protocol "none" ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "eth0" ;; esac diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network index 2568fd2e0e..45ab84ee9e 100755 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -24,7 +24,7 @@ for lan in /sys/class/net/lan*; do done ucidef_set_bridge_device switch ucidef_set_interface_wan "$lan_list" -ucidef_set_interface "lan" ifname "lan1:t" protocol "static" vlan 100 +ucidef_set_interface "lan" device "lan1:t" protocol "static" vlan 100 lan_mac="" wan_mac=""