On Tue, Jul 1, 2008 at 11:03 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > Can you capitalise BAR in the patch subjects please? I think of an > actual bar when reading that :) > >> --- a/include/net/mac80211.h >> +++ b/include/net/mac80211.h >> @@ -235,6 +235,8 @@ struct ieee80211_bss_conf { >> * @IEEE80211_TX_STAT_ACK: Frame was acknowledged >> * @IEEE80211_TX_STAT_AMPDU: The frame was aggregated, so status >> * is for the whole aggregation. >> + * @IEEE80211_TX_STAT_AMPDU_NO_BACK: no block ack was returned, >> + * so consider using block ack request (BAR). > > This flag I don't understand. When does the driver set this? And what > does mac80211 do to "consider", it seems to always just try to set up a > block-ack session. This is required during BA session. BAR solicited Block ACK for the SN and on specified in BAR. Driver will send it if it doesn't hear BACK. Iwlwifi uses this BAR just says to the recipient that we were not able to transmit the frame and we won't retransmit. This immediately shifts recipient reordering buffer not waiting for high SN numbers of the next traffic otherwise there will be visible deep in the throughput as packets are not released to upper layer till all are received. > > I'd still loke to see a "HT operation" document that describes how all > this works together so other people can write HT capable drivers :) Hope the above helps. >> + bar_control |= (u16)IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL; > > ?? > >> + bar_control |= (u16)IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA; >> + bar_control |= (u16)(tid << 12); >> + bar->control = cpu_to_le16(bar_control); >> + bar->start_seq_num = cpu_to_le16(ssn); >> + >> + /* must be sent through voice AC */ >> + skb->priority = 3; > > Does that actually work? The current wme.c code will still call > classify_1d() and that will use the IP TOS unless you set the priority > to 256..263. Good point. Have to look at this again we might missed this point when moving this out from the driver to the mac8011. Not sure this is classified at all as this is a control frame. Thanks for review Tomas -- 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