Skip to content

Commit

Permalink
wifi-scripts: add option to set per-device ifname prefix
Browse files Browse the repository at this point in the history
Simplifies setting ifname to a different pattern for all affected
interfaces.

Signed-off-by: Felix Fietkau <[email protected]>
  • Loading branch information
nbd168 committed Dec 4, 2024
1 parent d127539 commit a9ff3ba
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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() {
Expand All @@ -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"
Expand Down Expand Up @@ -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 ..
Expand All @@ -1124,6 +1126,8 @@ drv_mac80211_setup() {
return 1
}

set_default ifname_prefix "$phy$vif_phy_suffix-"

local wdev
local cwdev
local found
Expand Down

0 comments on commit a9ff3ba

Please sign in to comment.