aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/wimax/mac_hd_generic_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/wimax/mac_hd_generic_decoder.c')
-rw-r--r--plugins/wimax/mac_hd_generic_decoder.c1472
1 files changed, 736 insertions, 736 deletions
diff --git a/plugins/wimax/mac_hd_generic_decoder.c b/plugins/wimax/mac_hd_generic_decoder.c
index a56020acde..676b7239f1 100644
--- a/plugins/wimax/mac_hd_generic_decoder.c
+++ b/plugins/wimax/mac_hd_generic_decoder.c
@@ -285,147 +285,6 @@ static const value_string fast_fb_types[] =
{ 0, NULL}
};
-/* Generic MAC header display */
-static hf_register_info hf[] =
-{
- {
- &hf_mac_header_generic_value_bytes,
- {
- "Values", "wmx.genericValueBytes",
- FT_BYTES, BASE_HEX, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ht,
- {
- "MAC Header Type", "wmx.genericHt",
- FT_UINT24, BASE_HEX, VALS(ht_msgs), WIMAX_MAC_HEADER_GENERIC_HT,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ec,
- {
- "MAC Encryption Control", "wmx.genericEc",
- FT_UINT24, BASE_HEX, VALS(ec_msgs), WIMAX_MAC_HEADER_GENERIC_EC,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_0,
- {
- "MAC Sub-type Bit 0", "wmx.genericType0",
- FT_UINT24, BASE_HEX, VALS(type_msg0), WIMAX_MAC_HEADER_GENERIC_TYPE_0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_1,
- {
- "MAC Sub-type Bit 1", "wmx.genericType1",
- FT_UINT24, BASE_HEX, VALS(type_msg1), WIMAX_MAC_HEADER_GENERIC_TYPE_1,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_2,
- {
- "MAC Sub-type Bit 2", "wmx.genericType2",
- FT_UINT24, BASE_HEX, VALS(type_msg2), WIMAX_MAC_HEADER_GENERIC_TYPE_2,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_3,
- {
- "MAC Sub-type Bit 3", "wmx.genericType3",
- FT_UINT24, BASE_HEX, VALS(type_msg3), WIMAX_MAC_HEADER_GENERIC_TYPE_3,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_4,
- {
- "MAC Sub-type Bit 4", "wmx.genericType4",
- FT_UINT24, BASE_HEX, VALS(type_msg4), WIMAX_MAC_HEADER_GENERIC_TYPE_4,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_type_5,
- {
- "MAC Sub-type Bit 5", "wmx.genericType5",
- FT_UINT24, BASE_HEX, VALS(type_msg5), WIMAX_MAC_HEADER_GENERIC_TYPE_5,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_esf,
- {
- "Extended Sub-header Field", "wmx.genericEsf",
- FT_UINT24, BASE_HEX, VALS(esf_msgs), WIMAX_MAC_HEADER_GENERIC_ESF,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ci,
- {
- "CRC Indicator", "wmx.genericCi",
- FT_UINT24, BASE_HEX, VALS(ci_msgs), WIMAX_MAC_HEADER_GENERIC_CI,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_eks,
- {
- "Encryption Key Sequence", "wmx.genericEks",
- FT_UINT24, BASE_HEX, NULL, WIMAX_MAC_HEADER_GENERIC_EKS,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_rsv,
- {
- "Reserved", "wmx.genericRsv",
- FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_RSV,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_len,
- {
- "Length", "wmx.genericLen",
- FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_LEN,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_cid,
- {
- "Connection ID", "wmx.genericCid",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_hcs,
- {
- "Header Check Sequence", "wmx.genericHcs",
- FT_UINT8, BASE_HEX, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_crc,
- {
- "CRC", "wmx.genericCrc",
- FT_UINT32, BASE_HEX, NULL, 0x0,
- "", HFILL
- }
- }
-};
-
/* Extended sub-headers */
/* DL sub-header types */
enum
@@ -596,227 +455,9 @@ static const value_string sn_rep_msg[] =
{ 0, NULL}
};
-/* Extended Subheader display */
-static hf_register_info hf_ext[] =
-{
- {
- &hf_mac_header_generic_ext_subheader_rsv,
- {
- "Reserved", "wmx.genericExtSubhd.Rsv",
- FT_UINT8, BASE_DEC, NULL, EXTENDED_SUB_HEADER_RSV_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_type_dl,
- {
- "DL Extended Subheader Type", "wmx.genericExtSubhd.Dl",
- FT_UINT8, BASE_DEC, VALS(dl_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_type_ul,
- {
- "UL Extended Subheader Type", "wmx.genericExtSubhd.Ul",
- FT_UINT8, BASE_DEC, VALS(ul_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_sdu_sn,
- {
- "SDU Sequence Number", "wmx.genericExtSubhd.SduSn",
- FT_UINT8, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_dl_sleep_control_pscid,
- {
- "Power Saving Class ID", "wmx.genericExtSubhd.DlSleepCtrlPSCID",
- FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_POWER_SAVING_CLASS_ID_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_dl_sleep_control_op,
- {
- "Operation", "wmx.genericExtSubhd.DlSleepCtrlOP",
- FT_UINT24, BASE_HEX, VALS(dl_sleep_control_ops), DL_SLEEP_CONTROL_OPERATION_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswe,
- {
- "Final Sleep Window Exponent", "wmx.genericExtSubhd.DlSleepCtrlFSWE",
- FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_EXPONENT_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswb,
- {
- "Final Sleep Window Base", "wmx.genericExtSubhd.DlSleepCtrlFSWB",
- FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_BASE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_dl_sleep_control_rsv,
- {
- "Reserved", "wmx.genericExtSubhd.DlSleepCtrlRsv",
- FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_RESERVED_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_uiuc,
- {
- "UIUC", "wmx.genericExtSubhd.FbReqUIUC",
- FT_UINT24, BASE_HEX, VALS(uiuc_values), FEEDBACK_REQUEST_UIUC_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_fb_type,
- {
- "Feedback Type", "wmx.genericExtSubhd.FbReqFbType",
- FT_UINT24, BASE_HEX, VALS(fb_types), FEEDBACK_REQUEST_FEEDBACK_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_ofdma_symbol_offset,
- {
- "OFDMA Symbol Offset", "wmx.genericExtSubhd.FbReqOfdmaSymbolOffset",
- FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_OFDMA_SYMBOL_OFFSET_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_subchannel_offset,
- {
- "Subchannel Offset", "wmx.genericExtSubhd.FbReqSubchannelOffset",
- FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_SUBCHANNEL_OFFSET_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_slots,
- {
- "Number of Slots", "wmx.genericExtSubhd.FbReqSlots",
- FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_NUMBER_OF_SLOTS_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_fb_req_frame_offset,
- {
- "Frame Offset", "wmx.genericExtSubhd.FbReqFrameOffset",
- FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_FRAME_OFFSET_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_1,
- {
- "First SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd1",
- FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_1_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_2,
- {
- "Second SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd2",
- FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_2_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_sn_req_rsv,
- {
- "Reserved", "wmx.genericExtSubhd.SnReqRsv",
- FT_UINT8, BASE_DEC, NULL, SN_REQUEST_SUBHEADER_RESERVED_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_mimo_mode_fb_type,
- {
- "Feedback Type", "wmx.genericExtSubhd.MimoFbType",
- FT_UINT8, BASE_DEC, VALS(mimo_fb_types), MIMO_FEEDBACK_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_mimo_fb_content,
- {
- "Feedback Content", "wmx.genericExtSubhd.MimoFbContent",
- FT_UINT8, BASE_DEC, NULL, MIMO_FEEDBACK_CONTENT_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_ul_tx_pwr_rep,
- {
- "UL TX Power", "wmx.genericExtSubhd.UlTxPwr",
- FT_UINT8, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_mini_fb_type,
- {
- "Feedback Type", "wmx.genericExtSubhd.MiniFbType",
- FT_UINT16, BASE_DEC, VALS(fb_types), MINI_FEEDBACK_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_mini_fb_content,
- {
- "Feedback Content", "wmx.genericExtSubhd.MiniFbContent",
- FT_UINT16, BASE_DEC, NULL, MINI_FEEDBACK_CONTENT_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_pdu_sn_short,
- {
- "PDU Sequence Number", "wmx.genericExtSubhd.PduSnShort",
- FT_UINT8, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_ext_subheader_pdu_sn_long,
- {
- "PDU Sequence Number", "wmx.genericExtSubhd.PduSnLong",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- }
-};
-
/* Mesh Subheader */
static gint hf_mac_header_generic_mesh_subheader = -1;
-/* Mesh Subheader display */
-static hf_register_info hf_mesh[] =
-{
- {
- &hf_mac_header_generic_mesh_subheader,
- {
- "Xmt Node Id", "wmx.genericMeshSubhd",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- }
-};
-
/* Fragmentation Subheader (table 8) */
#define FRAGMENTATION_SUBHEADER_FC_MASK 0xC000 /*0x0003*/
#define FRAGMENTATION_SUBHEADER_BSN_MASK 0x3FF8 /*0x1FFC*/
@@ -850,67 +491,6 @@ static const value_string frag_types[] =
{ 0, NULL}
};
-/* Fragmentation Subheader display */
-static hf_register_info hf_frag[] =
-{
- {
- &hf_mac_header_generic_frag_subhd_fc,
- {
- "Fragment Type", "wmx.genericFragSubhd.Fc",
- FT_UINT8, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_fc_ext,
- {
- "Fragment Type", "wmx.genericFragSubhd.FcExt",
- FT_UINT16, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_bsn,
- {
- "Block Sequence Number (BSN)", "wmx.genericFragSubhd.Bsn",
- FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_fsn,
- {
- "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.Fsn",
- FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_FSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_fsn_ext,
- {
- "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.FsnExt",
- FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_rsv,
- {
- "Reserved", "wmx.genericFragSubhd.Rsv",
- FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_frag_subhd_rsv_ext,
- {
- "Reserved", "wmx.genericFragSubhd.RsvExt",
- FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_EXT_MASK,
- "", HFILL
- }
- }
-};
-
/* Packing Subheader (table 11) */
#define PACKING_SUBHEADER_FC_MASK 0xC00000
#define PACKING_SUBHEADER_BSN_MASK 0x3FF800
@@ -928,67 +508,6 @@ static gint hf_mac_header_generic_packing_subhd_fsn_ext = -1;
static gint hf_mac_header_generic_packing_subhd_len = -1;
static gint hf_mac_header_generic_packing_subhd_len_ext = -1;
-/* Packing Subheader display */
-static hf_register_info hf_pack[] =
-{
- {
- &hf_mac_header_generic_packing_subhd_fc,
- {
- "Fragment Type", "wmx.genericPackSubhd.Fc",
- FT_UINT16, BASE_DEC, VALS(frag_types), PACKING_SUBHEADER_FC_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_fc_ext,
- {
- "Fragment Type", "wmx.genericPackSubhd.FcExt",
- FT_UINT24, BASE_HEX, VALS(frag_types), PACKING_SUBHEADER_FC_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_bsn,
- {
- "First Block Sequence Number", "wmx.genericPackSubhd.Bsn",
- FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_fsn,
- {
- "Fragment Number", "wmx.genericPackSubhd.Fsn",
- FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_FSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_fsn_ext,
- {
- "Fragment Number", "wmx.genericPackSubhd.FsnExt",
- FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_len,
- {
- "Length", "wmx.genericPackSubhd.Len",
- FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_packing_subhd_len_ext,
- {
- "Length", "wmx.genericPackSubhd.LenExt",
- FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_EXT_MASK,
- "", HFILL
- }
- }
-};
-
/* Fast-feedback Allocation Subheader (table 13) */
#define FAST_FEEDBACK_ALLOCATION_OFFSET_MASK 0xFC /*0x3F*/
#define FAST_FEEDBACK_FEEDBACK_TYPE_MASK 0x03 /*0xC0*/
@@ -996,27 +515,6 @@ static hf_register_info hf_pack[] =
static gint hf_mac_header_generic_fast_fb_subhd_alloc_offset = -1;
static gint hf_mac_header_generic_fast_fb_subhd_fb_type = -1;
-/* Fast-feedback Allocation Subheader display */
-static hf_register_info hf_fast[] =
-{
- {
- &hf_mac_header_generic_fast_fb_subhd_alloc_offset,
- {
- "Allocation Offset", "wmx.genericFastFbSubhd.AllocOffset",
- FT_UINT8, BASE_DEC, NULL, FAST_FEEDBACK_ALLOCATION_OFFSET_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_fast_fb_subhd_fb_type,
- {
- "Feedback Type", "wmx.genericFastFbSubhd.FbType",
- FT_UINT8, BASE_DEC, VALS(fast_fb_types), FAST_FEEDBACK_FEEDBACK_TYPE_MASK,
- "", HFILL
- }
- }
-};
-
/* Grant Management Subheader (table 9 & 10) */
#define GRANT_MGMT_SUBHEADER_UGS_SI_MASK 0x8000 /*0x0001*/
#define GRANT_MGMT_SUBHEADER_UGS_PM_MASK 0x4000 /*0x0002*/
@@ -1075,109 +573,6 @@ static const value_string fli_msgs[] =
{ 0, NULL}
};
-/* Grant Management Subheader display */
-static hf_register_info hf_grant[] =
-{
- {
- &hf_mac_header_generic_grant_mgmt_ext_pbr_tree,
- {
- "Scheduling Service Type (Default)",
- "wimax.genericGrantSubhd.Default",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_pbr,
- {
- "PiggyBack Request", "wmx.genericGrantSubhd.Pbr",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_ugs_tree,
- {
- "Scheduling Service Type (UGS)", "wmx.genericGrantSubhd.UGS",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ugs_si,
- {
- "Slip Indicator", "wmx.genericGrantSubhd.Si",
- FT_UINT16, BASE_DEC, VALS(si_msgs), GRANT_MGMT_SUBHEADER_UGS_SI_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ugs_pm,
- {
- "Poll-Me", "wmx.genericGrantSubhd.Pm",
- FT_UINT16, BASE_DEC, VALS(pm_msgs), GRANT_MGMT_SUBHEADER_UGS_PM_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ugs_fli,
- {
- "Frame Latency Indication", "wmx.genericGrantSubhd.Fli",
- FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_UGS_FLI_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ugs_fl,
- {
- "Frame Latency", "wmx.genericGrantSubhd.Fl",
- FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_FL_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ugs_rsv,
- {
- "Reserved", "wmx.genericGrantSubhd.Rsv",
- FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_RSV_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_ext_rtps_tree,
- {
- "Scheduling Service Type (Extended rtPS)",
- "wimax.genericGrantSubhd.ExtendedRTPS",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ext_pbr,
- {
- "Extended PiggyBack Request", "wmx.genericGrantSubhd.ExtPbr",
- FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_PBR_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ext_fli,
- {
- "Frame Latency Indication", "wmx.genericGrantSubhd.ExtFli",
- FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_EXT_FLI_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_grant_mgmt_subhd_ext_fl,
- {
- "Frame Latency", "wmx.genericGrantSubhd.ExtFl",
- FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_FL_MASK,
- "", HFILL
- }
- }
-};
-
/* ARQ Feedback Payload */
/* ARQ Feedback IE bit masks (table 111) */
@@ -1220,137 +615,6 @@ static const value_string last_ie_msgs[] =
{ 0, NULL}
};
-/* ARQ Feedback Payload display */
-static hf_register_info hf_arq[] =
-{
- {
- &hf_mac_header_generic_arq_fb_ie_cid,
- {
- "CID", "wmx.genericArq.FbIeCid",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_last,
- {
- "Last IE", "wmx.genericArq.FbIeLast",
- FT_UINT16, BASE_DEC, VALS(last_ie_msgs), ARQ_FB_IE_LAST_BIT_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_ack_type,
- {
- "ACK Type", "wmx.genericArq.FbIeAckType",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_ACK_TYPE_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_bsn,
- {
- "BSN", "wmx.genericArq.FbIeBsn",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_BSN_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_num_maps,
- {
- "Number of ACK Maps", "wmx.genericArq.FbIeMaps",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_NUM_MAPS_MASK,
- "", HFILL
- }
- },
- {
- &hf_ack_type_reserved,
- {
- "Reserved", "wmx.genericArq.FbIeRsvd", FT_UINT16, BASE_DEC, NULL, 0x03, "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_sel_ack_map,
- {
- "Selective ACK Map", "wmx.genericArq.FbIeSelAckMap",
- FT_UINT16, BASE_HEX, NULL, 0x0,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq_format,
- {
- "Sequence Format", "wmx.genericArq.FbIeSeqFmt",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ_FORMAT_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq_ack_map,
- {
- "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap",
- FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq1_length,
- {
- "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq2_length,
- {
- "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq3_length,
- {
- "Sequence 3 Length", "wmx.genericArq.FbIeSeq3Len",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ3_LENGTH_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq_ack_map_2,
- {
- "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap2",
- FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_2_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq1_length_6,
- {
- "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_6_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_seq2_length_6,
- {
- "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_6_MASK,
- "", HFILL
- }
- },
- {
- &hf_mac_header_generic_arq_fb_ie_rsv,
- {
- "Reserved", "wmx.genericArq.FbIeRsv",
- FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_RSV_MASK,
- "", HFILL
- }
- }
-};
-
/* Register Wimax defrag table init routine. */
void wimax_defragment_init(void)
{
@@ -1460,6 +724,742 @@ static guint decode_packing_subheader(tvbuff_t *payload_tvb, packet_info *pinfo,
/* Register Wimax Generic Mac Header Protocol and Dissector */
void proto_register_mac_header_generic(void)
{
+ /* Generic MAC header display */
+ static hf_register_info hf[] =
+ {
+ {
+ &hf_mac_header_generic_value_bytes,
+ {
+ "Values", "wmx.genericValueBytes",
+ FT_BYTES, BASE_HEX, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ht,
+ {
+ "MAC Header Type", "wmx.genericHt",
+ FT_UINT24, BASE_HEX, VALS(ht_msgs), WIMAX_MAC_HEADER_GENERIC_HT,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ec,
+ {
+ "MAC Encryption Control", "wmx.genericEc",
+ FT_UINT24, BASE_HEX, VALS(ec_msgs), WIMAX_MAC_HEADER_GENERIC_EC,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_0,
+ {
+ "MAC Sub-type Bit 0", "wmx.genericType0",
+ FT_UINT24, BASE_HEX, VALS(type_msg0), WIMAX_MAC_HEADER_GENERIC_TYPE_0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_1,
+ {
+ "MAC Sub-type Bit 1", "wmx.genericType1",
+ FT_UINT24, BASE_HEX, VALS(type_msg1), WIMAX_MAC_HEADER_GENERIC_TYPE_1,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_2,
+ {
+ "MAC Sub-type Bit 2", "wmx.genericType2",
+ FT_UINT24, BASE_HEX, VALS(type_msg2), WIMAX_MAC_HEADER_GENERIC_TYPE_2,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_3,
+ {
+ "MAC Sub-type Bit 3", "wmx.genericType3",
+ FT_UINT24, BASE_HEX, VALS(type_msg3), WIMAX_MAC_HEADER_GENERIC_TYPE_3,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_4,
+ {
+ "MAC Sub-type Bit 4", "wmx.genericType4",
+ FT_UINT24, BASE_HEX, VALS(type_msg4), WIMAX_MAC_HEADER_GENERIC_TYPE_4,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_type_5,
+ {
+ "MAC Sub-type Bit 5", "wmx.genericType5",
+ FT_UINT24, BASE_HEX, VALS(type_msg5), WIMAX_MAC_HEADER_GENERIC_TYPE_5,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_esf,
+ {
+ "Extended Sub-header Field", "wmx.genericEsf",
+ FT_UINT24, BASE_HEX, VALS(esf_msgs), WIMAX_MAC_HEADER_GENERIC_ESF,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ci,
+ {
+ "CRC Indicator", "wmx.genericCi",
+ FT_UINT24, BASE_HEX, VALS(ci_msgs), WIMAX_MAC_HEADER_GENERIC_CI,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_eks,
+ {
+ "Encryption Key Sequence", "wmx.genericEks",
+ FT_UINT24, BASE_HEX, NULL, WIMAX_MAC_HEADER_GENERIC_EKS,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_rsv,
+ {
+ "Reserved", "wmx.genericRsv",
+ FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_RSV,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_len,
+ {
+ "Length", "wmx.genericLen",
+ FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_LEN,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_cid,
+ {
+ "Connection ID", "wmx.genericCid",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_hcs,
+ {
+ "Header Check Sequence", "wmx.genericHcs",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_crc,
+ {
+ "CRC", "wmx.genericCrc",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Extended Subheader display */
+ static hf_register_info hf_ext[] =
+ {
+ {
+ &hf_mac_header_generic_ext_subheader_rsv,
+ {
+ "Reserved", "wmx.genericExtSubhd.Rsv",
+ FT_UINT8, BASE_DEC, NULL, EXTENDED_SUB_HEADER_RSV_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_type_dl,
+ {
+ "DL Extended Subheader Type", "wmx.genericExtSubhd.Dl",
+ FT_UINT8, BASE_DEC, VALS(dl_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_type_ul,
+ {
+ "UL Extended Subheader Type", "wmx.genericExtSubhd.Ul",
+ FT_UINT8, BASE_DEC, VALS(ul_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_sdu_sn,
+ {
+ "SDU Sequence Number", "wmx.genericExtSubhd.SduSn",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_dl_sleep_control_pscid,
+ {
+ "Power Saving Class ID", "wmx.genericExtSubhd.DlSleepCtrlPSCID",
+ FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_POWER_SAVING_CLASS_ID_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_dl_sleep_control_op,
+ {
+ "Operation", "wmx.genericExtSubhd.DlSleepCtrlOP",
+ FT_UINT24, BASE_HEX, VALS(dl_sleep_control_ops), DL_SLEEP_CONTROL_OPERATION_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswe,
+ {
+ "Final Sleep Window Exponent", "wmx.genericExtSubhd.DlSleepCtrlFSWE",
+ FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_EXPONENT_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswb,
+ {
+ "Final Sleep Window Base", "wmx.genericExtSubhd.DlSleepCtrlFSWB",
+ FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_BASE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_dl_sleep_control_rsv,
+ {
+ "Reserved", "wmx.genericExtSubhd.DlSleepCtrlRsv",
+ FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_RESERVED_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_uiuc,
+ {
+ "UIUC", "wmx.genericExtSubhd.FbReqUIUC",
+ FT_UINT24, BASE_HEX, VALS(uiuc_values), FEEDBACK_REQUEST_UIUC_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_fb_type,
+ {
+ "Feedback Type", "wmx.genericExtSubhd.FbReqFbType",
+ FT_UINT24, BASE_HEX, VALS(fb_types), FEEDBACK_REQUEST_FEEDBACK_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_ofdma_symbol_offset,
+ {
+ "OFDMA Symbol Offset", "wmx.genericExtSubhd.FbReqOfdmaSymbolOffset",
+ FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_OFDMA_SYMBOL_OFFSET_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_subchannel_offset,
+ {
+ "Subchannel Offset", "wmx.genericExtSubhd.FbReqSubchannelOffset",
+ FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_SUBCHANNEL_OFFSET_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_slots,
+ {
+ "Number of Slots", "wmx.genericExtSubhd.FbReqSlots",
+ FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_NUMBER_OF_SLOTS_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_fb_req_frame_offset,
+ {
+ "Frame Offset", "wmx.genericExtSubhd.FbReqFrameOffset",
+ FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_FRAME_OFFSET_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_1,
+ {
+ "First SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd1",
+ FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_1_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_2,
+ {
+ "Second SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd2",
+ FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_2_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_sn_req_rsv,
+ {
+ "Reserved", "wmx.genericExtSubhd.SnReqRsv",
+ FT_UINT8, BASE_DEC, NULL, SN_REQUEST_SUBHEADER_RESERVED_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_mimo_mode_fb_type,
+ {
+ "Feedback Type", "wmx.genericExtSubhd.MimoFbType",
+ FT_UINT8, BASE_DEC, VALS(mimo_fb_types), MIMO_FEEDBACK_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_mimo_fb_content,
+ {
+ "Feedback Content", "wmx.genericExtSubhd.MimoFbContent",
+ FT_UINT8, BASE_DEC, NULL, MIMO_FEEDBACK_CONTENT_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_ul_tx_pwr_rep,
+ {
+ "UL TX Power", "wmx.genericExtSubhd.UlTxPwr",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_mini_fb_type,
+ {
+ "Feedback Type", "wmx.genericExtSubhd.MiniFbType",
+ FT_UINT16, BASE_DEC, VALS(fb_types), MINI_FEEDBACK_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_mini_fb_content,
+ {
+ "Feedback Content", "wmx.genericExtSubhd.MiniFbContent",
+ FT_UINT16, BASE_DEC, NULL, MINI_FEEDBACK_CONTENT_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_pdu_sn_short,
+ {
+ "PDU Sequence Number", "wmx.genericExtSubhd.PduSnShort",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_ext_subheader_pdu_sn_long,
+ {
+ "PDU Sequence Number", "wmx.genericExtSubhd.PduSnLong",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Mesh Subheader display */
+ static hf_register_info hf_mesh[] =
+ {
+ {
+ &hf_mac_header_generic_mesh_subheader,
+ {
+ "Xmt Node Id", "wmx.genericMeshSubhd",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Fragmentation Subheader display */
+ static hf_register_info hf_frag[] =
+ {
+ {
+ &hf_mac_header_generic_frag_subhd_fc,
+ {
+ "Fragment Type", "wmx.genericFragSubhd.Fc",
+ FT_UINT8, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_fc_ext,
+ {
+ "Fragment Type", "wmx.genericFragSubhd.FcExt",
+ FT_UINT16, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_bsn,
+ {
+ "Block Sequence Number (BSN)", "wmx.genericFragSubhd.Bsn",
+ FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_fsn,
+ {
+ "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.Fsn",
+ FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_FSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_fsn_ext,
+ {
+ "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.FsnExt",
+ FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_rsv,
+ {
+ "Reserved", "wmx.genericFragSubhd.Rsv",
+ FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_frag_subhd_rsv_ext,
+ {
+ "Reserved", "wmx.genericFragSubhd.RsvExt",
+ FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_EXT_MASK,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Packing Subheader display */
+ static hf_register_info hf_pack[] =
+ {
+ {
+ &hf_mac_header_generic_packing_subhd_fc,
+ {
+ "Fragment Type", "wmx.genericPackSubhd.Fc",
+ FT_UINT16, BASE_DEC, VALS(frag_types), PACKING_SUBHEADER_FC_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_fc_ext,
+ {
+ "Fragment Type", "wmx.genericPackSubhd.FcExt",
+ FT_UINT24, BASE_HEX, VALS(frag_types), PACKING_SUBHEADER_FC_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_bsn,
+ {
+ "First Block Sequence Number", "wmx.genericPackSubhd.Bsn",
+ FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_fsn,
+ {
+ "Fragment Number", "wmx.genericPackSubhd.Fsn",
+ FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_FSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_fsn_ext,
+ {
+ "Fragment Number", "wmx.genericPackSubhd.FsnExt",
+ FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_len,
+ {
+ "Length", "wmx.genericPackSubhd.Len",
+ FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_packing_subhd_len_ext,
+ {
+ "Length", "wmx.genericPackSubhd.LenExt",
+ FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_EXT_MASK,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Fast-feedback Allocation Subheader display */
+ static hf_register_info hf_fast[] =
+ {
+ {
+ &hf_mac_header_generic_fast_fb_subhd_alloc_offset,
+ {
+ "Allocation Offset", "wmx.genericFastFbSubhd.AllocOffset",
+ FT_UINT8, BASE_DEC, NULL, FAST_FEEDBACK_ALLOCATION_OFFSET_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_fast_fb_subhd_fb_type,
+ {
+ "Feedback Type", "wmx.genericFastFbSubhd.FbType",
+ FT_UINT8, BASE_DEC, VALS(fast_fb_types), FAST_FEEDBACK_FEEDBACK_TYPE_MASK,
+ "", HFILL
+ }
+ }
+ };
+
+ /* Grant Management Subheader display */
+ static hf_register_info hf_grant[] =
+ {
+ {
+ &hf_mac_header_generic_grant_mgmt_ext_pbr_tree,
+ {
+ "Scheduling Service Type (Default)",
+ "wimax.genericGrantSubhd.Default",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_pbr,
+ {
+ "PiggyBack Request", "wmx.genericGrantSubhd.Pbr",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_ugs_tree,
+ {
+ "Scheduling Service Type (UGS)", "wmx.genericGrantSubhd.UGS",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ugs_si,
+ {
+ "Slip Indicator", "wmx.genericGrantSubhd.Si",
+ FT_UINT16, BASE_DEC, VALS(si_msgs), GRANT_MGMT_SUBHEADER_UGS_SI_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ugs_pm,
+ {
+ "Poll-Me", "wmx.genericGrantSubhd.Pm",
+ FT_UINT16, BASE_DEC, VALS(pm_msgs), GRANT_MGMT_SUBHEADER_UGS_PM_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ugs_fli,
+ {
+ "Frame Latency Indication", "wmx.genericGrantSubhd.Fli",
+ FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_UGS_FLI_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ugs_fl,
+ {
+ "Frame Latency", "wmx.genericGrantSubhd.Fl",
+ FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_FL_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ugs_rsv,
+ {
+ "Reserved", "wmx.genericGrantSubhd.Rsv",
+ FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_RSV_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_ext_rtps_tree,
+ {
+ "Scheduling Service Type (Extended rtPS)",
+ "wimax.genericGrantSubhd.ExtendedRTPS",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ext_pbr,
+ {
+ "Extended PiggyBack Request", "wmx.genericGrantSubhd.ExtPbr",
+ FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_PBR_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ext_fli,
+ {
+ "Frame Latency Indication", "wmx.genericGrantSubhd.ExtFli",
+ FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_EXT_FLI_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_grant_mgmt_subhd_ext_fl,
+ {
+ "Frame Latency", "wmx.genericGrantSubhd.ExtFl",
+ FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_FL_MASK,
+ "", HFILL
+ }
+ }
+ };
+
+ /* ARQ Feedback Payload display */
+ static hf_register_info hf_arq[] =
+ {
+ {
+ &hf_mac_header_generic_arq_fb_ie_cid,
+ {
+ "CID", "wmx.genericArq.FbIeCid",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_last,
+ {
+ "Last IE", "wmx.genericArq.FbIeLast",
+ FT_UINT16, BASE_DEC, VALS(last_ie_msgs), ARQ_FB_IE_LAST_BIT_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_ack_type,
+ {
+ "ACK Type", "wmx.genericArq.FbIeAckType",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_ACK_TYPE_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_bsn,
+ {
+ "BSN", "wmx.genericArq.FbIeBsn",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_BSN_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_num_maps,
+ {
+ "Number of ACK Maps", "wmx.genericArq.FbIeMaps",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_NUM_MAPS_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_ack_type_reserved,
+ {
+ "Reserved", "wmx.genericArq.FbIeRsvd", FT_UINT16, BASE_DEC, NULL, 0x03, "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_sel_ack_map,
+ {
+ "Selective ACK Map", "wmx.genericArq.FbIeSelAckMap",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq_format,
+ {
+ "Sequence Format", "wmx.genericArq.FbIeSeqFmt",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ_FORMAT_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq_ack_map,
+ {
+ "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap",
+ FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq1_length,
+ {
+ "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq2_length,
+ {
+ "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq3_length,
+ {
+ "Sequence 3 Length", "wmx.genericArq.FbIeSeq3Len",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ3_LENGTH_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq_ack_map_2,
+ {
+ "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap2",
+ FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_2_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq1_length_6,
+ {
+ "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_6_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_seq2_length_6,
+ {
+ "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_6_MASK,
+ "", HFILL
+ }
+ },
+ {
+ &hf_mac_header_generic_arq_fb_ie_rsv,
+ {
+ "Reserved", "wmx.genericArq.FbIeRsv",
+ FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_RSV_MASK,
+ "", HFILL
+ }
+ }
+ };
+
if (proto_mac_header_generic_decoder == -1)
{
proto_mac_header_generic_decoder = proto_register_protocol (