radiotap.netbsd.org archive mirror
 help / color / mirror / Atom feed
From: "Rao, Krishna" <kcrao-A+ZNKFmMK5xy9aJCnZT0Uw@public.gmane.org>
To: "johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org"
	<johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
Cc: "radiotap-sUITvd46vNxg9hUCZPvPmw@public.gmane.org"
	<radiotap-sUITvd46vNxg9hUCZPvPmw@public.gmane.org>
Subject: RE: Regarding A-MPDU status field
Date: Sun, 13 Nov 2011 16:49:56 +0000	[thread overview]
Message-ID: <21E1C3B49A18BA428D58607D5EEA5398BBBD18@nasanexd02b.na.qualcomm.com> (raw)
In-Reply-To: <1320847366.3845.72.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>

Hi,

>I don't think the length of the padding is
>actually needed -- it can be calculated after the fact since it is
>always 0-3 bytes up to a multiple of 4.
The objective behind suggesting its inclusion was to help users easily observe and filter on this value without having to resort to any post processing scripts. If the value is readily observable, it might help for example, a mobile app developer with only cursory knowledge of 802.11n to chance upon and inquire into the reason for the padding. For real-time apps operating in noisy RF environments, adjusting the payload bytes to minimize subframe padding may form one of many little optimizations  to extract better performance (depending on traffic characteristics). In the absence of an explicitly viewable field, the possibility might not occur to some users.
However, in case the design philosophy behind radiotap is to store only non-deducible information, I agree we should stick to that. May be Wireshark dissector code can independently calculate and display this info instead? (Am yet to get familiar with the code internals, especially with regard to how filtering is impacted by this).

>The number of zero delimiters
>would be more interesting.
I agree. Also (as implicit in your reply) instead of providing the number of bytes, it can simply be the number of delimiters.
But the second part of the discussion below for point 3) 'Delimiter CRC' opens up a new question as to whether we should have this subfield at all.

>I'm not sure how to deal with the corruption case.
See discussion below for point 3) 'Delimiter CRC'

>> 2) A bit to indicate if this is the last subframe in the A-MPDU.
>> Though there might be other ways to infer this information, having it
>> as an explicit field would provide convenience.
>That seems useful, although I'm not even sure how you would even know
>that it is the last one?
It is possible for hardware to detect this and provide this information to the driver (am making a generic technical statement without referring to specific products here). For products not having this capability, this subfield can be marked as invalid (if the driver has no other way to infer the information).

>> 3) A bit to indicate if the Delimiter CRC is in error.
>That's useful, but in that case are you even decoding the MPDU and
>passing it up?
In case the delimiter CRC for a subframe containing an MPDU is corrupted, is it an option to record and display only the radiotap header without the (suspect) MPDU following it? This will at least let the user know a subframe corruption has happened. Except the 'Delimiter CRC error' bit, all other A-MPDU status field contents can be set as invalid.
If this option is not available, may be we should just drop 3 (and by extension, 4 'Delimiter CRC Value') to avoid ambiguity.

>Also what if a zero delimiter has a bad CRC? Or what if
>it just got corrupted and you have to recover parsing? I'm not sure we
>can cover all these cases.
Assuming the option discussed above is available:
Perhaps we should limit the scope of all A-MPDU status field information as being applicable only to subframes actually containing MPDUs. Even 1b, 'Number of zero delimiters before current subframe' would be with reference to a given 'non-zero' MPDU bearing subframe. 
If we accept the above limitation, then a zero delimiter having a bad CRC doesn't matter for subfield 3) 'Delimiter CRC error'. We will never be providing this information for any zero delimiter. However, there is an open question about what happens once hardware recovers parsing after a corrupted zero delimiter and and successfully gets a non-zero MPDU bearing subframe. Generally speaking, I feel there is scope for ambiguity/variances about how differing products can react and return information used for constructing 1b. In case this is a concern, we could drop 1b as well. 

Regards,
Krishna

  parent reply	other threads:[~2011-11-13 16:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-31  9:13 Regarding A-MPDU status field Rao, Krishna
     [not found] ` <21E1C3B49A18BA428D58607D5EEA5398BB2E90-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2011-11-02  8:42   ` Johannes Berg
     [not found]     ` <1320223343.3950.29.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2011-11-03 15:02       ` Rao, Krishna
     [not found]         ` <21E1C3B49A18BA428D58607D5EEA5398BB67FA-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2011-11-09 14:02           ` Johannes Berg
     [not found]             ` <1320847366.3845.72.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2011-11-09 20:45               ` David Young
2011-11-13 16:49               ` Rao, Krishna [this message]
     [not found]                 ` <21E1C3B49A18BA428D58607D5EEA5398BBBD18-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2011-11-14  8:26                   ` Johannes Berg
     [not found]                     ` <1321259214.4472.16.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2011-11-20 16:37                       ` Rao, Krishna
     [not found]                         ` <21E1C3B49A18BA428D58607D5EEA5398BC8C00-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2011-11-21  9:27                           ` Johannes Berg
     [not found]                             ` <1321867620.3999.7.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2011-11-22 14:27                               ` Rao, Krishna
     [not found]                                 ` <21E1C3B49A18BA428D58607D5EEA5398BC971A-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2011-11-22 17:06                                   ` David Young
2011-11-22 14:33                               ` Rao, Krishna
2011-11-23 15:23                             ` Rao, Krishna
2012-01-03 17:25                             ` Rao, Krishna
     [not found]                               ` <21E1C3B49A18BA428D58607D5EEA5398C1F289-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2012-01-04 10:42                                 ` Johannes Berg
     [not found]                                   ` <1325673736.3339.27.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2012-01-08 13:43                                     ` Rao, Krishna
     [not found]                                       ` <21E1C3B49A18BA428D58607D5EEA5398C20149-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2012-01-09 10:16                                         ` Johannes Berg
     [not found]                                           ` <1326104166.3451.21.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2012-01-15 19:14                                             ` Rao, Krishna
     [not found]                                               ` <21E1C3B49A18BA428D58607D5EEA5398C36652-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2012-01-16 13:46                                                 ` Johannes Berg
     [not found]                                                   ` <1326721599.3510.18.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2012-01-23 16:16                                                     ` Rao, Krishna
     [not found]                                                       ` <21E1C3B49A18BA428D58607D5EEA5398C3D354-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2012-02-20 11:03                                                         ` Johannes Berg
     [not found]                                                           ` <1329735809.3458.14.camel-8upI4CBIZJIJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2012-02-22  1:14                                                             ` Rao, Krishna
     [not found]                                                               ` <21E1C3B49A18BA428D58607D5EEA5398C55E21-RqevaKtL5OWBP98+muIrrKRtKmQZhJ7pQQ4Iyu8u01E@public.gmane.org>
2012-02-23 15:48                                                                 ` Johannes Berg
2012-07-05  9:49   ` Johannes Berg

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=21E1C3B49A18BA428D58607D5EEA5398BBBD18@nasanexd02b.na.qualcomm.com \
    --to=kcrao-a+znkfmmk5xy9ajcnzt0uw@public.gmane.org \
    --cc=johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org \
    --cc=radiotap-sUITvd46vNxg9hUCZPvPmw@public.gmane.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).