Browse Source

mac80211: change default ifname to <phy>-<type><index>

This makes it clear, which phy a wlan device belongs to and also helps with
telling them apart by including the mode in the ifname.
Preparation for automatically renaming PHYs

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 3 years ago
parent
commit
6603748e0c
1 changed files with 17 additions and 2 deletions
  1. 17 2
      package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

+ 17 - 2
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

@@ -667,13 +667,28 @@ mac80211_iw_interface_add() {
 	return $rc
 }
 
+mac80211_set_ifname() {
+	local phy="$1"
+	local prefix="$2"
+	eval "ifname=\"$phy-$prefix\${idx_$prefix:-0}\"; idx_$prefix=\$((\${idx_$prefix:-0 } + 1))"
+}
+
 mac80211_prepare_vif() {
 	json_select config
 
 	json_get_vars ifname mode ssid wds powersave macaddr enable wpa_psk_file vlan_file
 
-	[ -n "$ifname" ] || ifname="wlan${phy#phy}${if_idx:+-$if_idx}"
-	if_idx=$((${if_idx:-0} + 1))
+	[ -n "$ifname" ] || {
+		local prefix;
+
+		case "$mode" in
+		ap|sta|mesh) prefix=$mode;;
+		adhoc) prefix=ibss;;
+		monitor) prefix=mon;;
+		esac
+
+		mac80211_set_ifname "$phy" "$prefix"
+	}
 
 	set_default wds 0
 	set_default powersave 0