2007-05-25 23:40:42 +00:00
/* msg_sbc.c
* WiMax MAC Management SBC - REQ / RSP Messages decoders
*
* Copyright ( c ) 2007 by Intel Corporation .
*
* Author : Lu Pan < lu . pan @ intel . com >
*
* $ Id $
*
* Wireshark - Network traffic analyzer
* By Gerald Combs < gerald @ wireshark . org >
* Copyright 1999 Gerald Combs
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*/
/*
# define DEBUG // for debug only
*/
/* Include files */
# ifdef HAVE_CONFIG_H
# include "config.h"
# endif
# include "moduleinfo.h"
2007-05-27 18:33:13 +00:00
# include <glib.h>
2007-05-25 23:40:42 +00:00
# include <epan/packet.h>
# include <epan/prefs.h>
# include "wimax_tlv.h"
# include "wimax_mac.h"
# include "wimax_utils.h"
2007-11-28 22:56:27 +00:00
/* This is a global variable declared in mac_hd_generic_decoder.c, which determines whether
2007-05-25 23:40:42 +00:00
* or not cor2 changes are included */
extern guint include_cor2_changes ;
/* forward reference */
void proto_register_mac_mgmt_msg_sbc ( void ) ;
void dissect_mac_mgmt_msg_sbc_req_decoder ( tvbuff_t * tvb , packet_info * pinfo , proto_tree * tree ) ;
void dissect_mac_mgmt_msg_sbc_rsp_decoder ( tvbuff_t * tvb , packet_info * pinfo , proto_tree * tree ) ;
static gint proto_mac_mgmt_msg_sbc_decoder = - 1 ;
static gint ett_mac_mgmt_msg_sbc_decoder = - 1 ;
static gint ett_sbc_req_tlv_subtree = - 1 ;
static gint ett_sbc_rsp_tlv_subtree = - 1 ;
/* Setup protocol subtree array */
static gint * ett_sbc [ ] =
{
& ett_mac_mgmt_msg_sbc_decoder ,
& ett_sbc_req_tlv_subtree ,
& ett_sbc_rsp_tlv_subtree ,
} ;
/* fix fields */
static gint hf_sbc_req_message_type = - 1 ;
static gint hf_sbc_rsp_message_type = - 1 ;
static gint hf_sbc_unknown_type = - 1 ;
static gint hf_sbc_bw_alloc_support = - 1 ;
static gint hf_sbc_bw_alloc_support_rsvd0 = - 1 ;
static gint hf_sbc_bw_alloc_support_duplex = - 1 ;
static gint hf_sbc_bw_alloc_support_rsvd1 = - 1 ;
static gint hf_sbc_curr_transmit_power = - 1 ;
static gint hf_sbc_transition_gaps = - 1 ;
static gint hf_sbc_ssttg = - 1 ;
static gint hf_sbc_ssrtg = - 1 ;
static gint hf_sbc_mac_pdu = - 1 ;
static gint hf_sbc_mac_pdu_piggybacked = - 1 ;
static gint hf_sbc_mac_pdu_fsn = - 1 ;
static gint hf_sbc_mac_pdu_rsvd = - 1 ;
static gint hf_sbc_max_transmit_power = - 1 ;
static gint hf_sbc_ss_fft_sizes = - 1 ;
static gint hf_sbc_ss_fft_256 = - 1 ;
static gint hf_sbc_ss_fft_2048 = - 1 ;
static gint hf_sbc_ss_fft_128 = - 1 ;
static gint hf_sbc_ss_fft_512 = - 1 ;
static gint hf_sbc_ss_fft_1024 = - 1 ;
static gint hf_sbc_ss_cinr_measure_capability = - 1 ;
static gint hf_sbc_ss_phy_cinr_measurement_preamble = - 1 ;
static gint hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers = - 1 ;
static gint hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers = - 1 ;
static gint hf_sbc_ss_effective_cinr_measurement_preamble = - 1 ;
static gint hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers = - 1 ;
static gint hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers = - 1 ;
static gint hf_sbc_ss_support_2_concurrent_cqi_channels = - 1 ;
static gint hf_sbc_ss_frequency_selectivity_characterization_report = - 1 ;
static gint hf_sbc_ss_fft_rsvd1 = - 1 ;
static gint hf_sbc_ss_fft_rsvd2 = - 1 ;
static gint hf_sbc_ss_demodulator = - 1 ;
static gint hf_sbc_ss_demodulator_64qam = - 1 ;
static gint hf_sbc_ss_demodulator_btc = - 1 ;
static gint hf_sbc_ss_demodulator_ctc = - 1 ;
static gint hf_sbc_ss_demodulator_stc = - 1 ;
static gint hf_sbc_ss_demodulator_cc_with_optional_interleaver = - 1 ;
static gint hf_sbc_ss_demodulator_harq_chase = - 1 ;
static gint hf_sbc_ss_demodulator_harq_ctc_ir = - 1 ;
static gint hf_sbc_ss_demodulator_reserved = - 1 ;
static gint hf_sbc_ss_demodulator_reserved1 = - 1 ;
static gint hf_sbc_ss_demodulator_64qam_2 = - 1 ;
static gint hf_sbc_ss_demodulator_btc_2 = - 1 ;
static gint hf_sbc_ss_demodulator_ctc_2 = - 1 ;
static gint hf_sbc_ss_demodulator_stc_2 = - 1 ;
static gint hf_sbc_ss_demodulator_cc_with_optional_interleaver_2 = - 1 ;
static gint hf_sbc_ss_demodulator_harq_chase_2 = - 1 ;
static gint hf_sbc_ss_demodulator_harq_ctc_ir_2 = - 1 ;
static gint hf_sbc_ss_demodulator_reserved_2 = - 1 ;
static gint hf_sbc_ss_demodulator_harq_cc_ir_2 = - 1 ;
static gint hf_sbc_ss_demodulator_ldpc_2 = - 1 ;
static gint hf_sbc_ss_demodulator_dedicated_pilots_2 = - 1 ;
static gint hf_sbc_ss_demodulator_reserved1_2 = - 1 ;
static gint hf_sbc_ss_modulator = - 1 ;
static gint hf_sbc_ss_modulator_64qam = - 1 ;
static gint hf_sbc_ss_modulator_btc = - 1 ;
static gint hf_sbc_ss_modulator_ctc = - 1 ;
static gint hf_sbc_ss_modulator_stc = - 1 ;
static gint hf_sbc_ss_modulator_harq_chase = - 1 ;
static gint hf_sbc_ss_modulator_ctc_ir = - 1 ;
static gint hf_sbc_ss_modulator_cc_ir = - 1 ;
static gint hf_sbc_ss_modulator_ldpc = - 1 ;
static gint hf_sbc_number_ul_arq_ack_channel = - 1 ;
static gint hf_sbc_number_dl_arq_ack_channel = - 1 ;
static gint hf_sbc_ss_permutation_support = - 1 ;
static gint hf_sbc_ss_optimal_pusc = - 1 ;
static gint hf_sbc_ss_optimal_fusc = - 1 ;
static gint hf_sbc_ss_amc_1x6 = - 1 ;
static gint hf_sbc_ss_amc_2x3 = - 1 ;
static gint hf_sbc_ss_amc_3x2 = - 1 ;
static gint hf_sbc_ss_amc_with_harq_map = - 1 ;
static gint hf_sbc_ss_tusc1_support = - 1 ;
static gint hf_sbc_ss_tusc2_support = - 1 ;
static gint hf_sbc_ss_ofdma_aas_private = - 1 ;
static gint hf_sbc_ofdma_aas_harq_map_capability = - 1 ;
static gint hf_sbc_ofdma_aas_private_map_support = - 1 ;
static gint hf_sbc_ofdma_aas_reduced_private_map_support = - 1 ;
static gint hf_sbc_ofdma_aas_private_chain_enable = - 1 ;
static gint hf_sbc_ofdma_aas_private_map_dl_frame_offset = - 1 ;
static gint hf_sbc_ofdma_aas_private_ul_frame_offset = - 1 ;
static gint hf_sbc_ofdma_aas_private_map_concurrency = - 1 ;
static gint hf_sbc_ofdma_aas_capabilities = - 1 ;
static gint hf_sbc_ss_ofdma_aas_zone = - 1 ;
static gint hf_sbc_ss_ofdma_aas_diversity_map_scan = - 1 ;
static gint hf_sbc_ss_ofdma_aas_fbck_rsp_support = - 1 ;
static gint hf_sbc_ss_ofdma_downlink_aas_preamble = - 1 ;
static gint hf_sbc_ss_ofdma_uplink_aas_preamble = - 1 ;
static gint hf_sbc_ss_ofdma_aas_capabilities_rsvd = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_bit0 = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_bit1 = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_bit2 = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_bit3 = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_bit4 = - 1 ;
static gint hf_sbc_tlv_t_167_association_type_support_reserved = - 1 ;
static gint hf_sbc_ofdma_ss_uplink_power_control_support = - 1 ;
static gint hf_sbc_ofdma_ss_uplink_power_control_support_open_loop = - 1 ;
static gint hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble = - 1 ;
static gint hf_sbc_ofdma_ss_uplink_power_control_support_rsvd = - 1 ;
static gint hf_sbc_ofdm_ss_minimum_num_of_frames = - 1 ;
static gint hf_sbc_tlv_t_27_extension_capability = - 1 ;
static gint hf_sbc_tlv_t_27_extension_capability_bit0 = - 1 ;
static gint hf_sbc_tlv_t_27_extension_capability_reserved = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0 = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1 = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2 = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3 = - 1 ;
static gint hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved = - 1 ;
static gint hf_sbc_tlv_t_171_minimum_num_of_frames = - 1 ;
static gint hf_sbc_tlv_t_172_harq_map_capability = - 1 ;
static gint hf_sbc_tlv_t_172_extended_harq_ie_capability = - 1 ;
static gint hf_sbc_tlv_t_172_sub_map_capability_first_zone = - 1 ;
static gint hf_sbc_tlv_t_172_sub_map_capability_other_zones = - 1 ;
static gint hf_sbc_tlv_t_172_dl_region_definition_support = - 1 ;
static gint hf_sbc_tlv_t_172_reserved = - 1 ;
static gint hf_sbc_tlv_t_172 = - 1 ;
static gint hf_sbc_tlv_t_173_ul_ctl_channel_support = - 1 ;
static gint hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback = - 1 ;
static gint hf_sbc_tlv_t_173_enhanced_fast_feedback = - 1 ;
static gint hf_sbc_tlv_t_173_ul_ack = - 1 ;
static gint hf_sbc_tlv_t_173_reserved = - 1 ;
static gint hf_sbc_tlv_t_173_uep_fast_feedback = - 1 ;
static gint hf_sbc_tlv_t_173_measurement_report = - 1 ;
static gint hf_sbc_tlv_t_173_primary_secondary_fast_feedback = - 1 ;
static gint hf_sbc_tlv_t_173_diuc_cqi_fast_feedback = - 1 ;
static gint hf_sbc_tlv_t_174_ofdma_ms_csit_capability = - 1 ;
static gint hf_sbc_tlv_t_174_csit_compatibility_type_a = - 1 ;
static gint hf_sbc_tlv_t_174_csit_compatibility_type_b = - 1 ;
static gint hf_sbc_tlv_t_174_power_assignment_capability = - 1 ;
static gint hf_sbc_tlv_t_174_sounding_rsp_time_capability = - 1 ;
static gint hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions = - 1 ;
static gint hf_sbc_tlv_t_174_ss_csit_type_a_support = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b = - 1 ;
static gint hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved = - 1 ;
static gint hf_sbc_tlv_t_174_ss_csit_reserved = - 1 ;
static gint hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq = - 1 ;
static gint hf_sbc_tlv_t_175_max_num_ul_harq_bst = - 1 ;
static gint hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst = - 1 ;
static gint hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm = - 1 ;
static gint hf_sbc_tlv_t_176 = - 1 ;
static gint hf_sbc_tlv_t_176_bit0 = - 1 ;
static gint hf_sbc_tlv_t_176_bit1 = - 1 ;
static gint hf_sbc_tlv_t_176_bit2 = - 1 ;
static gint hf_sbc_tlv_t_176_bit2_cor2 = - 1 ;
static gint hf_sbc_tlv_t_176_bit3 = - 1 ;
static gint hf_sbc_tlv_t_176_bit4 = - 1 ;
static gint hf_sbc_tlv_t_176_bit5 = - 1 ;
static gint hf_sbc_tlv_t_176_bit6 = - 1 ;
static gint hf_sbc_tlv_t_176_bit7 = - 1 ;
static gint hf_sbc_tlv_t_176_bit8 = - 1 ;
static gint hf_sbc_tlv_t_176_bit9 = - 1 ;
static gint hf_sbc_tlv_t_176_bit10 = - 1 ;
static gint hf_sbc_tlv_t_176_bit11 = - 1 ;
static gint hf_sbc_tlv_t_176_bit12 = - 1 ;
static gint hf_sbc_tlv_t_176_bit13 = - 1 ;
static gint hf_sbc_tlv_t_176_bit14 = - 1 ;
static gint hf_sbc_tlv_t_176_bit15 = - 1 ;
static gint hf_sbc_tlv_t_176_bit16 = - 1 ;
static gint hf_sbc_tlv_t_176_bit17 = - 1 ;
static gint hf_sbc_tlv_t_176_bit18 = - 1 ;
static gint hf_sbc_tlv_t_176_bit19 = - 1 ;
static gint hf_sbc_tlv_t_176_reserved = - 1 ;
static gint hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support = - 1 ;
static gint hf_sbc_tlv_t_177_stc_matrix_a = - 1 ;
static gint hf_sbc_tlv_t_177_stc_matrix_b_vertical = - 1 ;
static gint hf_sbc_tlv_t_177_stc_matrix_b_horizontal = - 1 ;
static gint hf_sbc_tlv_t_177_two_transmit_antennas = - 1 ;
static gint hf_sbc_tlv_t_177_capable_of_transmit_diversity = - 1 ;
static gint hf_sbc_tlv_t_177_capable_of_spacial_multiplexing = - 1 ;
static gint hf_sbc_tlv_t_177_beamforming = - 1 ;
static gint hf_sbc_tlv_t_177_adaptive_rate_ctl = - 1 ;
static gint hf_sbc_tlv_t_177_single_antenna = - 1 ;
static gint hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna = - 1 ;
static gint hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas = - 1 ;
static gint hf_sbc_tlv_t_177_capable_of_two_antenna = - 1 ;
static gint hf_sbc_tlv_t_177_rsvd = - 1 ;
static gint hf_sbc_tlv_t_178_sdma_pilot_capability = - 1 ;
static gint hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone = - 1 ;
static gint hf_sbc_tlv_t_178_reserved = - 1 ;
static gint hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support = - 1 ;
static gint hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec = - 1 ;
static gint hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec = - 1 ;
static gint hf_sbc_tlv_t_179_reserved = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1 = - 1 ;
static gint hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP = - 1 ;
static gint hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2 = - 1 ;
static gint hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability = - 1 ;
static gint hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining = - 1 ;
static gint hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl = - 1 ;
static gint hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1 = - 1 ;
static gint hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining = - 1 ;
static gint hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul = - 1 ;
static gint hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2 = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_support = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal = - 1 ;
static gint hf_sbc_ss_demodulator_mimo_rsvd = - 1 ;
static gint hf_sbc_ss_mimo_uplink_support = - 1 ;
static gint hf_sbc_ss_mimo_uplink_support_2_ann_sttd = - 1 ;
static gint hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical = - 1 ;
static gint hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm = - 1 ;
static gint hf_sbc_ss_mimo_uplink_support_rsvd = - 1 ;
static gint hf_sbc_power_save_class_types_capability = - 1 ;
static gint hf_sbc_power_save_class_types_capability_bit0 = - 1 ;
static gint hf_sbc_power_save_class_types_capability_bit1 = - 1 ;
static gint hf_sbc_power_save_class_types_capability_bit2 = - 1 ;
static gint hf_sbc_power_save_class_types_capability_bits34 = - 1 ;
static gint hf_sbc_power_save_class_types_capability_bits567 = - 1 ;
static gint hf_sbc_pkm_flow_control = - 1 ;
static gint hf_sbc_auth_policy = - 1 ;
static gint hf_sbc_privacy_802_16 = - 1 ;
static gint hf_sbc_privacy_rsvd = - 1 ;
static gint hf_sbc_max_security_associations = - 1 ;
static gint hf_sbc_invalid_tlv = - 1 ;
static const value_string vals_sbc_bw_alloc_support_duplex [ ] =
{
{ 0 , " Half-Duplex " } ,
{ 1 , " Full-Duplex " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_mac_pdu_fsn [ ] =
{
{ 0 , " Only 11-bit FSN values are supported " } ,
{ 1 , " Only 3-bit FSN values are supported " } ,
{ 0 , NULL }
} ;
static const true_false_string tfs_sbc_mac_pdu_fsn =
{
" Only 3-bit FSN values are supported " ,
" Only 11-bit FSN values are supported "
} ;
/* DCD DIUC messages (table 143) */
static const value_string diuc_msgs [ ] =
{
{ 0 , " Downlink Burst Profile 1 " } ,
{ 1 , " Downlink Burst Profile 2 " } ,
{ 2 , " Downlink Burst Profile 3 " } ,
{ 3 , " Downlink Burst Profile 4 " } ,
{ 4 , " Downlink Burst Profile 5 " } ,
{ 5 , " Downlink Burst Profile 6 " } ,
{ 6 , " Downlink Burst Profile 7 " } ,
{ 7 , " Downlink Burst Profile 8 " } ,
{ 8 , " Downlink Burst Profile 9 " } ,
{ 9 , " Downlink Burst Profile 10 " } ,
{ 10 , " Downlink Burst Profile 11 " } ,
{ 11 , " Downlink Burst Profile 12 " } ,
{ 12 , " Downlink Burst Profile 13 " } ,
{ 13 , " Reserved " } ,
{ 14 , " Gap " } ,
{ 15 , " End of DL-MAP " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_type [ ] =
{
{ 0 , " CINR metric " } ,
{ 1 , " RSSI metric " } ,
{ 2 , " RTD metric " } ,
{ 3 , " Reserved " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_function [ ] =
{
{ 0 , " Reserved " } ,
{ 1 , " Metric of neighbor BS is greater than absolute value " } ,
{ 2 , " Metric of neighbor BS is less than absolute value " } ,
{ 3 , " Metric of neighbor BS is greater than serving BS metric by relative value " } ,
{ 4 , " Metric of neighbor BS is less than serving BS metric by relative value " } ,
{ 5 , " Metric of serving BS greater than absolute value " } ,
{ 6 , " Metric of serving BS less than absolute value " } ,
{ 7 , " Reserved " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_action [ ] =
{
{ 0 , " Reserved " } ,
{ 1 , " Respond on trigger with MOB_SCN-REP after the end of each scanning interval " } ,
{ 2 , " Respond on trigger with MOB_MSH-REQ " } ,
{ 3 , " On trigger, MS starts neighbor BS scanning process by sending MOB_SCN-REQ " } ,
{ 4 , " Reserved " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_power_adjustmnt [ ] =
{
{ 0 , " Preserve Peak Power " } ,
{ 1 , " Preserve Mean Power " } ,
{ 0 , NULL }
} ;
static const true_false_string tfs_sbc_power_adjustment =
{
" Preserve Mean Power " ,
" Preserve Peak Power "
} ;
static const value_string vals_reg_rsp_status [ ] =
{
{ 0 , " OK " } ,
{ 1 , " Message authentication failure " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_burst_tcs [ ] =
{
{ 0 , " TCS disabled " } ,
{ 1 , " TCS enabled " } ,
{ 0 , NULL }
} ;
static const true_false_string tfs_sbc_burst_tcs =
{
" TCS enabled " ,
" TCS disabled "
} ;
static const value_string vals_sbc_frame_duration [ ] =
{
{ 0 , " 2.5 " } ,
{ 1 , " 4 " } ,
{ 2 , " 5 " } ,
{ 3 , " 8 " } ,
{ 4 , " 10 " } ,
{ 5 , " 12.5 " } ,
{ 6 , " 20 " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_mac_version [ ] =
{
{ 1 , " Conformance with IEEE Std 802.16-2001 " } ,
{ 2 , " Conformance with IEEE Std 802.16c-2002 and its predecessors " } ,
{ 3 , " Conformance with IEEE Std 802.16a-2003 and its predecessors " } ,
{ 4 , " Conformance with IEEE Std 802.16-2004 " } ,
{ 5 , " Conformance with IEEE Std 802.16-2004 and IEEE Std 802.16e-2005 " } ,
{ 6 , " reserved " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_burst_fec [ ] =
{
{ 0 , " QPSK (CC) 1/2 " } ,
{ 1 , " QPSK (CC) 3/4 " } ,
{ 2 , " 16-QAM (CC) 1/2 " } ,
{ 3 , " 16-QAM (CC) 3/4 " } ,
{ 4 , " 64-QAM (CC) 1/2 " } ,
{ 5 , " 64-QAM (CC) 2/3 " } ,
{ 6 , " 64-QAM (CC) 3/4 " } ,
{ 7 , " QPSK (BTC) 1/2 " } ,
{ 8 , " QPSK (BTC) 3/4 or 2/3 " } ,
{ 9 , " 16-QAM (BTC) 3/5 " } ,
{ 10 , " 16-QAM (BTC) 4/5 " } ,
{ 11 , " 64-QAM (BTC) 2/3 or 5/8 " } ,
{ 12 , " 64-QAM (BTC) 5/6 or 4/5 " } ,
{ 13 , " QPSK (CTC) 1/2 " } ,
{ 14 , " Reserved " } ,
{ 15 , " QPSK (CTC) 3/4 " } ,
{ 16 , " 16-QAM (CTC) 1/2 " } ,
{ 17 , " 16-QAM (CTC) 3/4 " } ,
{ 18 , " 64-QAM (CTC) 1/2 " } ,
{ 19 , " 64-QAM (CTC) 2/3 " } ,
{ 20 , " 64-QAM (CTC) 3/4 " } ,
{ 21 , " 64-QAM (CTC) 5/6 " } ,
{ 22 , " QPSK (ZT CC) 1/2 " } ,
{ 23 , " QPSK (ZT CC) 3/4 " } ,
{ 24 , " 16-QAM (ZT CC) 1/2 " } ,
{ 25 , " 16-QAM (ZT CC) 3/4 " } ,
{ 26 , " 64-QAM (ZT CC) 1/2 " } ,
{ 27 , " 64-QAM (ZT CC) 2/3 " } ,
{ 28 , " 64-QAM (ZT CC) 3/4 " } ,
{ 29 , " QPSK (LDPC) 1/2 " } ,
{ 30 , " QPSK (LDPC) 2/3 A code " } ,
{ 31 , " 16-QAM (LDPC) 3/4 A code " } ,
{ 32 , " 16-QAM (LDPC) 1/2 " } ,
{ 33 , " 16-QAM (LDPC) 2/3 A code " } ,
{ 34 , " 16-QAM (LDPC) 3/4 A code " } ,
{ 35 , " 64-QAM (LDPC) 1/2 " } ,
{ 36 , " 64-QAM (LDPC) 2/3 A code " } ,
{ 37 , " 64-QAM (LDPC) 3/4 A code " } ,
{ 38 , " QPSK (LDPC) 2/3 B code " } ,
{ 39 , " QPSK (LDPC) 3/4 B code " } ,
{ 40 , " 16-QAM (LDPC) 2/3 B code " } ,
{ 41 , " 16-QAM (LDPC) 3/4 B code " } ,
{ 42 , " 64-QAM (LDPC) 2/3 B code " } ,
{ 43 , " 64-QAM (LDPC) 3/4 B code " } ,
{ 44 , " QPSK (CC with optional interleaver) 1/2 " } ,
{ 45 , " QPSK (CC with optional interleaver) 3/4 " } ,
{ 46 , " 16-QAM (CC with optional interleaver) 1/2 " } ,
{ 47 , " 16-QAM (CC optional interleaver) 0%00 " } ,
{ 48 , " 64-QAM (CC with optional interleaver) 2/3 " } ,
{ 49 , " 64-QAM (CC with optional interleaver) 3/4 " } ,
{ 50 , " QPSK (LDPC) 5/6 " } ,
{ 51 , " 16-QAM (LDPC) 5/6 " } ,
{ 52 , " 64-QAM (LDPC) 5/6 " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_permutation_type [ ] =
{
{ 0 , " PUSC " } ,
{ 1 , " FUSC " } ,
{ 2 , " optional FUSC " } ,
{ 3 , " AMC " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_harq_parameters_set [ ] =
{
{ 0 , " HARQ set 1 " } ,
{ 1 , " HARQ set 2 " } ,
{ 2 , " HARQ set 3 " } ,
{ 3 , " HARQ set 4 " } ,
{ 4 , " HARQ set 5 " } ,
{ 5 , " Reserved " } ,
{ 0 , NULL }
} ;
static const true_false_string tfs_supported =
{
" supported " ,
" not supported "
} ;
static const value_string vals_yes_no_str [ ] =
{
{ 0 , " No " } ,
{ 1 , " Yes " } ,
{ 0 , NULL }
} ;
static const value_string vals_sounding_rsp_time_cap_codings [ ] =
{
{ 0 , " 0.5ms " } ,
{ 1 , " 0.75ms " } ,
{ 2 , " 1ms " } ,
{ 3 , " 1.25ms " } ,
{ 4 , " 1.5ms " } ,
{ 5 , " min(2, Next Frame) " } ,
{ 6 , " min(5, Next Frame) " } ,
{ 7 , " Next Frame " } ,
{ 0 , NULL }
} ;
static const value_string vals_sbc_sdma_str [ ] =
{
{ 0 , " no support " } ,
{ 1 , " support SDMA pilot patterns #A and #B " } ,
{ 2 , " support all SDMA pilot patterns " } ,
{ 3 , " reserved " } ,
{ 0 , NULL }
} ;
/* SBC display */
static hf_register_info hf_sbc [ ] =
{
{ /* 11.8.8 */
& hf_sbc_tlv_t_167_association_type_support ,
2007-11-28 22:56:27 +00:00
{
" Association Type Support " , " wmx.sbc.association_type_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_bit0 ,
2007-11-28 22:56:27 +00:00
{
" Scanning Without Association: association not supported " , " wmx.sbc.association_type_support.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_bit1 ,
2007-11-28 22:56:27 +00:00
{
" Association Level 0: scanning or association without coordination " , " wmx.sbc.association_type_support.bit1 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_bit2 ,
2007-11-28 22:56:27 +00:00
{
" Association Level 1: association with coordination " , " wmx.sbc.association_type_support.bit2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_bit3 ,
2007-11-28 22:56:27 +00:00
{
" Association Level 2: network assisted association " , " wmx.sbc.association_type_support.bit3 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_bit4 ,
2007-11-28 22:56:27 +00:00
{
" Desired Association Support " , " wmx.sbc.association_type_support.bit4 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_167_association_type_support_reserved ,
2007-11-28 22:56:27 +00:00
{
" Reserved " , " wmx.sbc.association_type_support.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xE0 , " " , HFILL
}
} ,
{ /* 11.7.8.7 */
& hf_sbc_auth_policy ,
{
2007-11-28 22:56:27 +00:00
" Authorization Policy Support " , " wmx.sbc.auth_policy " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_privacy_802_16 ,
{
2007-11-28 22:56:27 +00:00
" IEEE 802.16 Privacy " , " wmx.sbc.auth_policy.802_16 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_privacy_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.auth_policy.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFE , " " , HFILL
}
} ,
{ /* 11.8.1 */
& hf_sbc_bw_alloc_support ,
{
2007-11-28 22:56:27 +00:00
" Bandwidth Allocation Support " , " wmx.sbc.bw_alloc_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x00 , " " , HFILL
}
} ,
{
& hf_sbc_bw_alloc_support_duplex ,
{
2007-11-28 22:56:27 +00:00
" Duplex " , " wmx.sbc.bw_alloc_support.duplex " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_sbc_bw_alloc_support_duplex ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_bw_alloc_support_rsvd0 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.bw_alloc_support.rsvd0 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_bw_alloc_support_rsvd1 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.bw_alloc_support.rsvd1 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFC , " " , HFILL
}
} ,
{
& hf_sbc_curr_transmit_power ,
{
2007-11-28 22:56:27 +00:00
" Current transmitted power " , " wmx.sbc.curr_transmit_power " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x00 , " " , HFILL
}
} ,
{
& hf_sbc_ss_effective_cinr_measurement_preamble ,
{
2007-11-28 22:56:27 +00:00
" Effective CINR Measurement For A Permutation Zone From Preamble " , " wmx.sbc.effective_cinr_measure_permutation_zone_preamble " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers ,
{
2007-11-28 22:56:27 +00:00
" Effective CINR Measurement For A Permutation Zone From Pilot Subcarriers " , " wmx.sbc.effective_cinr_measure_permutation_zone.pilot_subcarriers " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers ,
{
2007-11-28 22:56:27 +00:00
" Effective CINR Measurement For A Permutation Zone From Data Subcarriers " , " wmx.sbc.effective_cinr_measure_permutation_zone.data_subcarriers " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{ /* 11.8.6 */
& hf_sbc_tlv_t_27_extension_capability ,
2007-11-28 22:56:27 +00:00
{
" Extension Capability " , " wmx.sbc.extension_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_27_extension_capability_bit0 ,
2007-11-28 22:56:27 +00:00
{
" Supported Extended Subheader Format " , " wmx.sbc.extension_capability.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_27_extension_capability_reserved ,
2007-11-28 22:56:27 +00:00
{
" Reserved " , " wmx.sbc.extension_capability.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFE , " " , HFILL
}
} ,
{
& hf_sbc_ss_frequency_selectivity_characterization_report ,
{
2007-11-28 22:56:27 +00:00
" Frequency Selectivity Characterization Report " , " wmx.sbc.frequency_selectivity_characterization_report " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
} ,
{ /* 11.8.3.7.19.2 */
& hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability ,
{
2007-11-28 22:56:27 +00:00
" HARQ Chase Combining And CC-IR Buffer Capability " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl ,
{
2007-11-28 22:56:27 +00:00
" Aggregation Flag For DL " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.aggregation_flag_dl " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul ,
{
2007-11-28 22:56:27 +00:00
" Aggregation Flag for UL " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.aggregation_flag_ul " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x4000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining ,
{
2007-11-28 22:56:27 +00:00
" Downlink HARQ Buffering Capability For Chase Combining (K) " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.dl_harq_buffering_capability_for_chase_combining " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x3F , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.reserved1 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.reserved2 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x8000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining ,
{
2007-11-28 22:56:27 +00:00
" Uplink HARQ buffering capability for chase combining (K) " , " wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.ul_harq_buffering_capability_for_chase_combining " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x3F00 , " " , HFILL
}
} ,
{ /* 11.8.3.7.19.1 */
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability ,
{
2007-11-28 22:56:27 +00:00
" HARQ Incremental Buffer Capability " , " wmx.sbc.harq_incremental_redundancy_buffer_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl ,
{
2007-11-28 22:56:27 +00:00
" Aggregation Flag for DL " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.aggregation_flag_for_dl " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul ,
{
2007-11-28 22:56:27 +00:00
" Aggregation Flag For UL " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.aggregation_flag_for_ul " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x1000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP ,
{
2007-11-28 22:56:27 +00:00
" NEP Value Indicating Downlink HARQ Buffering Capability For Incremental Redundancy CTC " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.dl_incremental_redundancy_ctc " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xF , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xE0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.reserved2 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xE000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP ,
{
2007-11-28 22:56:27 +00:00
" NEP Value Indicating Uplink HARQ Buffering Capability For Incremental Redundancy CTC " , " wmx.sbc.harq_incremental_redundancy_buffer_capability.ul_incremental_redundancy_ctc " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xF00 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_harq_map_capability ,
{
2007-11-28 22:56:27 +00:00
" H-ARQ MAP Capability " , " wmx.sbc.harq_map_capability " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{ /* 11.8.7 */
& hf_sbc_tlv_t_28_ho_trigger_metric_support ,
2007-11-28 22:56:27 +00:00
{
" HO Trigger Metric Support " , " wmx.sbc.ho_trigger_metric_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0 ,
2007-11-28 22:56:27 +00:00
{
" BS CINR Mean " , " wmx.sbc.ho_trigger_metric_support.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1 ,
2007-11-28 22:56:27 +00:00
{
" BS RSSI Mean " , " wmx.sbc.ho_trigger_metric_support.bit1 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2 ,
2007-11-28 22:56:27 +00:00
{
" BS Relative Delay " , " wmx.sbc.ho_trigger_metric_support.bit2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3 ,
2007-11-28 22:56:27 +00:00
{
" BS RTD " , " wmx.sbc.ho_trigger_metric_support.bit3 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved ,
2007-11-28 22:56:27 +00:00
{
" Reserved " , " wmx.sbc.ho_trigger_metric_support.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xF0 , " " , HFILL
}
} ,
{
& hf_sbc_invalid_tlv ,
{
2007-11-28 22:56:27 +00:00
" Invalid TLV " , " wmx.sbc.invalid_tlv " ,
2007-05-25 23:40:42 +00:00
FT_BYTES , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.2 */
& hf_sbc_mac_pdu ,
{
2007-11-28 22:56:27 +00:00
" Capabilities For Construction And Transmission Of MAC PDUs " , " wmx.sbc.mac_pdu " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_mac_pdu_piggybacked ,
{
2007-11-28 22:56:27 +00:00
" Ability To Receive Requests Piggybacked With Data " , " wmx.sbc.mac_pdu.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_mac_pdu_fsn ,
{
2007-11-28 22:56:27 +00:00
" Ability To Use 3-bit FSN Values Used When Forming MAC PDUs On Non-ARQ Connections " , " wmx.sbc.mac_pdu.bit1 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{ /* 11.8.3.7.15 */
& hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq ,
{
2007-11-28 22:56:27 +00:00
" Maximum Number Of Burst Per Frame Capability In HARQ " , " wmx.sbc.max_num_bst_per_frm_capability_harq " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm ,
{
2007-11-28 22:56:27 +00:00
" Maximum Numbers Of DL HARQ Bursts Per HARQ Enabled Of MS Per Frame (default(0)=1) " , " wmx.sbc.max_num_bst_per_frm_capability_harq.max_num_dl_harq_bst_per_harq_per_frm " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0xF0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_175_max_num_ul_harq_bst ,
{
2007-11-28 22:56:27 +00:00
" Maximum Number Of UL HARQ Burst Per HARQ Enabled MS Per Frame (default(0)=1) " , " wmx.sbc.max_num_bst_per_frm_capability_harq.max_num_ul_harq_bst " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x7 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst ,
{
2007-11-28 22:56:27 +00:00
" Whether The Maximum Number Of UL HARQ Bursts Per Frame (i.e. Bits# 2-0) Includes The One Non-HARQ Burst " , " wmx.sbc.max_num_bst_per_frm_capability_harq.max_num_ul_harq_per_frm_include_one_non_harq_bst " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_yes_no_str ) , 0x8 , " " , HFILL
}
} ,
{ /* 11.7.8.8 */
& hf_sbc_max_security_associations ,
{
2007-11-28 22:56:27 +00:00
" Maximum Number Of Security Association Supported By The SS " , " wmx.sbc.max_security_associations " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.3.7.2 - type 161 */
& hf_sbc_number_dl_arq_ack_channel ,
2007-11-28 22:56:27 +00:00
{
" The Number Of DL HARQ ACK Channel " , " wmx.sbc.number_dl_arq_ack_channel " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.3.7.3 - type 153 */
& hf_sbc_number_ul_arq_ack_channel ,
2007-11-28 22:56:27 +00:00
{
" The Number Of UL HARQ ACK Channel " , " wmx.sbc.number_ul_arq_ack_channel " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.3.7.8 */
& hf_sbc_ofdma_aas_capabilities ,
{
2007-11-28 22:56:27 +00:00
" OFDMA AAS Capability " , " wmx.sbc.ofdma_aas_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_aas_capabilities_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_aas_capabilities.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xFFE0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_aas_diversity_map_scan ,
{
2007-11-28 22:56:27 +00:00
" AAS Diversity Map Scan (AAS DLFP) " , " wmx.sbc.ofdma_aas_diversity_map_scan " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_aas_fbck_rsp_support ,
{
2007-11-28 22:56:27 +00:00
" AAS-FBCK-RSP Support " , " wmx.sbc.ofdma_aas_fbck_rsp_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_aas_zone ,
{
2007-11-28 22:56:27 +00:00
" AAS Zone " , " wmx.sbc.ofdma_aas_zone " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_downlink_aas_preamble ,
{
2007-11-28 22:56:27 +00:00
" Downlink AAS Preamble " , " wmx.sbc.ofdma_downlink_aas_preamble " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{ /* 11.8.3.7.5 - 3 bytes */
& hf_sbc_tlv_t_176 ,
{
2007-11-28 22:56:27 +00:00
" OFDMA MS Demodulator For MIMO Support In DL " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit0 ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC Matrix A " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit1 ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC Matrix B, vertical coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit1 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit2 ,
{
2007-11-28 22:56:27 +00:00
" Four Receive Antennas " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit2_cor2 ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC matrix B, horizontal coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit3 ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix A " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit3 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit4 ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix B, vertical coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit4 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit5 ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix B, horizontal coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit5 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit6 ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix C, vertical coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit6 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit7 ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix C, horizontal coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit7 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
2007-11-28 22:56:27 +00:00
} ,
2007-05-25 23:40:42 +00:00
{
& hf_sbc_tlv_t_176_bit8 ,
{
2007-11-28 22:56:27 +00:00
" 3-antenna STC Matrix A " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit8 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x100 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit9 ,
{
2007-11-28 22:56:27 +00:00
" 3-antenna STC Matrix B " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit9 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x200 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit10 ,
{
2007-11-28 22:56:27 +00:00
" 3-antenna STC Matrix C, vertical coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit10 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x400 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit11 ,
{
2007-11-28 22:56:27 +00:00
" 3-antenna STC Matrix C, horizontal coding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit11 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x800 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit12 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Calculating Precoding Weight " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit12 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x1000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit13 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Adaptive Rate Control " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit13 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x2000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit14 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Calculating Channel Matrix " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit14 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x4000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit15 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Antenna Grouping " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit15 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x8000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit16 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Antenna Selection " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit16 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x10000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit17 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Codebook Based Precoding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit17 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x20000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit18 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Long-term Precoding " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit18 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x40000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_bit19 ,
{
2007-11-28 22:56:27 +00:00
" Capable Of MIMO Midamble " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit19 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 24 , TFS ( & tfs_supported ) , 0x80000 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_176_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT24 , BASE_HEX , NULL , 0xF00000 , " " , HFILL
}
} ,
{ /* 11.8.3.7.18 */
& hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support ,
{
2007-11-28 22:56:27 +00:00
" OFDMA Multiple Downlink Burst Profile Capability " , " wmx.sbc.ofdma_multiple_dl_burst_profile_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec ,
{
2007-11-28 22:56:27 +00:00
" Downlink burst profile for multiple FEC types " , " wmx.sbc.ofdma_multiple_dl_burst_profile_support.dl_bst_profile_for_multiple_fec " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_179_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_multiple_dl_burst_profile_support.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFC , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec ,
{
2007-11-28 22:56:27 +00:00
" Uplink burst profile for multiple FEC types " , " wmx.sbc.ofdma_multiple_dl_burst_profile_support.ul_burst_profile_for_multiple_fec_types " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{ /* 11.8.3.7.9 */
& hf_sbc_ss_cinr_measure_capability ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS CINR Measurement Capability " , " wmx.sbc.ofdma_ss_cinr_measure_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.3.7.6 */
& hf_sbc_ss_mimo_uplink_support ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS MIMO uplink support " , " wmx.sbc.ofdma_ss_mimo_uplink_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x00 , " " , HFILL
}
} ,
{
& hf_sbc_ss_mimo_uplink_support_2_ann_sttd ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STTD " , " wmx.sbc.ofdma_ss_mimo_uplink_support.2_antenna_sttd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x01 , " " , HFILL
}
} ,
{
& hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna SM with vertical coding " , " wmx.sbc.ofdma_ss_mimo_uplink_support.2_antenna_sm_with_vertical_coding " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x02 , " " , HFILL
}
} ,
{
& hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm ,
{
2007-11-28 22:56:27 +00:00
" Single-antenna cooperative SM " , " wmx.sbc.ofdma_ss_mimo_uplink_support.single_antenna_coop_sm " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x04 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_uplink_aas_preamble ,
{
2007-11-28 22:56:27 +00:00
" Uplink AAS Preamble " , " wmx.sbc.ofdma_uplink_aas_preamble " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_phy_cinr_measurement_preamble ,
{
2007-11-28 22:56:27 +00:00
" Physical CINR Measurement From The Preamble " , " wmx.sbc.phy_cinr_measure_preamble " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers ,
{
2007-11-28 22:56:27 +00:00
" Physical CINR Measurement For A Permutation Zone From Pilot Subcarriers " , " wmx.sbc.phy_cinr_measure_permutation_zone.pilot_subcarriers " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers ,
{
2007-11-28 22:56:27 +00:00
" Physical CINR Measurement For A Permutation Zone From Data Subcarriers " , " wmx.sbc.phy_cinr_measure_permutation_zone.data_subcarriers " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{ /* 11.7.8.6 */
& hf_sbc_pkm_flow_control ,
{
2007-11-28 22:56:27 +00:00
" PKM Flow Control " , " wmx.sbc.pkm_flow_control " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{ /* 11.8.5 */
& hf_sbc_power_save_class_types_capability ,
{
2007-11-28 22:56:27 +00:00
" Power Save Class Types Capability " , " wmx.sbc.power_save_class_types_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_power_save_class_types_capability_bit0 ,
{
2007-11-28 22:56:27 +00:00
" Power Save Class Type I " , " wmx.sbc.power_save_class_types_capability.bit0 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_power_save_class_types_capability_bit1 ,
{
2007-11-28 22:56:27 +00:00
" Power Save Class Type II " , " wmx.sbc.power_save_class_types_capability.bit1 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_power_save_class_types_capability_bit2 ,
{
2007-11-28 22:56:27 +00:00
" Power Save Class Type III " , " wmx.sbc.power_save_class_types_capability.bit2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_power_save_class_types_capability_bits34 ,
{
2007-11-28 22:56:27 +00:00
" Number Of Power Save Class Type Instances Supported From Class Type I and II " , " wmx.sbc.power_save_class_types_capability.bits34 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x18 , " " , HFILL
}
} ,
{
& hf_sbc_power_save_class_types_capability_bits567 ,
{
2007-11-28 22:56:27 +00:00
" Number Of Power Save Class Type Instances Supported From Class Type III " , " wmx.sbc.power_save_class_types_capability.bits567 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0xE0 , " " , HFILL
}
} ,
{ /* 11.8.3.7.7 */
& hf_sbc_ofdma_aas_private_chain_enable ,
{
2007-11-28 22:56:27 +00:00
" Private Map Chain Enable " , " wmx.sbc.private_chain_enable " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_private_map_concurrency ,
{
2007-11-28 22:56:27 +00:00
" Private Map Chain Concurrency " , " wmx.sbc.private_map_concurrency " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xC0 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_private_map_dl_frame_offset ,
{
2007-11-28 22:56:27 +00:00
" Private Map DL Frame Offset " , " wmx.sbc.private_map_dl_frame_offset " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_private_map_support ,
{
2007-11-28 22:56:27 +00:00
" Private Map Support " , " wmx.sbc.private_map_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_ofdma_aas_private ,
{
2007-11-28 22:56:27 +00:00
" OFDMA AAS Private Map Support " , " wmx.sbc.private_map_support.ofdma_aas " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_reduced_private_map_support ,
{
2007-11-28 22:56:27 +00:00
" Reduced Private Map Support " , " wmx.sbc.private_map_support.reduced " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_aas_private_ul_frame_offset ,
{
2007-11-28 22:56:27 +00:00
" Private Map UL Frame Offset " , " wmx.sbc.private_ul_frame_offset " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_mac_pdu_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.mac_pdu.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFC , " " , HFILL
}
} ,
{ /* 11.8.3.2 */
& hf_sbc_max_transmit_power ,
{
2007-11-28 22:56:27 +00:00
" Maximum Transmit Power " , " wmx.sbc.max_transmit_power " ,
2007-05-25 23:40:42 +00:00
FT_UINT32 , BASE_HEX , NULL , 0x00 , " " , HFILL
}
} ,
{ /* 11.8.3.7.5 - 2 bytes */
& hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC Matrix A " , " wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.a " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC Matrix B, horizontal coding " , " wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.b.horizontal " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical ,
{
2007-11-28 22:56:27 +00:00
" 2-antenna STC Matrix B, vertical coding " , " wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.b.vertical " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix A " , " wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.a " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix B, horizontal coding " , " wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.b.horizontal " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix B, vertical coding " , " wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.b.vertical " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix C, horizontal coding " , " wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.c.horizontal " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical ,
{
2007-11-28 22:56:27 +00:00
" 4-antenna STC Matrix C, vertical coding " , " wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.c.vertical " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_demodulator.mimo.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xFF00 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_mimo_support ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS Demodulator For MIMO Support " , " wmx.sbc.ss_demodulator.mimo.support " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
/*11.8.3.7.11 ??? */
{ /* 11.8.3.7.12 - 170 */
& hf_sbc_ofdma_ss_uplink_power_control_support ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS uplink power control support " , " wmx.sbc.ofdma_ss_uplink_power_control_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_ss_uplink_power_control_support_open_loop ,
{
2007-11-28 22:56:27 +00:00
" Open loop " , " wmx.sbc.ofdma_ss_uplink_power_control_support.open_loop " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x01 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble ,
{
2007-11-28 22:56:27 +00:00
" AAS preamble " , " wmx.sbc.ofdma_ss_uplink_power_control_support.aas_preamble " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x02 , " " , HFILL
}
} ,
{
& hf_sbc_ofdma_ss_uplink_power_control_support_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_ss_uplink_power_control_support.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFC , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_dl_region_definition_support ,
{
2007-11-28 22:56:27 +00:00
" DL Region Definition Support " , " wmx.sbc.ofdma_map_capability.dl_region_definition_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{ /* 11.8.3.7.12 - 172 */
& hf_sbc_tlv_t_172 ,
{
2007-11-28 22:56:27 +00:00
" Support For Extended HARQ " , " wmx.sbc.ofdma_map_capability.extended_harq " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_extended_harq_ie_capability ,
{
2007-11-28 22:56:27 +00:00
" Extended HARQ IE Capability " , " wmx.sbc.ofdma_map_capability.extended_harq_ie_capability " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_harq_map_capability ,
{
2007-11-28 22:56:27 +00:00
" HARQ MAP Capability " , " wmx.sbc.ofdma_map_capability.harq_map_capability " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{ /* 11.8.3.7.12 - 171 */
& hf_sbc_tlv_t_171_minimum_num_of_frames ,
{
2007-11-28 22:56:27 +00:00
" The Minimum Number Of Frames That SS Takes To Switch From The Open Loop Power Control Scheme To The Closed Loop Power Control Scheme Or Vice Versa " , " wmx.sbc.ofdma_ss_uplink_power_control_support.minimum_num_of_frames " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_map_capability.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xE0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_sub_map_capability_first_zone ,
{
2007-11-28 22:56:27 +00:00
" Sub MAP Capability For First Zone " , " wmx.sbc.ofdma_map_capability.sub_map_capability_first_zone " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_172_sub_map_capability_other_zones ,
{
2007-11-28 22:56:27 +00:00
" Sub MAP Capability For Other Zones " , " wmx.sbc.ofdma_map_capability.sub_map_capability_other_zones " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{ /* 11.8.3.7.14 */
& hf_sbc_tlv_t_174_ofdma_ms_csit_capability ,
{
2007-11-28 22:56:27 +00:00
" OFDMA MS CSIT Capability " , " wmx.sbc.ofdma_ms_csit_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_csit_compatibility_type_a ,
{
2007-11-28 22:56:27 +00:00
" CSIT Compatibility Type A " , " wmx.sbc.ofdma_ms_csit_capability.csit_compatibility_type_a " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_csit_compatibility_type_b ,
{
2007-11-28 22:56:27 +00:00
" CSIT Compatibility Type B " , " wmx.sbc.ofdma_ms_csit_capability.csit_compatibility_type_b " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions ,
{
2007-11-28 22:56:27 +00:00
" Max Number Of Simultaneous Sounding Instructions " , " wmx.sbc.ofdma_ms_csit_capability.max_num_simultaneous_sounding_instructions " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_DEC , NULL , 0x03C0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_power_assignment_capability ,
{
2007-11-28 22:56:27 +00:00
" Power Assignment Capability " , " wmx.sbc.ofdma_ms_csit_capability.power_assignment_capability " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_ss_csit_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_ms_csit_capability.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xF800 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_sounding_rsp_time_capability ,
{
2007-11-28 22:56:27 +00:00
" Sounding Response Time Capability " , " wmx.sbc.ofdma_ms_csit_capability.sounding_response_time_capability " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , VALS ( vals_sounding_rsp_time_cap_codings ) , 0x0038 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_174_ss_csit_type_a_support ,
{
2007-11-28 22:56:27 +00:00
" SS Does Not Support P Values Of 9 And 18 When Supporting CSIT Type A " , " wmx.sbc.ofdma_ms_csit_capability.type_a_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x0400 , " " , HFILL
}
} ,
{
/* 11.8.3.7.20 */
& hf_sbc_tlv_t_204_ofdma_parameters_sets ,
{
2007-11-28 22:56:27 +00:00
" OFDMA parameters sets " , " wmx.sbc.ofdma_parameters_sets " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a ,
{
2007-11-28 22:56:27 +00:00
" Support OFDMA PHY parameter set A " , " wmx.sbc.ofdma_parameters_sets.phy_set_a " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x01 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b ,
{
2007-11-28 22:56:27 +00:00
" Support OFDMA PHY parameter set B " , " wmx.sbc.ofdma_parameters_sets.phy_set_b " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x02 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set ,
{
2007-11-28 22:56:27 +00:00
" HARQ parameters set " , " wmx.sbc.ofdma_parameters_sets.harq_parameters_set " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , VALS ( vals_sbc_harq_parameters_set ) , 0x1C , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a ,
{
2007-11-28 22:56:27 +00:00
" Support OFDMA MAC parameters set A " , " wmx.sbc.ofdma_parameters_sets.mac_set_a " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b ,
{
2007-11-28 22:56:27 +00:00
" Support OFDMA MAC parameters set B " , " wmx.sbc.ofdma_parameters_sets.mac_set_b " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_parameters_sets.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{ /* 11.8.3.7.16 */
& hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS Modulator For MIMO Support " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_adaptive_rate_ctl ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Adaptive Rate Control " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_adaptive_rate_control " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_beamforming ,
{
2007-11-28 22:56:27 +00:00
" Capable Of Beamforming " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_beamforming " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_single_antenna ,
{
2007-11-28 22:56:27 +00:00
" Capable of single antenna transmission " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_single_antenna " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_stc_matrix_b_horizontal ,
{
2007-11-28 22:56:27 +00:00
" Capable of 2-antenna STC Matrix B, Horizontal coding " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_b_horizontal " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_two_transmit_antennas ,
{
2007-11-28 22:56:27 +00:00
" Two transmit antennas " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.two_transmit_antennas " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_capable_of_transmit_diversity ,
{
2007-11-28 22:56:27 +00:00
" Capable of transmit diversity " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_transmit_diversity " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_capable_of_spacial_multiplexing ,
{
2007-11-28 22:56:27 +00:00
" Capable of spatial multiplexing " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_spatial_multiplexing " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_stc_matrix_b_vertical ,
{
2007-11-28 22:56:27 +00:00
" Capable of 2-antenna STC Matrix B, Vertical coding " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_b_vertical " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna ,
{
2007-11-28 22:56:27 +00:00
" Capable of collaborative SM with one antenna " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.collaborative_sm_with_one_antenna " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas ,
{
2007-11-28 22:56:27 +00:00
" Collaborative SM with two antennas " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.collaborative_sm_with_two_antennas " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_capable_of_two_antenna ,
{
2007-11-28 22:56:27 +00:00
" Capable of two antenna " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_two_antenna " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_177_stc_matrix_a ,
{
2007-11-28 22:56:27 +00:00
" Capable of 2-antenna STC Matrix A " , " wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_a " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{ /* 11.8.3.7.17 */
& hf_sbc_tlv_t_178_sdma_pilot_capability ,
{
2007-11-28 22:56:27 +00:00
" SDMA Pilot Capability " , " wmx.sbc.sdma_pilot_capability " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_178_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.sdma_pilot_capability.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xFC , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone ,
{
2007-11-28 22:56:27 +00:00
" SDMA Pilot Patterns Support For AMC Zone " , " wmx.sbc.sdma_pilot_capability.sdma_pilot_pattern_support_for_amc_zone " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , VALS ( vals_sbc_sdma_str ) , 0x03 , " " , HFILL
}
} ,
{ /* 11.8.3.7.2 - type 151 */
& hf_sbc_ss_demodulator ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS Demodulator " , " wmx.sbc.ss_demodulator " ,
2007-05-25 23:40:42 +00:00
FT_BYTES , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
/* tlv length = 1 byte */
{
& hf_sbc_ss_demodulator_64qam ,
{
2007-11-28 22:56:27 +00:00
" 64-QAM " , " wmx.sbc.ss_demodulator.64qam " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_btc ,
{
2007-11-28 22:56:27 +00:00
" BTC " , " wmx.sbc.ss_demodulator.btc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_cc_with_optional_interleaver ,
{
2007-11-28 22:56:27 +00:00
" CC with Optional Interleaver " , " wmx.sbc.ss_demodulator.cc_with_optional_interleaver " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_ctc ,
{
2007-11-28 22:56:27 +00:00
" CTC " , " wmx.sbc.ss_demodulator.ctc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
/* tlv length = 2 bytes */
{
& hf_sbc_ss_demodulator_64qam_2 ,
{
2007-11-28 22:56:27 +00:00
" 64-QAM " , " wmx.sbc.ss_demodulator.64qam " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_btc_2 ,
{
2007-11-28 22:56:27 +00:00
" BTC " , " wmx.sbc.ss_demodulator.btc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_cc_with_optional_interleaver_2 ,
{
2007-11-28 22:56:27 +00:00
" CC with Optional Interleaver " , " wmx.sbc.ss_demodulator.cc_with_optional_interleaver " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_ctc_2 ,
{
2007-11-28 22:56:27 +00:00
" CTC " , " wmx.sbc.ss_demodulator.ctc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_dedicated_pilots_2 ,
{
2007-11-28 22:56:27 +00:00
" Dedicated Pilots " , " wmx.sbc.ss_demodulator.dedicated_pilots " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x400 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_harq_cc_ir_2 ,
{
2007-11-28 22:56:27 +00:00
" HARQ CC_IR " , " wmx.sbc.ss_demodulator.harq.cc.ir " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x100 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_harq_chase ,
{
2007-11-28 22:56:27 +00:00
" HARQ Chase " , " wmx.sbc.ss_demodulator.harq.chase " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_harq_chase_2 ,
{
2007-11-28 22:56:27 +00:00
" HARQ Chase " , " wmx.sbc.ss_demodulator.harq.chase " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_harq_ctc_ir ,
{
2007-11-28 22:56:27 +00:00
" HARQ CTC_IR " , " wmx.sbc.ss_demodulator.harq.ctc.ir " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_harq_ctc_ir_2 ,
{
2007-11-28 22:56:27 +00:00
" HARQ CTC_IR " , " wmx.sbc.ss_demodulator.harq.ctc.ir " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_ldpc_2 ,
{
2007-11-28 22:56:27 +00:00
" LDPC " , " wmx.sbc.ss_demodulator.ldpc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x200 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_demodulator.reserved1 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_reserved_2 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_demodulator.reserved2 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_reserved1_2 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_demodulator.reserved2 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x800 , " " , HFILL
}
} ,
{ /* if the number of DL H-ARQ channels > 7 but tlv length = 1 */
& hf_sbc_ss_demodulator_reserved1 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_demodulator.reserved1 " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0xFFFF , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_stc ,
{
2007-11-28 22:56:27 +00:00
" STC " , " wmx.sbc.ss_demodulator.stc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ss_demodulator_stc_2 ,
{
2007-11-28 22:56:27 +00:00
" STC " , " wmx.sbc.ss_demodulator.stc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 16 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
/* 11.8.3.4 - 11.8.3.6 are not supported for now */
{ /* 11.8.3.7.1 */
& hf_sbc_ss_fft_sizes ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS FFT Sizes " , " wmx.sbc.ss_fft_sizes " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_128 ,
{
2007-11-28 22:56:27 +00:00
" FFT-128 " , " wmx.sbc.ss_fft_sizes.128 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_256 ,
{
2007-11-28 22:56:27 +00:00
" FFT-256 " , " wmx.sbc.ss_fft_sizes.256 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_512 ,
{
2007-11-28 22:56:27 +00:00
" FFT-512 " , " wmx.sbc.ss_fft_sizes.512 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_1024 ,
{
2007-11-28 22:56:27 +00:00
" FFT-1024 " , " wmx.sbc.ss_fft_sizes.1024 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_2048 ,
{
2007-11-28 22:56:27 +00:00
" FFT-2048 " , " wmx.sbc.ss_fft_sizes.2048 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_rsvd1 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc_ss_fft_sizes_rsvd1 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x01 , " " , HFILL
}
} ,
{
& hf_sbc_ss_fft_rsvd2 ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_fft_sizes.rsvd2 " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xE0 , " " , HFILL
}
} ,
{
& hf_sbc_ofdm_ss_minimum_num_of_frames ,
{
2007-11-28 22:56:27 +00:00
" SS minimum number of frames " , " wmx.sbc.ss_minimum_num_of_frames " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_mimo_uplink_support_rsvd ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ss_mimo_ul_support.rsvd " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0xF8 , " " , HFILL
}
} ,
{ /* 11.8.3.7.3 - type 152 */
& hf_sbc_ss_modulator ,
{
2007-11-28 22:56:27 +00:00
" OFDMA SS Modulator " , " wmx.sbc.ss_modulator " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_64qam ,
{
2007-11-28 22:56:27 +00:00
" 64-QAM " , " wmx.sbc.ss_modulator.64qam " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_btc ,
{
2007-11-28 22:56:27 +00:00
" BTC " , " wmx.sbc.ss_modulator.btc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_cc_ir ,
{
2007-11-28 22:56:27 +00:00
" CC_IR " , " wmx.sbc.ss_modulator.cc_ir " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_ctc ,
{
2007-11-28 22:56:27 +00:00
" CTC " , " wmx.sbc.ss_modulator.ctc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_ctc_ir ,
{
2007-11-28 22:56:27 +00:00
" CTC_IR " , " wmx.sbc.ss_modulator.ctc_ir " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_harq_chase ,
{
2007-11-28 22:56:27 +00:00
" HARQ Chase " , " wmx.sbc.ss_modulator.harq_chase " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_ldpc ,
{
2007-11-28 22:56:27 +00:00
" LDPC " , " wmx.sbc.ss_modulator.ldpc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_ss_modulator_stc ,
{
2007-11-28 22:56:27 +00:00
" STC " , " wmx.sbc.ss_modulator.stc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{ /* 11.8.3.7.4 */
& hf_sbc_ss_permutation_support ,
2007-11-28 22:56:27 +00:00
{
" OFMDA SS Permutation Support " , " wmx.sbc.ss_permutation_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_amc_1x6 ,
2007-11-28 22:56:27 +00:00
{
" AMC 1x6 " , " wmx.sbc.ss_permutation_support.amc_1x6 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_ss_amc_2x3 ,
2007-11-28 22:56:27 +00:00
{
" AMC 2x3 " , " wmx.sbc.ss_permutation_support.amc_2x3 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_ss_amc_3x2 ,
2007-11-28 22:56:27 +00:00
{
" AMC 3x2 " , " wmx.sbc.ss_permutation_support.amc_3x2 " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_ss_amc_with_harq_map ,
2007-11-28 22:56:27 +00:00
{
" AMC Support With H-ARQ Map " , " wmx.sbc.ss_permutation_support.amc_support_harq_map " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_ss_optimal_fusc ,
2007-11-28 22:56:27 +00:00
{
" Optional FUSC " , " wmx.sbc.ss_permutation_support.optimal_fusc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_ss_optimal_pusc ,
2007-11-28 22:56:27 +00:00
{
" Optional PUSC " , " wmx.sbc.ss_permutation_support.optimal_pusc " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_ss_tusc1_support ,
2007-11-28 22:56:27 +00:00
{
" TUSC1 " , " wmx.sbc.ss_permutation_support.tusc1_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_ss_tusc2_support ,
2007-11-28 22:56:27 +00:00
{
" TUSC2 " , " wmx.sbc.ss_permutation_support.tusc2_support " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_ssrtg ,
{
2007-11-28 22:56:27 +00:00
" SSRTG " , " wmx.sbc.ssrtg " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ssttg ,
{
2007-11-28 22:56:27 +00:00
" SSTTG " , " wmx.sbc.ssttg " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_ss_support_2_concurrent_cqi_channels ,
{
2007-11-28 22:56:27 +00:00
" Support for 2 Concurrent CQI Channels " , " wmx.sbc.support_2_concurrent_cqi_channels " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{ /* 11.8.3.1 */
& hf_sbc_transition_gaps ,
{
2007-11-28 22:56:27 +00:00
" Subscriber Transition Gaps " , " wmx.sbc.transition_gaps " ,
2007-05-25 23:40:42 +00:00
FT_UINT16 , BASE_HEX , NULL , 0x00 , " " , HFILL
}
} ,
{ /* 11.8.3.7.13 */
& hf_sbc_tlv_t_173_ul_ctl_channel_support ,
{
2007-11-28 22:56:27 +00:00
" Uplink Control Channel Support " , " wmx.sbc.ul_ctl_channel_support " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback ,
{
2007-11-28 22:56:27 +00:00
" 3-bit MIMO Fast-feedback " , " wmx.sbc.ul_ctl_channel_support.3bit_mimo_fast_feedback " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x1 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_diuc_cqi_fast_feedback ,
{
2007-11-28 22:56:27 +00:00
" DIUC-CQI Fast-feedback " , " wmx.sbc.ul_ctl_channel_support.diuc_cqi_fast_feedback " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x80 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_enhanced_fast_feedback ,
{
2007-11-28 22:56:27 +00:00
" Enhanced Fast_feedback " , " wmx.sbc.ul_ctl_channel_support.enhanced_fast_feedback " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x2 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_measurement_report ,
{
2007-11-28 22:56:27 +00:00
" A Measurement Report Shall Be Performed On The Last DL Burst " , " wmx.sbc.ul_ctl_channel_support.measurement_report " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x20 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_primary_secondary_fast_feedback ,
{
2007-11-28 22:56:27 +00:00
" Primary/Secondary FAST_FEEDBACK " , " wmx.sbc.ul_ctl_channel_support.primary_secondary_fast_feedback " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x40 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_reserved ,
{
2007-11-28 22:56:27 +00:00
" Reserved " , " wmx.sbc.ul_ctl_channel_support.reserved " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_HEX , NULL , 0x8 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_uep_fast_feedback ,
{
2007-11-28 22:56:27 +00:00
" UEP Fast-feedback " , " wmx.sbc.ul_ctl_channel_support.uep_fast_feedback " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x10 , " " , HFILL
}
} ,
{
& hf_sbc_tlv_t_173_ul_ack ,
{
2007-11-28 22:56:27 +00:00
" UL ACK " , " wmx.sbc.ul_ctl_channel_support.ul_ack " ,
2007-05-25 23:40:42 +00:00
FT_BOOLEAN , 8 , TFS ( & tfs_supported ) , 0x4 , " " , HFILL
}
} ,
{
& hf_sbc_req_message_type ,
{
2007-11-28 22:56:27 +00:00
" MAC Management Message Type " , " wmx.macmgtmsgtype.sbc_req " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{ & hf_sbc_rsp_message_type ,
{
2007-11-28 22:56:27 +00:00
" MAC Management Message Type " , " wmx.macmgtmsgtype.sbc_rsp " ,
2007-05-25 23:40:42 +00:00
FT_UINT8 , BASE_DEC , NULL , 0x0 , " " , HFILL
}
} ,
{
& hf_sbc_unknown_type ,
{
2007-11-28 22:56:27 +00:00
" Unknown SBC type " , " wmx.sbc.unknown_tlv_type " ,
2007-05-25 23:40:42 +00:00
FT_BYTES , BASE_HEX , NULL , 0x0 , " " , HFILL
}
}
} ;
/* Register Wimax Mac SBC-REQ/RSP Messages Dissectors */
void proto_register_mac_mgmt_msg_sbc ( void )
{
if ( proto_mac_mgmt_msg_sbc_decoder = = - 1 )
{
proto_mac_mgmt_msg_sbc_decoder = proto_register_protocol (
" WiMax SBC-REQ/RSP Messages " , /* name */
" WiMax SBC-REQ/RSP (sbc) " , /* short name */
2007-11-28 22:56:27 +00:00
" wmx.sbc " /* abbrev */
2007-05-25 23:40:42 +00:00
) ;
proto_register_field_array ( proto_mac_mgmt_msg_sbc_decoder , hf_sbc , array_length ( hf_sbc ) ) ;
proto_register_subtree_array ( ett_sbc , array_length ( ett_sbc ) ) ;
}
}
/* Wimax Mac SBC-REQ Message Dissector */
void dissect_mac_mgmt_msg_sbc_req_decoder ( tvbuff_t * tvb , packet_info * pinfo , proto_tree * tree )
{
guint offset = 0 ;
guint tvb_len , payload_type , value ;
gint tlv_type , tlv_len , tlv_value_offset ;
guint num_dl_harq_chans ;
proto_item * sbc_item = NULL ;
proto_tree * sbc_tree = NULL ;
proto_item * tlv_item = NULL ;
proto_tree * tlv_tree = NULL ;
proto_item * ti = NULL ;
tlv_info_t tlv_info ;
gfloat power_bpsk ;
gfloat power_qpsk ;
gfloat power_qam16 ;
gfloat power_qam64 ;
gfloat current_power ;
/* Ensure the right payload type */
payload_type = tvb_get_guint8 ( tvb , offset ) ;
if ( payload_type ! = MAC_MGMT_MSG_SBC_REQ )
{
return ;
}
if ( tree )
{ /* we are being asked for details */
2007-05-27 18:33:13 +00:00
/* Get the tvb reported length */
tvb_len = tvb_reported_length ( tvb ) ;
2007-05-25 23:40:42 +00:00
/* display MAC payload type SBC-REQ */
sbc_item = proto_tree_add_protocol_format ( tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , tvb_len , " SS Basic Capability Request (SBC-REQ) (%u bytes) " , tvb_len ) ;
/* add MAC SBC subtree */
sbc_tree = proto_item_add_subtree ( sbc_item , ett_mac_mgmt_msg_sbc_decoder ) ;
/* Decode and display the SS Basic Capability Request (SBC-REQ) */
/* display the Message Type */
proto_tree_add_item ( sbc_tree , hf_sbc_req_message_type , tvb , offset , 1 , FALSE ) ;
/* set the offset for the TLV Encoded info */
offset + + ;
/* process the SBC TLVs */
while ( offset < tvb_len )
{
/* get the TLV information */
init_tlv_info ( & tlv_info , tvb , offset ) ;
/* get the TLV type */
tlv_type = get_tlv_type ( & tlv_info ) ;
/* get the TLV length */
tlv_len = get_tlv_length ( & tlv_info ) ;
if ( tlv_type = = - 1 | | tlv_len > MAX_TLV_LEN | | tlv_len < 1 )
{ /* invalid tlv info */
if ( pinfo - > cinfo )
{
col_append_sep_str ( pinfo - > cinfo , COL_INFO , NULL , " SBC-REQ TLV error " ) ;
}
proto_tree_add_item ( sbc_tree , hf_sbc_invalid_tlv , tvb , offset , ( tvb_len - offset ) , FALSE ) ;
break ;
}
if ( tlv_type = = 0 )
{ /* invalid tlv type */
if ( pinfo - > cinfo )
{
col_append_sep_str ( pinfo - > cinfo , COL_INFO , NULL , " Invalid SBC TLV type " ) ;
}
proto_tree_add_item ( sbc_tree , hf_sbc_unknown_type , tvb , offset , 1 , FALSE ) ;
offset + + ;
continue ;
}
/* get the TLV value offset */
tlv_value_offset = get_tlv_value_offset ( & tlv_info ) ;
# ifdef DEBUG /* for debug only */
proto_tree_add_protocol_format ( sbc_tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , ( tlv_len + tlv_value_offset ) , " SBC-REQ Type: %u (%u bytes, offset=%u, tlv_len=%u, tvb_len=%u) " , tlv_type , ( tlv_len + tlv_value_offset ) , offset , tlv_len , tvb_len ) ;
# endif
/* update the offset for the TLV value */
offset + = tlv_value_offset ;
/* process SBC TLV Encoded information */
switch ( tlv_type )
{
case SBC_BW_ALLOC_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_bw_alloc_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_rsvd0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_duplex , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_rsvd1 , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TRANSITION_GAPS :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_transition_gaps , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
ti = proto_tree_add_item ( tlv_tree , hf_sbc_ssttg , tvb , offset , 1 , FALSE ) ;
proto_item_append_text ( ti , " us (ranges: TDD 0-50; H-FDD 0-100) " ) ;
ti = proto_tree_add_item ( tlv_tree , hf_sbc_ssrtg , tvb , ( offset + 1 ) , 1 , FALSE ) ;
proto_item_append_text ( ti , " us (ranges: TDD 0-50; H-FDD 0-100) " ) ;
break ;
case SBC_MAC_PDU :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_mac_pdu , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_piggybacked , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_fsn , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_REQ_MAX_TRANSMIT_POWER : /* TODO: This TLV comes up as INVALID in wireshark... why? */
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_max_transmit_power , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
power_bpsk = ( gfloat ) ( tvb_get_guint8 ( tvb , offset ) - 128 ) / 2 ;
power_qpsk = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 1 ) ) - 128 ) / 2 ;
power_qam16 = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 2 ) ) - 128 ) / 2 ;
power_qam64 = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 3 ) ) - 128 ) / 2 ;
proto_tree_add_text ( tlv_tree , tvb , offset , 1 , " BPSK: %.2f dBm " , ( gdouble ) power_bpsk ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 1 ) , 1 , " QPSK: %.2f dBm " , ( gdouble ) power_qpsk ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 2 ) , 1 , " QAM16: %.2f dBm " , ( gdouble ) power_qam16 ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 3 ) , 1 , " QAM64: %.2f dBm " , ( gdouble ) power_qam64 ) ;
break ;
case SBC_REQ_CURR_TRANSMITTED_POWER :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_curr_transmit_power , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
value = tvb_get_guint8 ( tvb , offset ) ;
current_power = ( gfloat ) ( value - 128 ) / 2 ;
proto_tree_add_text ( tlv_tree , tvb , offset , 1 , " Current Transmitted Power: %.2f dBm (Value: 0x%x) " , ( gdouble ) current_power , value ) ;
break ;
case SBC_SS_FFT_SIZES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_fft_sizes , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_rsvd1 , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_256 , tvb , offset , 1 , FALSE ) ;
}
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_2048 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_128 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_512 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_1024 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_rsvd2 , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_DEMODULATOR :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_demodulator , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( tlv_len = = 1 ) /* && (num_dl_harq_chans < 8)) */
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_64qam , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_btc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ctc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_stc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_cc_with_optional_interleaver , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_chase , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_ctc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved , tvb , offset , 1 , FALSE ) ;
}
else
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_64qam_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_btc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ctc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_stc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_cc_with_optional_interleaver_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_chase_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_ctc_ir_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved_2 , tvb , offset , 2 , FALSE ) ;
#if 0
if ( tlv_len = = 1 )
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved1 , tvb , offset , 2 , FALSE ) ;
}
else
# endif
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_cc_ir_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ldpc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_dedicated_pilots_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved1_2 , tvb , offset , 2 , FALSE ) ;
}
}
break ;
case SBC_SS_MODULATOR :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_modulator , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_64qam , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_btc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ctc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_stc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_harq_chase , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ctc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_cc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ldpc , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_NUM_UL_ARQ_ACK_CHANNEL :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_number_ul_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_number_ul_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_SS_NUM_DL_ARQ_ACK_CHANNEL :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_number_dl_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
/* get and save the value */
num_dl_harq_chans = tvb_get_guint8 ( tvb , offset ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_number_dl_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_SS_PERMUTATION_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_permutation_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_optimal_pusc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_optimal_fusc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_1x6 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_2x3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_3x2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_with_harq_map , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_tusc1_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_tusc2_support , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_DEMODULATOR_MIMO_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_demodulator_mimo_support , tvb , offset , 2 , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_rsvd , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_SS_MIMO_UPLINK_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_mimo_uplink_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_2_ann_sttd , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_OFDMA_AAS_PRIVATE_MAP_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_ofdma_aas_private , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_harq_map_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_reduced_private_map_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_chain_enable , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_dl_frame_offset , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_ul_frame_offset , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_concurrency , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_OFDMA_AAS_CAPABILITIES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ofdma_aas_capabilities , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_zone , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_diversity_map_scan , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_fbck_rsp_support , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_downlink_aas_preamble , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_uplink_aas_preamble , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_capabilities_rsvd , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_SS_CINR_MEASUREMENT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_cinr_measure_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_support_2_concurrent_cqi_channels , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_frequency_selectivity_characterization_report , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_PKM_FLOW_CONTROL :
if ( ! include_cor2_changes )
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_pkm_flow_control , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
tlv_item = proto_tree_add_item ( tlv_tree , hf_sbc_pkm_flow_control , tvb , offset , tlv_len , FALSE ) ;
if ( tvb_get_guint8 ( tvb , offset ) = = 0 )
proto_item_append_text ( tlv_item , " (default - no limit) " ) ;
}
else
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
}
break ;
case SBC_AUTH_POLICY_SUPPORT :
/* display the TLV name and display the value in hex */
tlv_item = proto_tree_add_item ( sbc_tree , hf_sbc_auth_policy , tvb , offset , tlv_len , FALSE ) ;
/* add TLV subtree */
tlv_tree = proto_item_add_subtree ( tlv_item , ett_sbc_req_tlv_subtree ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_802_16 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_rsvd , tvb , offset , 1 , FALSE ) ;
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_auth_policy , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_802_16 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_rsvd , tvb , offset , 1 , FALSE ) ;
if ( ! include_cor2_changes )
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_auth_policy , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_802_16 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_rsvd , tvb , offset , 1 , FALSE ) ;
}
else
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
}
break ;
case SBC_MAX_SECURITY_ASSOCIATIONS :
if ( ! include_cor2_changes )
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_max_security_associations , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_max_security_associations , tvb , offset , tlv_len , FALSE ) ;
}
else
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
}
break ;
case SBC_TLV_T_27_EXTENSION_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_27_extension_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_27_extension_capability_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_27_extension_capability_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_28_HO_TRIGGER_METRIC_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_167_ASSOCIATION_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_167_association_type_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit4 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_170_UPLINK_POWER_CONTROL_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ofdma_ss_uplink_power_control_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_open_loop , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_171_MINIMUM_NUM_OF_FRAMES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_171_minimum_num_of_frames , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_171_minimum_num_of_frames , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_TLV_T_172 :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_172 , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_harq_map_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_extended_harq_ie_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_sub_map_capability_first_zone , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_sub_map_capability_other_zones , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_dl_region_definition_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_173_UL_CONTROL_CHANNEL_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_173_ul_ctl_channel_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_enhanced_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_ul_ack , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_reserved , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_uep_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_measurement_report , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_primary_secondary_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_diuc_cqi_fast_feedback , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_174_OFDMA_MS_CSIT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_174_ofdma_ms_csit_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_csit_compatibility_type_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_csit_compatibility_type_b , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_power_assignment_capability , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_sounding_rsp_time_capability , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_ss_csit_type_a_support , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_ss_csit_reserved , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_TLV_T_175_MAX_NUM_BST_PER_FRM_CAPABILITY_HARQ :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_ul_harq_bst , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm , tvb , offset , 1 , FALSE ) ;
break ;
2007-11-28 22:56:27 +00:00
case SBC_TLV_T_176 : /* TODO: Get an invalid TLV whenever this TLV is used. Could it be
2007-05-25 23:40:42 +00:00
that lengths above 2 cause this problem ? */
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_176 , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit0 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit1 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit2 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit3 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit4 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit5 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit6 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit7 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit8 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit9 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit10 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit11 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit12 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit13 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit14 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit15 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit16 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit17 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit18 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit19 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_reserved , tvb , offset , 3 , FALSE ) ;
break ;
case SBC_TLV_T_177_OFDMA_SS_MODULATOR_FOR_MIMO_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_b_vertical , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_b_horizontal , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_two_transmit_antennas , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_transmit_diversity , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_spacial_multiplexing , tvb , offset , 1 , FALSE ) ;
}
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_beamforming , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_adaptive_rate_ctl , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_single_antenna , tvb , offset , 1 , FALSE ) ;
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_two_antenna , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_rsvd , tvb , offset , 1 , FALSE ) ;
}
break ;
case SBC_TLV_T_178_SDMA_PILOT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_178_sdma_pilot_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_178_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_179_OFDMA_MULTIPLE_DL_BURST_PROFILE_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_204_OFDMA_PARAMETERS_SETS :
if ( include_cor2_changes )
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b , tvb , offset , 1 , FALSE ) ;
tlv_item = proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved , tvb , offset , 1 , FALSE ) ;
}
break ;
case SBC_TLV_T_162_HARQ_INCREMENTAL_REDUNDANCY_BUFFER_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2 , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_TLV_T_163_HARQ_CHASE_COMBINING_AND_CC_IR_BUFFER_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2 , tvb , offset , 2 , FALSE ) ;
break ;
case PKM_ATTR_SECURITY_NEGOTIATION_PARAMETERS :
/* display Security Negotiation Parameters Title */
/* add Security Negotiation Parameters subtree */
tlv_tree = add_protocol_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , tlv_len , " Security Negotiation Parameters (%u bytes) " , tlv_len ) ;
/* call the Security Negotiation Parameters decoder */
wimax_security_negotiation_parameters_decoder ( tvb_new_subset ( tvb , offset , tlv_len , tlv_len ) , pinfo , tlv_tree ) ;
break ;
case SBC_TLV_T_26_POWER_SAVE_CLASS_TYPES_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bits34 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bits567 , tvb , offset , 1 , FALSE ) ;
break ;
default :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
break ;
}
offset + = tlv_len ;
} /* end of TLV process while loop */
}
}
/* Wimax Mac SBC-RSP Message Dissector */
void dissect_mac_mgmt_msg_sbc_rsp_decoder ( tvbuff_t * tvb , packet_info * pinfo , proto_tree * tree )
{
guint offset = 0 ;
guint tvb_len , payload_type , value ;
gint tlv_type , tlv_len , tlv_value_offset ;
/* guint ssttg, ssrtg;*/
guint num_dl_harq_chans ; /*, num_ul_harq_chans;*/
proto_item * sbc_item = NULL ;
proto_tree * sbc_tree = NULL ;
proto_item * tlv_item = NULL ;
proto_tree * tlv_tree = NULL ;
proto_item * ti = NULL ;
tlv_info_t tlv_info ;
gfloat power_bpsk ;
gfloat power_qpsk ;
gfloat power_qam16 ;
gfloat power_qam64 ;
gfloat current_power ;
/* Ensure the right payload type */
payload_type = tvb_get_guint8 ( tvb , offset ) ;
if ( payload_type ! = MAC_MGMT_MSG_SBC_RSP )
{
return ;
}
if ( tree )
{ /* we are being asked for details */
2007-05-27 18:33:13 +00:00
/* Get the tvb reported length */
tvb_len = tvb_reported_length ( tvb ) ;
2007-05-25 23:40:42 +00:00
/* display MAC payload type SBC-RSP */
sbc_item = proto_tree_add_protocol_format ( tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , tvb_len , " SS Basic Capability Response (SBC-RSP) (%u bytes) " , tvb_len ) ;
/* add MAC SBC subtree */
sbc_tree = proto_item_add_subtree ( sbc_item , ett_mac_mgmt_msg_sbc_decoder ) ;
/* Decode and display the SS Basic Capability Response (SBC-RSP) */
/* display the Message Type */
proto_tree_add_item ( sbc_tree , hf_sbc_rsp_message_type , tvb , offset , 1 , FALSE ) ;
/* set the offset for the TLV Encoded info */
offset + + ;
/* process the SBC TLVs */
while ( offset < tvb_len )
{
/* get the TLV information */
init_tlv_info ( & tlv_info , tvb , offset ) ;
/* get the TLV type */
tlv_type = get_tlv_type ( & tlv_info ) ;
/* get the TLV length */
tlv_len = get_tlv_length ( & tlv_info ) ;
if ( tlv_type = = - 1 | | tlv_len > MAX_TLV_LEN | | tlv_len < 1 )
{ /* invalid tlv info */
if ( pinfo - > cinfo )
{
col_append_sep_str ( pinfo - > cinfo , COL_INFO , NULL , " SBC-RSP TLV error " ) ;
}
proto_tree_add_item ( sbc_tree , hf_sbc_invalid_tlv , tvb , offset , ( tvb_len - offset ) , FALSE ) ;
break ;
}
if ( tlv_type = = 0 )
{ /* invalid tlv type */
if ( pinfo - > cinfo )
{
col_append_sep_str ( pinfo - > cinfo , COL_INFO , NULL , " Invalid SBC TLV type " ) ;
}
proto_tree_add_item ( sbc_tree , hf_sbc_unknown_type , tvb , offset , 1 , FALSE ) ;
offset + + ;
continue ;
}
/* get the TLV value offset */
tlv_value_offset = get_tlv_value_offset ( & tlv_info ) ;
# ifdef DEBUG /* for debug only */
proto_tree_add_protocol_format ( sbc_tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , ( tlv_len + tlv_value_offset ) , " SBC-RSP Type: %u (%u bytes, offset=%u, tlv_len=%u, tvb_len=%u) " , tlv_type , ( tlv_len + tlv_value_offset ) , offset , tlv_len , tvb_len ) ;
# endif
/* update the offset for the TLV value */
offset + = tlv_value_offset ;
/* process SBC TLV Encoded information */
switch ( tlv_type )
{
case SBC_BW_ALLOC_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_bw_alloc_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_rsvd0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_duplex , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_bw_alloc_support_rsvd1 , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TRANSITION_GAPS :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_transition_gaps , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
ti = proto_tree_add_item ( tlv_tree , hf_sbc_ssttg , tvb , offset , 1 , FALSE ) ;
proto_item_append_text ( ti , " us (ranges: TDD 0-50; H-FDD 0-100) " ) ;
ti = proto_tree_add_item ( tlv_tree , hf_sbc_ssrtg , tvb , ( offset + 1 ) , 1 , FALSE ) ;
proto_item_append_text ( ti , " us (ranges: TDD 0-50; H-FDD 0-100) " ) ;
break ;
case SBC_MAC_PDU :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_mac_pdu , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_piggybacked , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_fsn , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_mac_pdu_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_REQ_MAX_TRANSMIT_POWER :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_max_transmit_power , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
power_bpsk = ( gfloat ) ( tvb_get_guint8 ( tvb , offset ) - 128 ) / 2 ;
power_qpsk = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 1 ) ) - 128 ) / 2 ;
power_qam16 = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 2 ) ) - 128 ) / 2 ;
power_qam64 = ( gfloat ) ( tvb_get_guint8 ( tvb , ( offset + 3 ) ) - 128 ) / 2 ;
proto_tree_add_text ( tlv_tree , tvb , offset , 1 , " BPSK: %.2f dBm " , ( gdouble ) power_bpsk ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 1 ) , 1 , " QPSK: %.2f dBm " , ( gdouble ) power_qpsk ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 2 ) , 1 , " QAM16: %.2f dBm " , ( gdouble ) power_qam16 ) ;
proto_tree_add_text ( tlv_tree , tvb , ( offset + 3 ) , 1 , " QAM64: %.2f dBm " , ( gdouble ) power_qam64 ) ;
break ;
case SBC_REQ_CURR_TRANSMITTED_POWER :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_curr_transmit_power , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
value = tvb_get_guint8 ( tvb , offset ) ;
current_power = ( gfloat ) ( value - 128 ) / 2 ;
proto_tree_add_text ( tlv_tree , tvb , offset , 1 , " Current Transmitted Power: %.2f dBm (Value: 0x%x) " , ( gdouble ) current_power , value ) ;
break ;
case SBC_SS_FFT_SIZES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_fft_sizes , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_rsvd1 , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_256 , tvb , offset , 1 , FALSE ) ;
}
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_2048 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_128 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_512 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_1024 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_fft_rsvd2 , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_DEMODULATOR :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_demodulator , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( tlv_len = = 1 ) /* && (num_dl_harq_chans < 8)) */
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_64qam , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_btc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ctc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_stc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_cc_with_optional_interleaver , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_chase , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_ctc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved , tvb , offset , 1 , FALSE ) ;
}
else
{
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_64qam_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_btc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ctc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_stc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_cc_with_optional_interleaver_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_chase_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_ctc_ir_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_harq_cc_ir_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_ldpc_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_dedicated_pilots_2 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_reserved1_2 , tvb , offset , 2 , FALSE ) ;
}
break ;
case SBC_SS_MODULATOR :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_req_tlv_subtree , sbc_tree , hf_sbc_ss_modulator , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_64qam , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_btc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ctc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_stc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_harq_chase , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ctc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_cc_ir , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_modulator_ldpc , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_NUM_UL_ARQ_ACK_CHANNEL :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_number_ul_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_number_ul_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_SS_NUM_DL_ARQ_ACK_CHANNEL :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_number_dl_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
/* get and save the value */
num_dl_harq_chans = tvb_get_guint8 ( tvb , offset ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_number_dl_arq_ack_channel , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_SS_PERMUTATION_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_permutation_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_optimal_pusc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_optimal_fusc , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_1x6 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_2x3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_3x2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_amc_with_harq_map , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_tusc1_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_tusc2_support , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_DEMODULATOR_MIMO_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_demodulator_mimo_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_demodulator_mimo_rsvd , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_SS_MIMO_UPLINK_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_mimo_uplink_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_2_ann_sttd , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_mimo_uplink_support_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_OFDMA_AAS_PRIVATE_MAP_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_ofdma_aas_private , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_harq_map_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_reduced_private_map_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_chain_enable , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_dl_frame_offset , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_ul_frame_offset , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_aas_private_map_concurrency , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_SS_OFDMA_AAS_CAPABILITIES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ofdma_aas_capabilities , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_zone , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_diversity_map_scan , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_fbck_rsp_support , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_downlink_aas_preamble , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_uplink_aas_preamble , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_ofdma_aas_capabilities_rsvd , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_SS_CINR_MEASUREMENT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ss_cinr_measure_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_support_2_concurrent_cqi_channels , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ss_frequency_selectivity_characterization_report , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_PKM_FLOW_CONTROL :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_pkm_flow_control , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
tlv_item = proto_tree_add_item ( tlv_tree , hf_sbc_pkm_flow_control , tvb , offset , tlv_len , FALSE ) ;
if ( tvb_get_guint8 ( tvb , offset ) = = 0 )
{
proto_item_append_text ( tlv_item , " (default - no limit) " ) ;
}
break ;
case SBC_AUTH_POLICY_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_auth_policy , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_802_16 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_privacy_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_MAX_SECURITY_ASSOCIATIONS :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_max_security_associations , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_max_security_associations , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_TLV_T_27_EXTENSION_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_27_extension_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_27_extension_capability_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_27_extension_capability_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_28_HO_TRIGGER_METRIC_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_167_ASSOCIATION_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_167_association_type_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit3 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_bit4 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_167_association_type_support_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_170_UPLINK_POWER_CONTROL_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_ofdma_ss_uplink_power_control_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_open_loop , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_ofdma_ss_uplink_power_control_support_rsvd , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_171_MINIMUM_NUM_OF_FRAMES :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_171_minimum_num_of_frames , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_171_minimum_num_of_frames , tvb , offset , tlv_len , FALSE ) ;
break ;
case SBC_TLV_T_172 :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_172 , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_harq_map_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_extended_harq_ie_capability , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_sub_map_capability_first_zone , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_sub_map_capability_other_zones , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_dl_region_definition_support , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_172_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_173_UL_CONTROL_CHANNEL_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_173_ul_ctl_channel_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_enhanced_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_ul_ack , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_reserved , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_uep_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_measurement_report , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_primary_secondary_fast_feedback , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_173_diuc_cqi_fast_feedback , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_174_OFDMA_MS_CSIT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_174_ofdma_ms_csit_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_csit_compatibility_type_a , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_csit_compatibility_type_b , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_power_assignment_capability , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_sounding_rsp_time_capability , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_ss_csit_type_a_support , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_174_ss_csit_reserved , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_TLV_T_175_MAX_NUM_BST_PER_FRM_CAPABILITY_HARQ :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_ul_harq_bst , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_176 :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_176 , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit0 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit1 , tvb , offset , 3 , FALSE ) ;
if ( include_cor2_changes )
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit2_cor2 , tvb , offset , 3 , FALSE ) ;
else
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit2 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit3 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit4 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit5 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit6 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit7 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit8 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit9 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit10 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit11 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit12 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit13 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit14 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit15 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit16 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit17 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit18 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_bit19 , tvb , offset , 3 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_176_reserved , tvb , offset , 3 , FALSE ) ;
break ;
case SBC_TLV_T_177_OFDMA_SS_MODULATOR_FOR_MIMO_SUPPORT :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_b_vertical , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_stc_matrix_b_horizontal , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_two_transmit_antennas , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_transmit_diversity , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_spacial_multiplexing , tvb , offset , 1 , FALSE ) ;
}
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_beamforming , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_adaptive_rate_ctl , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_single_antenna , tvb , offset , 1 , FALSE ) ;
if ( include_cor2_changes )
{
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas , tvb , offset , 1 , FALSE ) ;
} else {
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_capable_of_two_antenna , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_177_rsvd , tvb , offset , 1 , FALSE ) ;
}
break ;
case SBC_TLV_T_178_SDMA_PILOT_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_178_sdma_pilot_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_178_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_179_OFDMA_MULTIPLE_DL_BURST_PROFILE_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_179_reserved , tvb , offset , 1 , FALSE ) ;
break ;
case SBC_TLV_T_204_OFDMA_PARAMETERS_SETS :
if ( include_cor2_changes )
{
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b , tvb , offset , 1 , FALSE ) ;
tlv_item = proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved , tvb , offset , 1 , FALSE ) ;
}
break ;
case SBC_TLV_T_162_HARQ_INCREMENTAL_REDUNDANCY_BUFFER_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2 , tvb , offset , 2 , FALSE ) ;
break ;
case SBC_TLV_T_163_HARQ_CHASE_COMBINING_AND_CC_IR_BUFFER_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1 , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul , tvb , offset , 2 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2 , tvb , offset , 2 , FALSE ) ;
break ;
case PKM_ATTR_SECURITY_NEGOTIATION_PARAMETERS :
/* display Security Negotiation Parameters Title */
tlv_item = proto_tree_add_protocol_format ( sbc_tree , proto_mac_mgmt_msg_sbc_decoder , tvb , offset , tvb_len , " Security Negotiation Parameters (%u bytes) " , tvb_len ) ;
/* add Security Negotiation Parameters subtree */
tlv_tree = proto_item_add_subtree ( tlv_item , ett_sbc_rsp_tlv_subtree ) ;
/* call the Security Negotiation Parameters decoder */
wimax_security_negotiation_parameters_decoder ( tvb_new_subset ( tvb , offset , tlv_len , tlv_len ) , pinfo , tlv_tree ) ;
break ;
case SBC_TLV_T_26_POWER_SAVE_CLASS_TYPES_CAPABILITY :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_power_save_class_types_capability , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit0 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit1 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bit2 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bits34 , tvb , offset , 1 , FALSE ) ;
proto_tree_add_item ( tlv_tree , hf_sbc_power_save_class_types_capability_bits567 , tvb , offset , 1 , FALSE ) ;
break ;
default :
/* add TLV subtree */
tlv_tree = add_tlv_subtree ( & tlv_info , ett_sbc_rsp_tlv_subtree , sbc_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
/* display the detail meanings of the TLV value */
proto_tree_add_item ( tlv_tree , hf_sbc_unknown_type , tvb , offset , tlv_len , FALSE ) ;
break ;
}
offset + = tlv_len ;
} /* end of TLV process while loop */
}
}