[openwrt/openwrt] wifi-scripts: add option to set per-device ifname prefix
LEDE Commits
lede-commits at lists.infradead.org
Wed Dec 4 06:00:06 PST 2024
nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/a9ff3ba24b9466d9c06b9a9e1c2e9672bdd9f6f9
commit a9ff3ba24b9466d9c06b9a9e1c2e9672bdd9f6f9
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Wed Dec 4 11:59:14 2024 +0100
wifi-scripts: add option to set per-device ifname prefix
Simplifies setting ifname to a different pattern for all affected
interfaces.
Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
.../files-ucode/lib/netifd/wireless/mac80211.sh | 7 +++++--
.../files-ucode/usr/share/schema/wireless.wifi-device.json | 4 ++++
.../wifi-scripts/files/lib/netifd/wireless/mac80211.sh | 14 +++++++++-----
3 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
index fe364b8f48..8b55d01e7a 100755
--- a/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
+++ b/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
@@ -210,6 +210,9 @@ function setup() {
}
data.phy_suffix = phy_suffix(data.config.radio, ":");
data.vif_phy_suffix = phy_suffix(data.config.radio, ".");
+ data.ifname_prefix = data.config.ifname_prefix;
+ if (!data.ifname_prefix)
+ data.ifname_prefix = data.phy + data.vif_phy_suffix + "-";
let active_ifnames = [];
log('Starting');
@@ -229,12 +232,12 @@ function setup() {
let mode_idx = idx[mode]++;
if (!v.config.ifname)
- v.config.ifname = data.phy + data.vif_phy_suffix + "-" + mode + mode_idx;
+ v.config.ifname = data.ifname_prefix + mode + mode_idx;
push(active_ifnames, v.config.ifname);
if (v.config.encryption == 'owe' && v.config.owe_transition) {
mode_idx = idx[mode]++;
- v.config.owe_transition_ifname = data.phy + data.vif_phy_suffix + "-" + mode + mode_idx;
+ v.config.owe_transition_ifname = data.ifname_prefix + mode + mode_idx;
push(active_ifnames, v.config.ifname);
}
diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json b/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
index 9a7e777b63..0588401c99 100644
--- a/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
+++ b/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
@@ -396,6 +396,10 @@
"type": "alias",
"default": "assoc_sa_query_retry_timeout"
},
+ "ifname_prefix": {
+ "description": "Default ifname prefix for this radio",
+ "type": "string"
+ },
"iface_max_num_sta": {
"description": "Limits the maximum allowed number of associated clients",
"type": "number"
diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
index 3d953eff74..f65128783f 100755
--- a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
+++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
@@ -29,6 +29,7 @@ drv_mac80211_init_device_config() {
config_add_string path phy 'macaddr:macaddr'
config_add_string tx_burst
config_add_string distance
+ config_add_string ifname_prefix
config_add_int radio beacon_int chanbw frag rts
config_add_int rxantenna txantenna txpower min_tx_power
config_add_int num_global_macaddr multiple_bssid
@@ -660,9 +661,9 @@ mac80211_check_ap() {
}
mac80211_set_ifname() {
- local phy="$1"
- local prefix="$2"
- eval "ifname=\"$phy-$prefix\${idx_$prefix:-0}\"; idx_$prefix=\$((\${idx_$prefix:-0 } + 1))"
+ local prefix="$1"
+ local type="$2"
+ eval "ifname=\"$prefix$type\${idx_$type:-0}\"; idx_$type=\$((\${idx_$type:-0 } + 1))"
}
mac80211_prepare_vif() {
@@ -679,7 +680,7 @@ mac80211_prepare_vif() {
monitor) prefix=mon;;
esac
- mac80211_set_ifname "$phy$vif_phy_suffix" "$prefix"
+ mac80211_set_ifname "$ifname_prefix" "$prefix"
}
append active_ifnames "$ifname"
@@ -1105,7 +1106,8 @@ drv_mac80211_setup() {
txpower \
rxantenna txantenna \
frag rts beacon_int:100 htmode \
- num_global_macaddr:1 multiple_bssid
+ num_global_macaddr:1 multiple_bssid \
+ ifname_prefix
json_get_values basic_rate_list basic_rate
json_get_values scan_list scan_list
json_select ..
@@ -1124,6 +1126,8 @@ drv_mac80211_setup() {
return 1
}
+ set_default ifname_prefix "$phy$vif_phy_suffix-"
+
local wdev
local cwdev
local found
More information about the lede-commits
mailing list