Search Linux Wireless

Re: [PATCH] mac80211: retry sending failed BAR frames later instead of tearing down aggr

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

 



On Sun, Aug 28, 2011 at 9:11 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> Unfortunately failed BAR tx attempts happen more frequently than I
> expected, and the resulting aggregation teardowns cause performance
> issues, as the aggregation session does not always get re-established
> properly.
> Instead of tearing down the entire aggr session, we can simply store the
> SSN of the last failed BAR tx attempt, wait for the first successful
> tx status event, and then send another BAR with the same SSN.
>
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx>

[...]

>  static void ieee80211_frame_acked(struct sta_info *sta, struct sk_buff *skb)
>  {
>        struct ieee80211_mgmt *mgmt = (void *) skb->data;
>        struct ieee80211_local *local = sta->local;
>        struct ieee80211_sub_if_data *sdata = sta->sdata;
>
> +       if (ieee80211_is_data_qos(mgmt->frame_control)) {
> +               struct ieee80211_hdr *hdr = (void *) skb->data;
> +               u8 *qc = ieee80211_get_qos_ctl(hdr);
> +               u16 tid = qc[0] & 0xf;
> +
> +               ieee80211_check_pending_bar(sta, hdr->addr1, tid);
> +       }
> +

This code will not be run for injected QoS frames. Is this intended?
Otherwise looks good to me.

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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux