This patch updates wireshark to the current wireless-testing. ---
--- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -649,10 +649,11 @@ int add_mimo_compressed_beamforming_feed /* Not yet assigned by ANA */ #define TAG_MESH_CONFIGURATION 113 #define TAG_MESH_ID 114 -#define TAG_MESH_PEER_LINK_MGMT 55 +#define TAG_MESH_PEER_LINK_MGMT 117 +#define TAG_MESH_PEER_LINK 55 #define TAG_MESH_PREQ 130 #define TAG_MESH_PREP 131 -#define TAG_MESH_PERR 70 +#define TAG_MESH_PERR 132 #endif /* MESH_OVERRIDES */ static const range_string tag_num_vals[] = { @@ -733,6 +734,7 @@ static const range_string tag_num_vals[] { TAG_MESH_ID, TAG_MESH_ID, "Mesh ID" }, { TAG_MESH_CONFIGURATION, TAG_MESH_CONFIGURATION, "Mesh Configuration" }, { TAG_MESH_PEER_LINK_MGMT, TAG_MESH_PEER_LINK_MGMT, "Mesh Peer Link Management" }, + { TAG_MESH_PEER_LINK, TAG_MESH_PEER_LINK, "Mesh Peer Link" }, { TAG_MESH_PREQ, TAG_MESH_PREQ, "Mesh Path Request" }, { TAG_MESH_PREP, TAG_MESH_PREP, "Mesh Path Response" }, { TAG_MESH_PERR, TAG_MESH_PERR, "Mesh Path Error" }, @@ -975,6 +977,7 @@ static const value_string aruba_mgt_type #define CAT_VENDOR_SPECIFIC 127 #ifdef MESH_OVERRIDES +#define CAT_MESH_ACTION 13 #define CAT_MESH_PEER_LINK 30 /* Per 802.11s draft 1.08. ANA will probably revise this */ #define CAT_MESH_LINK_METRIC 31 #define CAT_MESH_PATH_SELECTION 32 @@ -1052,9 +1055,9 @@ static const value_string aruba_mgt_type #define TDLS_DISCOVERY_REQUEST 10 #ifdef MESH_OVERRIDES -#define MESH_PL_PEER_LINK_OPEN 0 -#define MESH_PL_PEER_LINK_CONFIRM 1 -#define MESH_PL_PEER_LINK_CLOSE 2 +#define MESH_PL_PEER_LINK_OPEN 1 +#define MESH_PL_PEER_LINK_CONFIRM 2 +#define MESH_PL_PEER_LINK_CLOSE 3 #define MESH_PS_PATH_REQUEST 0 #define MESH_PS_PATH_REPLY 1 @@ -4275,7 +4278,7 @@ add_fixed_field(proto_tree * tree, tvbuf } #ifdef MESH_OVERRIDES - case CAT_MESH_PEER_LINK: + case CAT_MESH_ACTION: /* Non-IE fixed fields here. edit TAG_MESH_* for IE fields */ switch (tvb_get_guint8(tvb, 1)) { @@ -8000,26 +8003,28 @@ add_tagged_field(packet_info * pinfo, pr #ifdef MESH_OVERRIDES - case TAG_MESH_PEER_LINK_MGMT: + case TAG_MESH_PEER_LINK: { + guint8 len = tvb_get_guint8(tvb, offset + 1); offset += 2; - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_subtype, tvb, offset, 1, TRUE); - offset += 1; - switch (tvb_get_guint8(tvb, 1)) - { /* IE subtype */ - case MESH_PL_PEER_LINK_OPEN: - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset, 2, TRUE); + switch (len) + { + case 6: + proto_tree_add_item (tree, hf_ieee80211_mesh_config_peering_protocol, tvb, offset, 4, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset + 4, 2, TRUE); break; - case MESH_PL_PEER_LINK_CONFIRM: - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset, 2, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_peer_link_id, tvb, offset + 2, 2, TRUE); + case 8: + proto_tree_add_item (tree, hf_ieee80211_mesh_config_peering_protocol, tvb, offset, 4, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset + 4, 2, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_peer_link_id, tvb, offset + 6, 2, TRUE); break; - case MESH_PL_PEER_LINK_CLOSE: - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset, 2, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_peer_link_id, tvb, offset + 2, 2, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_reason_code, tvb, offset + 4, 2, TRUE); + case 10: + proto_tree_add_item (tree, hf_ieee80211_mesh_config_peering_protocol, tvb, offset, 4, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_local_link_id, tvb, offset + 4, 2, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_peer_link_id, tvb, offset + 6, 2, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_mgt_pl_reason_code, tvb, offset + 8, 2, TRUE); break; /* undefined values */ @@ -8038,9 +8043,8 @@ add_tagged_field(packet_info * pinfo, pr proto_tree_add_item (tree, hf_ieee80211_mesh_config_congestion_control, tvb, offset + 2, 1, TRUE); proto_tree_add_item (tree, hf_ieee80211_mesh_config_sync_protocol, tvb, offset + 3, 1, TRUE); proto_tree_add_item (tree, hf_ieee80211_mesh_config_auth_protocol, tvb, offset + 4, 1, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_config_peering_protocol, tvb, offset + 5, 1, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_config_formation_info, tvb, offset + 6, 1, TRUE); - proto_tree_add_item (tree, hf_ieee80211_mesh_config_capability, tvb, offset + 7, 2, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_config_formation_info, tvb, offset + 5, 1, TRUE); + proto_tree_add_item (tree, hf_ieee80211_mesh_config_capability, tvb, offset + 6, 1, TRUE); break; } @@ -11299,6 +11303,8 @@ proto_register_ieee80211 (void) #ifdef MESH_OVERRIDES {CAT_MESH_PEER_LINK, "Mesh Peer Link"}, {0x80 | CAT_MESH_PEER_LINK, "Mesh Peer Link"}, + {CAT_MESH_ACTION, "Mesh Action"}, + {0x80 | CAT_MESH_ACTION, "Mesh Action"}, {CAT_MESH_LINK_METRIC, "Mesh Link Metric"}, {0x80 | CAT_MESH_LINK_METRIC, "Mesh Link Metric"}, {CAT_MESH_PATH_SELECTION, "Mesh Path Selection"}, @@ -13187,7 +13193,7 @@ proto_register_ieee80211 (void) {&hf_ieee80211_mesh_config_peering_protocol, {"Peering Protocol", "wlan.mesh.config.peer_proto", - FT_UINT8, BASE_HEX, NULL, 0, + FT_UINT32, BASE_HEX, NULL, 0, "Mesh Configuration Peering Protocol", HFILL }}, {&hf_ieee80211_mesh_config_formation_info, _______________________________________________ Devel mailing list Devel@lists.open80211s.org http://open80211s.com/mailman/listinfo/devel