Explain why the MSDU length field in an A-MSDU is big-endian.
authorGuy Harris <guy@alum.mit.edu>
Tue, 25 Aug 2015 23:56:37 +0000 (16:56 -0700)
committerGuy Harris <guy@alum.mit.edu>
Tue, 25 Aug 2015 23:57:10 +0000 (23:57 +0000)
Change-Id: I4a1cfd09395860348d71e9f4c86b6343cfdcd02a
Reviewed-on: https://code.wireshark.org/review/10262
Reviewed-by: Guy Harris <guy@alum.mit.edu>
epan/dissectors/packet-ieee80211.c

index da55fbf6c0beae2026035bddd3ac26f2e186707e..706ec802c226cdf192b765178d2c8dcb5d844838 100644 (file)
@@ -18159,6 +18159,16 @@ dissect_ieee80211_common (tvbuff_t *tvb, packet_info *pinfo,
           guint16             msdu_length;
           proto_tree         *subframe_tree;
 
+          /*
+           * IEEE Std 802.11-2012 says, in section 8.3.2.2 "A-MSDU format":
+           *
+           *  The A-MSDU subframe header contains three fields: DA, SA, and
+           *  Length. The order of these fields and the bits within these
+           *  fields are the same as the IEEE 802.3 frame format.
+           *
+           * which means that the length field is big-endian, not
+           * little-endian.
+           */
           msdu_length = tvb_get_ntohs (next_tvb, msdu_offset+12);
 
           parent_item = proto_tree_add_item(mpdu_tree, hf_ieee80211_amsdu_subframe, next_tvb,