Search Linux Wireless

Re: [PATCH 1/2] mac80211: add bar capability

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

 



On Tue, Jul 1, 2008 at 11:52 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
>
>> >> + * @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.
>
> Hm, ok, I don't think I understand the subtleties of the protocol. So
> when you have a BA session you have to send a BAR if you can't transmit
> a frame for some reason? When would that happen?

Driver should send BAR when it doesn't hear BACK. Iwlwifi requests
this only  when both aggregation and single frame retries are
exhausted.  See some APs sends this more often.

>
>> >> +     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.
>
> Oh, hmm, yeah those work differently, non-data frames aren't classified
> at all and always go out on AC_VO regardless of what you set there so
> you can just remove that.

..okay I will remove this
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

[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