From: Christian Lamparter <chunkeey@googlemail.com>
To: Johan Danielsson <joda@kth.se>
Cc: linux-wireless@vger.kernel.org
Subject: Re: mac80211 and RX of A-MPDU with missing back agreement
Date: Mon, 7 Jan 2013 20:53:34 +0100 [thread overview]
Message-ID: <201301072053.35072.chunkeey@googlemail.com> (raw)
In-Reply-To: <CAESKgcgVQYwT770OfOXZnB-06SnidfxV7DnUrAMquJZtLNsYHg@mail.gmail.com>
On Monday, January 07, 2013 11:32:53 AM Johan Danielsson wrote:
> What does mac80211 expect driver/hw to do when an A-MPDU is received
> without an existing block ack agreement?
according to ieee80211_rx_reorder_ampdu in /net/mac80211/rx.c:
it goes to "goto dont_reorder;"
> This may occur when an existing RX BACK agreement times out, and the
> peer STA fails to hear the DELBA frame.
>
> The best option I can think of would be to drop the subframes and
> re-transmit the DELBA, but this (at least the second part) should be
> handled by mac80211 and not the driver.
>
> The standard doesn't seem to be clear on this point (not that it's
> clear on many points).
802.11-2012 in 10.5.4 should cover your approach:
"When a recipient does not have an active Block ack for a TID, but
receives data MPDUs with the Ack Policy subfield equal to Block Ack,
it shall discard them and shall send a DELBA frame within its own
TXOP. [... keep on reading...]"
Note: The Ack Policy subfield equal to Block Ack is according to
Table 8-6 (802.11-2012 8.2.4.5.4) either
- 11
Block Ack according to 9.21
- 00
Which is used for Implicit Block Ack Requests... However it's
also used for Normal ACKs.
However, some drivers [not all] set the RX_FLAG_AMPDU_DETAILS flag when
they receive a AMPDU. So you should be able to extend the checks in
ieee80211_rx_reorder_ampdu and generate a delba from there [in a similar
way of how delba is sent when the stack receives a illegal, fragmented
frame when a BA session is in place.
Regards,
Chr
next prev parent reply other threads:[~2013-01-07 19:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-07 10:32 mac80211 and RX of A-MPDU with missing back agreement Johan Danielsson
2013-01-07 19:53 ` Christian Lamparter [this message]
2013-01-08 10:39 ` Johan Danielsson
2013-01-08 16:15 ` Christian Lamparter
2013-01-08 21:47 ` Johan Danielsson
2013-01-08 23:38 ` Christian Lamparter
2013-01-09 10:05 ` Johan Danielsson
2013-01-09 17:43 ` Christian Lamparter
2013-01-09 18:32 ` Christian Lamparter
2013-01-09 10:54 ` Stanislaw Gruszka
2013-01-09 12:02 ` Johannes Berg
2013-01-09 13:46 ` Christian Lamparter
2013-01-09 13:54 ` Johannes Berg
2013-01-09 18:05 ` Christian Lamparter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201301072053.35072.chunkeey@googlemail.com \
--to=chunkeey@googlemail.com \
--cc=joda@kth.se \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).