The difference between two 8-bit signed values may be < -128 or > 127.
Change-Id: Ic930c65462b3d31591af2e206fb7ccbd4e509358
Reviewed-on: https://code.wireshark.org/review/30450
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Give the SNR field an appropriate name.
Change-Id: I4625b86dffa523da9771d9b220577182329fe27a
Reviewed-on: https://code.wireshark.org/review/30448
Reviewed-by: Guy Harris <guy@alum.mit.edu>
That's what tap listeners that want radio information should use. (If
they need additional radio information, they should expand the
pseudo-header structure and have *all* the libwiretap readers and
radio-metadata dissectors that fill in that structure fill it in - or
not mark it as present if there's nothing to fill it in with.)
Also, note that the "nav" field appears to be the duration field from
the frame header.
Change-Id: Ia09c69f6463371c880f2bddfc58760699b796049
Reviewed-on: https://code.wireshark.org/review/30414
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The radiotap spec says "dB antenna signal" and "dB antenna noise" are
unsigned. Make it universally so.
Change-Id: Iea2c5360d7352ca5e84862ea338d1fc689272191
Reviewed-on: https://code.wireshark.org/review/30410
Reviewed-by: Guy Harris <guy@alum.mit.edu>
If we have signal and noise in dBm, the difference between them is the
SNR, in dB.
Bug: 15243
Change-Id: Iaa17ef9ac39e18eccb7d1f75367fde24abab0180
Reviewed-on: https://code.wireshark.org/review/30408
Reviewed-by: Guy Harris <guy@alum.mit.edu>
While we're at it, only set the RSSI column once - no need to do it at
the beginning and later when we're setting fields.
Change-Id: Ia729019e5e6dfbe1cdad61f1f8397b0a3a171996
Reviewed-on: https://code.wireshark.org/review/30405
Reviewed-by: Guy Harris <guy@alum.mit.edu>
We call that dissector even for zero-length PSDUs, so the radio
information is shown. We also show the zero-length PSDU type.
We don't call the 802.11 dissector for zero-length PSDU frames.
That way, you don't have to open up the radiotap information to find out
about zero-length PSDU frames, we can support zero-length PSDU
information for other pseudo-headers and file types if they support it,
and taps using the radio information can get zero-length PSDU frame
information.
Change-Id: I7d5da4ea978d8ca4889fc76160f11e3416b4d036
Reviewed-on: https://code.wireshark.org/review/29034
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Preamble duration calculation duplicated the number of HT-LTF symbols
resulting in an incorrect preamble calculation. This fix removes the
duplicated code in file: epan/dissectors/packet-ieee80211-radio.c.
Bug: 14439
Change-Id: I550066a41c24948e16da6a43cf403cf206b7f32d
Reviewed-on: https://code.wireshark.org/review/25903
Reviewed-by: Simon Barber <simon.barber@meraki.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reserved values are a bit of a hack. (If this were Swift....)
Change-Id: I243e8f497345f44d94af6106287556b8831fba92
Reviewed-on: https://code.wireshark.org/review/24633
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Macbook and QCA generators sometimes report the minimum MCS for subframes
in an aggregate that have FCS errors.
Change-Id: I77d1a81f5b3d0e3d0755adcb889f1237b0257814
Reviewed-on: https://code.wireshark.org/review/23521
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
As the wireless timeline is not fully finished and undocumented, disable
this GUI feature for now. This should avoid some user confusion when
opening an 802.11 trace.
For experimental and development purposes, the feature can be enabled
via the preferences (right-click on the "802.11 radio information"
layer, Protocol Preferences, Enable Wireless Timeline (experimental)").
Change-Id: Ieb529ccc0f23a051bcaba21ad18ac3c1d63b850e
Ping-Bug: 13769
Reviewed-on: https://code.wireshark.org/review/22558
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Simon Barber <simon.barber@meraki.net>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Allows duration to be calculated to 0
Handles generators where PHY type is not reported, but it can be
determined from the rate.
Change-Id: Ic0b9e1b0e3e51f4d5b670d25fea064daf250a55f
Reviewed-on: https://code.wireshark.org/review/22261
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
With captures where TSF indicates the end of the frame the
preamble was being counted twice in the calculation of the start.
Change-Id: I3d042d8ea3bc46a833438cb3d2f75e3499a7711d
Reviewed-on: https://code.wireshark.org/review/22020
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
taken from the timing analysis done in the wlan_radio dissector. QT only.
The timeline background is light gray, white for packets displayed in the packetlist,
and blue for the currently selected packet. Packets are coloured according to the
colouring rules foreground colour. The timeline can be zoomed with controls on the
toolbar.
At higher zoom levels the duration (NAV) field is plotted as a horizontal line to the
right of a packet.
The height of a packet in the timeline is proportional to the RSSI.
The bottom half of the packet is only shown if it matches the display filter.
Todo:
Auto detect TSF timing reference point (start/end of packet)
Add a scrollbar
Add a ruler showing time
Improve handling of focus.
Do not display NAV for packets with bad FCS.
Show related packets graphically
Different Y axis modes
- bandwidth/channel use display
- different transmitters per line
- background color from coloring rules
Live capture support
Change-Id: Ic31fffb0d6854966361ade7abb5c0be50db9a247
Reviewed-on: https://code.wireshark.org/review/20043
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
While we're at it, fix a typo in a comment.
Bug: 13711
Change-Id: Ie1e4aa9243ccb10621bf181b232e177c2a7f867c
Reviewed-on: https://code.wireshark.org/review/21676
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Perform sanity check on parsed data rate. Data rate of zero results in a
division by zero in calculate_llac_duration. Do not use data rate if zero.
Bug: 13706
Change-Id: I7883e1052a0965f7927d3a478c0aa992693f7fe1
Reviewed-on: https://code.wireshark.org/review/21626
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: I3a9cddd9c6e47a5c5c48e2e02a32a71413bcf799
Reviewed-on: https://code.wireshark.org/review/13590
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: Idad8f7eeed968eeed9f553fef98d58453f328afb
Reviewed-on: https://code.wireshark.org/review/21421
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Tested-by: Michael Mann <mmann78@netscape.net>
proto_tree_add_uint_format_value had the most use of unit strings, this
patch handles all of the other proto_tree_add_xxx_format_value calls that
could be better served using BASE_UNIT_STRING with a "unit string" in hf_ field.
Added more "common" unit string values to unit_strings.[ch]
Change-Id: I0fb680be781e10037eb7bd40dd21a9ee20c1fb1c
Reviewed-on: https://code.wireshark.org/review/19288
Reviewed-by: Michael Mann <mmann78@netscape.net>
Several calls to proto_tree_add_uint_format_value could be better served
using BASE_UNIT_STRING with a "unit string" in hf_ field. There also
a few cases where proto_tree_add_uint_format_value could just be
proto_tree_add_uint.
Added a few more "common" unit string values to unit_strings.[ch]
Change-Id: Iaedff82c515269c9c31ab9100dff19f5563c932d
Reviewed-on: https://code.wireshark.org/review/19242
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
calculations.
Change-Id: Ie314f7caee067b16da8dcb2a45cb1395ce0cb266
Reviewed-on: https://code.wireshark.org/review/17719
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
The valid array in a struct mcs_vht_valid is indexed by the bandwidth
and the NSS-1; use the NSS-1, not the NSS, as the index.
The maximum possible value of the NSS is MAX_VHT_NSS, so allow a value
of MAX_VHT_NSS.
Change-Id: I49585f217f3e70356c1dd1ba32b6c714ce202236
Reviewed-on: https://code.wireshark.org/review/16426
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Found by VS Code Analysis.
Change-Id: Idab6cb5496749ebff47466b20a9a665b1574565d
Reviewed-on: https://code.wireshark.org/review/16421
Reviewed-by: Michael Mann <mmann78@netscape.net>
A few of the combinations are marked as "Not valid" in 802.11ac-2013.
Ping-Bug: 12558
Change-Id: I18b78ebb84ab32a6fc53c6d634ef07ae87fb4866
Reviewed-on: https://code.wireshark.org/review/16153
Reviewed-by: Guy Harris <guy@alum.mit.edu>
stuff.
Bug: 12421
Change-Id: Idc56bd573b72465e36c8141d3c0736b286ff220a
Reviewed-on: https://code.wireshark.org/review/15448
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector.
"data" dissector was not considered to be a dependency.
Change-Id: I15d0d77301306587ef8e7af5876e74231816890d
Reviewed-on: https://code.wireshark.org/review/14509
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
The check against 0 isn't really necessary, as stbc_streams >= 0 and
ieee80211_ht_streams[info_n->mcs_index] >= 1, but, what the heck.
Make stbc_streams unsigned, as the value assigned to it is unsigned.
Bug: 12085
Change-Id: I98e0edb718f62ee07bbe56b9d15859c68b7d2e43
Reviewed-on: https://code.wireshark.org/review/13844
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It's also used as an array index, and it also is no guaranteed to be in
the proper range in all capture files, so bounds-check it.
Make the variable's type match that of the field in the radio metadata.
(It's never negative, so it's unsigned.)
This appears to be the last of the unchecked array references from bug
12085.
Bug: 12085
Change-Id: I3e5b821a9b70dfd520d01036f6f7d02008aca200
Reviewed-on: https://code.wireshark.org/review/13806
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The arrays have MAX_MCS_INDEX+1 entries; valid indices to from 0 to
MAX_MCX_INDEX.
Change-Id: Ibbd30d36cc16143482b34212b1c6ce8df9e555ab
Ping-Bug: 12085
Reviewed-on: https://code.wireshark.org/review/13805
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The arrays have MAX_MCS_INDEX+1 entries; valid indices to from 0 to
MAX_MCX_INDEX.
Change-Id: Ib8b939e687a00505cab5e5f9b3b6dce34e9d0b47
Reviewed-on: https://code.wireshark.org/review/13803
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Don't just check whether we *have* the MCS index, check whether it's a
valid MCS index, before we use it in calculations. Otherwise, we'll
make out-of-bounds array accesses.
(May or may not fix bug 12085, so just Ping-Bug for now. It's necessary
in any case.)
Change-Id: I7119366397b260089aea35ae9fcd5ad9ec6b06f2
Ping-Bug: 12085
Reviewed-on: https://code.wireshark.org/review/13790
Reviewed-by: Guy Harris <guy@alum.mit.edu>
to calculate rate. This will enable calculation of FEC rounding precisely
later on.
Change-Id: If7dcee39e12db208636fc8a90bfd784ffbea723c
Reviewed-on: https://code.wireshark.org/review/12857
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
remove redundant HT MCS/rate table. Preparation for duration calculations
that will use this data as well.
Change-Id: Iee4fb2eefb00eaa53a6368eca4ed60f705ff49df
Reviewed-on: https://code.wireshark.org/review/12856
Reviewed-by: Michael Mann <mmann78@netscape.net>
The use of a flag field here is aesthetically unpleasing when the flags
are referred to frequently. Convert these into bitfield entries.
Change-Id: I6f47e31558439dfd343ec7f856d04480366a1237
Reviewed-on: https://code.wireshark.org/review/12511
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Change-Id: Ie39ef054a4a942687bd079f3a4d8c2cc55d5f22c
Reviewed-on: https://code.wireshark.org/review/12485
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Calling a protocol dissection function will properly set/restore pinfo->current_proto, so there's no need to duplicate it.
Change-Id: Ic2ec0b35fa4d46a98f3410bf238056425076e4a9
Reviewed-on: https://code.wireshark.org/review/12205
Reviewed-by: Michael Mann <mmann78@netscape.net>