Search Linux Wireless

Re: Implementing Mikrotik IE

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

 



On August 22, 2019 10:08:13 PM GMT+02:00, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
>On Thu, 2019-08-22 at 09:00 +0200, Johannes Berg wrote:
>> 
>> Perhaps it expects the 4-way-HS to already be in 4-addr frame format,
>or
>> something else special in the 4-way-HS if you have WDS?
>
>I think this is actually the right guess.

Yes, it indeed it! Thank you so much Johannes!

>As a hack, you could do
>
>--- a/net/mac80211/tx.c
>+++ b/net/mac80211/tx.c
>@@ -2623,8 +2623,7 @@ static struct sk_buff *ieee80211_build_hdr(struct
>ieee80211_sub_if_data *sdata,
>                     memcpy(hdr.addr2, skb->data + ETH_ALEN, ETH_ALEN);
>                       memcpy(hdr.addr3, sdata->u.mgd.bssid, ETH_ALEN);
>                        hdrlen = 24;
>-               }  else if (sdata->u.mgd.use_4addr &&
>-                           cpu_to_be16(ethertype) !=
>sdata->control_port_protocol) {
>+               }  else if (sdata->u.mgd.use_4addr) {
>                        fc |= cpu_to_le16(IEEE80211_FCTL_FROMDS |
>                                          IEEE80211_FCTL_TODS);
>                        /* RA TA DA SA */
>
>
>in mac80211, then it should send 4-addr frames even for EAPOL.

Works great. Is there a possibility that a toggle for this could be accepted upstream? After all, WDS isn't really standardized.

Thank you!

Josef




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

  Powered by Linux