From: Christian Lamparter <chunkeey@googlemail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Johan Danielsson <joda@kth.se>,
linux-wireless@vger.kernel.org, sgruszka@redhat.com
Subject: Re: mac80211 and RX of A-MPDU with missing back agreement
Date: Wed, 9 Jan 2013 14:46:44 +0100 [thread overview]
Message-ID: <201301091446.44597.chunkeey@googlemail.com> (raw)
In-Reply-To: <1357732965.9757.4.camel@jlt4.sipsolutions.net>
On Wednesday, January 09, 2013 01:02:45 PM Johannes Berg wrote:
> On Wed, 2013-01-09 at 00:38 +0100, Christian Lamparter wrote:
> > > So, my question now is: Does this reasoning make sense, or have I
> > > missed anything?
> >
> > I think reordering 5 and 6 won't stop the race entirely. ACKs are
> > usually generated by hardware (or firmware) right away when the received
> > frame passed the CRC checks and found a place to stay in the HW's FIFOs.
> > However by the time DELBA is processed by the peers' 802.11 stack, some
> > frames on the tx-path might have left the DELBA in the dust [keep-alives
> > and friends].
> >
> > [Note: Action frames like DELBA have to be encrypted/decrypted when
> > MFP/802.11w is enabled on the link and some HW/FW can't do that. So
> > it takes even longer to react to those.]
>
> Actually no: HT action frames aren't robust management frames.
DelBA is part of the Block Ack Actions as defined in 802.11-2012 8.5.5.
The Block Ack category is marked in Table 8-38 as "robust"?!
Was this changed from the original 11w spec? Maybe that would explain
why the Nexus 4 thinks it doesn't need to de-/encrypt BA agreements?.
> FWIW, our (Intel's) firmware will send frames from the aggregation
> queues unaggregated as soon as it receives a DelBA frame from the
> peer, so as long as it receives it there's no issue.
Good. Then it was probably just more convenient ;). But we still need
a case for HW which doesn't support IEEE80211_HW_REPORTS_TX_ACK_STATUS.
> > [Note3: What will happen to DELBAs if they aren't acked? Is there a timeout
> > or are they retried until the peer is dropped by other means?
> > I'm asking this because with some hardware we have to be greedy with the
> > number of open BA Agreements. For example ti's wl12xx can only support a
> > limited number of open RX BA Agreements.]
>
> DelBA frames are unicast frames, so they're retried normally.
Uh, this note was out of context. It had to do with a sentence
from a previous post that wasn't discussed:
On Tuesday, January 08, 2013 11:39:10 AM Johan Danielsson wrote:
> It seems more reasonable to send the DELBA and wait for an ACK
> before removing the BACK state (with ampdu_action). Currently this
> is done the other way around.
If we only call ampdu_action(RX_STOP) as part of a callback when we have
received an ACK from a outgoing DELBA [yes I know some HW doesn't support
that] what happens to BA agreements after all DELBAs retries have been
used up? Or do we have to retry them endlessly? [I'm asking this because
we do have a retry-when-we-receive-unicast for BARs already...].
Regards,
Chr
next prev parent reply other threads:[~2013-01-09 13:46 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
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 [this message]
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=201301091446.44597.chunkeey@googlemail.com \
--to=chunkeey@googlemail.com \
--cc=joda@kth.se \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=sgruszka@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.