mac80211: fix mac address handling for multiple phy/vif
SVN-Revision: 19177
This commit is contained in:
parent
20daaf7480
commit
8bdee4acf7
1 changed files with 4 additions and 2 deletions
|
@ -81,6 +81,7 @@ enable_mac80211() {
|
||||||
find_mac80211_phy "$device" || return 0
|
find_mac80211_phy "$device" || return 0
|
||||||
config_get phy "$device" phy
|
config_get phy "$device" phy
|
||||||
local i=0
|
local i=0
|
||||||
|
local macidx=0
|
||||||
fixed=""
|
fixed=""
|
||||||
|
|
||||||
[ -n "$country" ] && iw reg set "$country"
|
[ -n "$country" ] && iw reg set "$country"
|
||||||
|
@ -147,12 +148,13 @@ enable_mac80211() {
|
||||||
|
|
||||||
config_get vif_mac "$vif" macaddr
|
config_get vif_mac "$vif" macaddr
|
||||||
[ -n "$vif_mac" ] || {
|
[ -n "$vif_mac" ] || {
|
||||||
if [ "$i" -gt 0 ]; then
|
if [ "$macidx" -gt 0 ]; then
|
||||||
offset="$(( 2 + $i * 4 ))"
|
offset="$(( 2 + $macidx * 4 ))"
|
||||||
else
|
else
|
||||||
offset="0"
|
offset="0"
|
||||||
fi
|
fi
|
||||||
vif_mac="$( printf %02x $((0x$mac_1 + $offset)) ):$mac_2"
|
vif_mac="$( printf %02x $((0x$mac_1 + $offset)) ):$mac_2"
|
||||||
|
macidx="$(($macidx + 1))"
|
||||||
}
|
}
|
||||||
ifconfig "$ifname" hw ether "$vif_mac"
|
ifconfig "$ifname" hw ether "$vif_mac"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue