<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    -------- Original Message --------
    <table class="moz-email-headers-table" border="0" cellpadding="0"
      cellspacing="0">
      <tbody>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject: </th>
          <td>Re: [PATCH 5/5] mac80211: allow frame aggregation for mesh</td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
          <td>Wed, 26 Oct 2011 15:15:24 -0700</td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
          <td>Thomas Pedersen <a class="moz-txt-link-rfc2396E" href="mailto:thomas@cozybit.com"><thomas@cozybit.com></a></td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
          <td>David Täht <a class="moz-txt-link-rfc2396E" href="mailto:dave.taht@gmail.com"><dave.taht@gmail.com></a></td>
        </tr>
      </tbody>
    </table>
    <br>
    <br>
    <pre>Hi David,


On Wed, Oct 26, 2011 at 2:49 PM, David Täht <a class="moz-txt-link-rfc2396E" href="mailto:dave.taht@gmail.com"><dave.taht@gmail.com></a> wrote:
> I don't know enough about this layer, but I take it this code does not
> support adhoc mode & aggregation?
>

There is an effort underway to add support for aggregation in adhoc
(same thing basically).

> Perhaps, if that is the case, it should be noted in the comments?
>
> On 10/26/2011 11:47 PM, Thomas Pedersen wrote:
>>
>> Signed-off-by: Thomas Pedersen<a class="moz-txt-link-rfc2396E" href="mailto:thomas@cozybit.com"><thomas@cozybit.com></a>
>> Signed-off-by: Ashok Nagarajan<a class="moz-txt-link-rfc2396E" href="mailto:anagar6@uic.edu"><anagar6@uic.edu></a>
>>
>> v2:
>>        Remove outdated comments (Christian)
>> ---
>>  net/mac80211/agg-rx.c |    3 ++-
>>  net/mac80211/agg-tx.c |   10 +++-------
>>  net/mac80211/ht.c     |    3 ++-
>>  net/mac80211/rx.c     |    7 +------
>>  4 files changed, 8 insertions(+), 15 deletions(-)
>>
>> diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
>> index 0cde8df..e8af4b0 100644
>> --- a/net/mac80211/agg-rx.c
>> +++ b/net/mac80211/agg-rx.c
>> @@ -176,7 +176,8 @@ static void ieee80211_send_addba_resp(struct
>> ieee80211_sub_if_data *sdata, u8 *d
>>        memcpy(mgmt->da, da, ETH_ALEN);
>>        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
>>        if (sdata->vif.type == NL80211_IFTYPE_AP ||
>> -           sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
>> +           sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
>> +           sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
>>                memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
>>        else if (sdata->vif.type == NL80211_IFTYPE_STATION)
>>                memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
>> diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
>> index 2ac0339..fefc7e5 100644
>> --- a/net/mac80211/agg-tx.c
>> +++ b/net/mac80211/agg-tx.c
>> @@ -77,7 +77,8 @@ static void ieee80211_send_addba_request(struct
>> ieee80211_sub_if_data *sdata,
>>        memcpy(mgmt->da, da, ETH_ALEN);
>>        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
>>        if (sdata->vif.type == NL80211_IFTYPE_AP ||
>> -           sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
>> +           sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
>> +           sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
>>                memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
>>        else if (sdata->vif.type == NL80211_IFTYPE_STATION)
>>                memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
>> @@ -371,13 +372,8 @@ int ieee80211_start_tx_ba_session(struct
>> ieee80211_sta *pubsta, u16 tid,
>>               pubsta->addr, tid);
>>  #endif /* CONFIG_MAC80211_HT_DEBUG */
>>
>> -       /*
>> -        * The aggregation code is not prepared to handle
>> -        * anything but STA/AP due to the BSSID handling.
>> -        * IBSS could work in the code but isn't supported
>> -        * by drivers or the standard.
>> -        */
>>        if (sdata->vif.type != NL80211_IFTYPE_STATION&&
>> +           sdata->vif.type != NL80211_IFTYPE_MESH_POINT&&
>>        sdata->vif.type != NL80211_IFTYPE_AP_VLAN&&
>>        sdata->vif.type != NL80211_IFTYPE_AP)
>>                return -EINVAL;
>> diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
>> index f80a35c..988c7ec 100644
>> --- a/net/mac80211/ht.c
>> +++ b/net/mac80211/ht.c
>> @@ -195,7 +195,8 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data
>> *sdata,
>>        memcpy(mgmt->da, da, ETH_ALEN);
>>        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
>>        if (sdata->vif.type == NL80211_IFTYPE_AP ||
>> -           sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
>> +           sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
>> +           sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
>>                memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
>>        else if (sdata->vif.type == NL80211_IFTYPE_STATION)
>>                memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
>> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
>> index b867bd5..77d3881 100644
>> --- a/net/mac80211/rx.c
>> +++ b/net/mac80211/rx.c
>> @@ -2203,13 +2203,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
>>
>>        switch (mgmt->u.action.category) {
>>        case WLAN_CATEGORY_BACK:
>> -               /*
>> -                * The aggregation code is not prepared to handle
>> -                * anything but STA/AP due to the BSSID handling;
>> -                * IBSS could work in the code but isn't supported
>> -                * by drivers or the standard.
>> -                */
>>                if (sdata->vif.type != NL80211_IFTYPE_STATION&&
>> +                   sdata->vif.type != NL80211_IFTYPE_MESH_POINT&&
>>                sdata->vif.type != NL80211_IFTYPE_AP_VLAN&&
>>                sdata->vif.type != NL80211_IFTYPE_AP)
>>                        break;
>
>
> --
> Dave Täht
>
>
</pre>
  </body>
</html>