https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5280
Gerald Combs <gerald@xxxxxxxxxxxxx> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gerald@xxxxxxxxxxxxx
--- Comment #2 from Gerald Combs <gerald@xxxxxxxxxxxxx> 2010-10-13 13:42:36 PDT ---
The 0x80 check is for FreeBSD's version of radiotap. From
http://fxr.watson.org/fxr/source/net80211/ieee80211_radiotap.h :
102 * IEEE80211_RADIOTAP_RATE uint8_t 500kb/s or index
103 *
104 * Tx/Rx data rate. If bit 0x80 is set then it represents an
105 * an MCS index and not an IEEE rate.
It doesn't look like any of the Linux drivers use this field in this way (and
I'm pretty sure AirPcap doesn't) so it appears that we have a conflict.
Instead of breaking FreeBSD's radiotap dissection could we do something like
this?
@@ -989,7 +989,7 @@
if (length_remaining < 1)
break;
rate = tvb_get_guint8(tvb, offset);
- if (rate & 0x80) {
+ if (rate & 0x80 && rate & 0x7f < 16) {
/* XXX adjust by CW and short GI like other sniffers? */
rate = ieee80211_htrates[rate & 0xf];
}
This assumes that FreeBSD's radiotap will always have 16 HT rate values. The
only other alternative is to add a rate interpretation preference.
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.