Search Linux Wireless

Re: [PATCH] mac80211: Allow single vif mac address change with addr_mask

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 21, 2013 at 5:10 PM, Jakub Kiciński <moorray3@xxxxx> wrote:
> On Tue, 21 May 2013 14:54:53 +0200, Helmut Schaa wrote:
>> When changing the MAC address of a single vif mac80211 will check if the new
>> address fits into the address mask specified by the driver. This only needs
>> to be done when using multiple BSSIDs. Hence, check the new address only
>> against all other vifs.
>
> Oh, I see that you already posted this patch for review!
>
> I think we should also take care of the way addresses for new
> interfaces are chosen otherwise they'll just pick up
> perm_addr and we will end up with incompatible MACs.

Maybe you could send the assign_pem_addr changes as a follow up patch?

[...]

> @@ -1479,7 +1483,17 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
>                         break;
>                 }
>
> +               /*
> +                * Pick address of existing interface in case user changed
> +                * MAC address manually, default to perm_addr.
> +                */
>                 m = local->hw.wiphy->perm_addr;
> +               list_for_each_entry(sdata, &local->interfaces, list) {
> +                       if (sdata->vif.type == NL80211_IFTYPE_MONITOR)
> +                               continue;
> +                       m = sdata->vif.addr;
> +                       break;
> +               }
>                 start = ((u64)m[0] << 5*8) | ((u64)m[1] << 4*8) |
>                         ((u64)m[2] << 3*8) | ((u64)m[3] << 2*8) |
>                         ((u64)m[4] << 1*8) | ((u64)m[5] << 0*8);

This is only relevant if the driver registered a addr_mask with mac80211.
So, maybe you could only select a new address (!=perm_addr) if the
perm_addr is not covered by the addr_mask?

Helmut
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux