aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManas Sambhus <manas.sambhus+github@gmail.com>2022-08-09 13:14:40 +0530
committerPaul Spooren <mail@aparcar.org>2022-08-11 12:56:15 +0200
commit1ea563ae13637f55ec3a1a1056ba4f3595752a37 (patch)
tree425b697e24d2c506145268bad779069ee0a8bcae
parent37c0d15a8e9eb30920091bff1bf466640bc64dad (diff)
downloadupstream-1ea563ae13637f55ec3a1a1056ba4f3595752a37.tar.gz
upstream-1ea563ae13637f55ec3a1a1056ba4f3595752a37.tar.bz2
upstream-1ea563ae13637f55ec3a1a1056ba4f3595752a37.zip
base-files: wifi: add random MAC support for wifi-iface
Add support for randomly generating a MAC address for a wifi-iface instance by setting `macaddr` to `random` When set to `random`, a new locally administered unicast MAC address is generated and assigned to the iface everytime it is (re-)configured Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
-rw-r--r--package/kernel/mac80211/Makefile2
-rw-r--r--package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh7
2 files changed, 6 insertions, 3 deletions
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index afc10bdb5c..d467d20c61 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
PKG_VERSION:=5.15.58-1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/
PKG_HASH:=a3c2a2b7bbaf8943c65fd72f4e7d7ad5e205aeae28b26c835f9d8afa0f9810bf
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index 5d6ca7c0e3..62afd9e6a0 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -1,6 +1,7 @@
#!/bin/sh
. /lib/netifd/netifd-wireless.sh
. /lib/netifd/hostapd.sh
+. /lib/functions/system.sh
init_wireless_driver "$@"
@@ -667,10 +668,12 @@ mac80211_prepare_vif() {
json_select ..
- [ -n "$macaddr" ] || {
+ if [ -z "$macaddr" ]; then
macaddr="$(mac80211_generate_mac $phy)"
macidx="$(($macidx + 1))"
- }
+ elif [ "$macaddr" = 'random' ]; then
+ macaddr="$(macaddr_random)"
+ fi
json_add_object data
json_add_string ifname "$ifname"