From 1ea563ae13637f55ec3a1a1056ba4f3595752a37 Mon Sep 17 00:00:00 2001 From: Manas Sambhus Date: Tue, 9 Aug 2022 13:14:40 +0530 Subject: [PATCH] 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 --- package/kernel/mac80211/Makefile | 2 +- .../kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index afc10bdb5c9..d467d20c611 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 5d6ca7c0e31..62afd9e6a0f 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" -- 2.30.2