2 * WiMax MAC Management SBC-REQ/RSP Messages decoders
4 * Copyright (c) 2007 by Intel Corporation.
6 * Author: Lu Pan <lu.pan@intel.com>
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1999 Gerald Combs
12 * SPDX-License-Identifier: GPL-2.0-or-later
16 #define DEBUG /* for debug only */
23 #include <epan/packet.h>
25 #include <wsutil/array.h>
26 #include "wimax_tlv.h"
27 #include "wimax_mac.h"
28 #include "wimax_utils.h"
29 #include "wimax_prefs.h"
32 void proto_register_mac_mgmt_msg_sbc(void);
33 void proto_reg_handoff_mac_mgmt_msg_sbc(void);
35 static dissector_handle_t sbc_req_handle
;
36 static dissector_handle_t sbc_rsp_handle
;
38 static int proto_mac_mgmt_msg_sbc_decoder
;
39 static int ett_mac_mgmt_msg_sbc_decoder
;
40 static int ett_sbc_req_tlv_subtree
;
41 static int ett_sbc_rsp_tlv_subtree
;
44 static int hf_sbc_unknown_type
;
46 static int hf_sbc_bw_alloc_support
;
47 static int hf_sbc_bw_alloc_support_rsvd0
;
48 static int hf_sbc_bw_alloc_support_duplex
;
49 static int hf_sbc_bw_alloc_support_rsvd1
;
50 static int hf_sbc_curr_transmit_power
;
51 static int hf_sbc_transition_gaps
;
52 static int hf_sbc_ssttg
;
53 static int hf_sbc_ssrtg
;
54 static int hf_sbc_mac_pdu
;
55 static int hf_sbc_mac_pdu_piggybacked
;
56 static int hf_sbc_mac_pdu_fsn
;
57 static int hf_sbc_mac_pdu_rsvd
;
58 static int hf_sbc_max_transmit_power
;
59 static int hf_sbc_bpsk
;
60 static int hf_sbc_qpsk
;
61 static int hf_sbc_qam16
;
62 static int hf_sbc_qam64
;
63 static int hf_sbc_current_transmitted_power
;
64 static int hf_sbc_ss_fft_sizes
;
65 static int hf_sbc_ss_fft_256
;
66 static int hf_sbc_ss_fft_2048
;
67 static int hf_sbc_ss_fft_128
;
68 static int hf_sbc_ss_fft_512
;
69 static int hf_sbc_ss_fft_1024
;
70 static int hf_sbc_ss_cinr_measure_capability
;
71 static int hf_sbc_ss_phy_cinr_measurement_preamble
;
72 static int hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers
;
73 static int hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers
;
74 static int hf_sbc_ss_effective_cinr_measurement_preamble
;
75 static int hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers
;
76 static int hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers
;
77 static int hf_sbc_ss_support_2_concurrent_cqi_channels
;
78 static int hf_sbc_ss_frequency_selectivity_characterization_report
;
80 static int hf_sbc_ss_fft_rsvd1
;
81 static int hf_sbc_ss_fft_rsvd2
;
82 static int hf_sbc_ss_demodulator
;
83 static int hf_sbc_ss_demodulator_64qam
;
84 static int hf_sbc_ss_demodulator_btc
;
85 static int hf_sbc_ss_demodulator_ctc
;
86 static int hf_sbc_ss_demodulator_stc
;
87 static int hf_sbc_ss_demodulator_cc_with_optional_interleaver
;
88 static int hf_sbc_ss_demodulator_harq_chase
;
89 static int hf_sbc_ss_demodulator_harq_ctc_ir
;
90 static int hf_sbc_ss_demodulator_reserved
;
91 /* static int hf_sbc_ss_demodulator_reserved1; */
92 static int hf_sbc_ss_demodulator_64qam_2
;
93 static int hf_sbc_ss_demodulator_btc_2
;
94 static int hf_sbc_ss_demodulator_ctc_2
;
95 static int hf_sbc_ss_demodulator_stc_2
;
96 static int hf_sbc_ss_demodulator_cc_with_optional_interleaver_2
;
97 static int hf_sbc_ss_demodulator_harq_chase_2
;
98 static int hf_sbc_ss_demodulator_harq_ctc_ir_2
;
99 static int hf_sbc_ss_demodulator_reserved_2
;
100 static int hf_sbc_ss_demodulator_harq_cc_ir_2
;
101 static int hf_sbc_ss_demodulator_ldpc_2
;
102 static int hf_sbc_ss_demodulator_dedicated_pilots_2
;
103 static int hf_sbc_ss_demodulator_reserved1_2
;
105 static int hf_sbc_ss_modulator
;
106 static int hf_sbc_ss_modulator_64qam
;
107 static int hf_sbc_ss_modulator_btc
;
108 static int hf_sbc_ss_modulator_ctc
;
109 static int hf_sbc_ss_modulator_stc
;
110 static int hf_sbc_ss_modulator_harq_chase
;
111 static int hf_sbc_ss_modulator_ctc_ir
;
112 static int hf_sbc_ss_modulator_cc_ir
;
113 static int hf_sbc_ss_modulator_ldpc
;
115 static int hf_sbc_number_ul_arq_ack_channel
;
116 static int hf_sbc_number_dl_arq_ack_channel
;
117 static int hf_sbc_ss_permutation_support
;
118 static int hf_sbc_ss_optimal_pusc
;
119 static int hf_sbc_ss_optimal_fusc
;
120 static int hf_sbc_ss_amc_1x6
;
121 static int hf_sbc_ss_amc_2x3
;
122 static int hf_sbc_ss_amc_3x2
;
123 static int hf_sbc_ss_amc_with_harq_map
;
124 static int hf_sbc_ss_tusc1_support
;
125 static int hf_sbc_ss_tusc2_support
;
126 static int hf_sbc_ss_ofdma_aas_private
;
127 static int hf_sbc_ofdma_aas_harq_map_capability
;
128 static int hf_sbc_ofdma_aas_private_map_support
;
129 static int hf_sbc_ofdma_aas_reduced_private_map_support
;
130 static int hf_sbc_ofdma_aas_private_chain_enable
;
131 static int hf_sbc_ofdma_aas_private_map_dl_frame_offset
;
132 static int hf_sbc_ofdma_aas_private_ul_frame_offset
;
133 static int hf_sbc_ofdma_aas_private_map_concurrency
;
134 static int hf_sbc_ofdma_aas_capabilities
;
135 static int hf_sbc_ss_ofdma_aas_zone
;
136 static int hf_sbc_ss_ofdma_aas_diversity_map_scan
;
137 static int hf_sbc_ss_ofdma_aas_fbck_rsp_support
;
138 static int hf_sbc_ss_ofdma_downlink_aas_preamble
;
139 static int hf_sbc_ss_ofdma_uplink_aas_preamble
;
140 static int hf_sbc_ss_ofdma_aas_capabilities_rsvd
;
142 static int hf_sbc_tlv_t_167_association_type_support
;
143 static int hf_sbc_tlv_t_167_association_type_support_bit0
;
144 static int hf_sbc_tlv_t_167_association_type_support_bit1
;
145 static int hf_sbc_tlv_t_167_association_type_support_bit2
;
146 static int hf_sbc_tlv_t_167_association_type_support_bit3
;
147 static int hf_sbc_tlv_t_167_association_type_support_bit4
;
148 static int hf_sbc_tlv_t_167_association_type_support_reserved
;
149 static int hf_sbc_ofdma_ss_uplink_power_control_support
;
150 static int hf_sbc_ofdma_ss_uplink_power_control_support_open_loop
;
151 static int hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble
;
152 static int hf_sbc_ofdma_ss_uplink_power_control_support_rsvd
;
153 /* static int hf_sbc_ofdm_ss_minimum_num_of_frames; */
154 static int hf_sbc_tlv_t_27_extension_capability
;
155 static int hf_sbc_tlv_t_27_extension_capability_bit0
;
156 static int hf_sbc_tlv_t_27_extension_capability_reserved
;
157 static int hf_sbc_tlv_t_28_ho_trigger_metric_support
;
158 static int hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0
;
159 static int hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1
;
160 static int hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2
;
161 static int hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3
;
162 static int hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved
;
163 static int hf_sbc_tlv_t_171_minimum_num_of_frames
;
164 static int hf_sbc_tlv_t_172_harq_map_capability
;
165 static int hf_sbc_tlv_t_172_extended_harq_ie_capability
;
166 static int hf_sbc_tlv_t_172_sub_map_capability_first_zone
;
167 static int hf_sbc_tlv_t_172_sub_map_capability_other_zones
;
168 static int hf_sbc_tlv_t_172_dl_region_definition_support
;
169 static int hf_sbc_tlv_t_172_reserved
;
170 static int hf_sbc_tlv_t_172
;
171 static int hf_sbc_tlv_t_173_ul_ctl_channel_support
;
172 static int hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback
;
173 static int hf_sbc_tlv_t_173_enhanced_fast_feedback
;
174 static int hf_sbc_tlv_t_173_ul_ack
;
175 static int hf_sbc_tlv_t_173_reserved
;
176 static int hf_sbc_tlv_t_173_uep_fast_feedback
;
177 static int hf_sbc_tlv_t_173_measurement_report
;
178 static int hf_sbc_tlv_t_173_primary_secondary_fast_feedback
;
179 static int hf_sbc_tlv_t_173_diuc_cqi_fast_feedback
;
180 static int hf_sbc_tlv_t_174_ofdma_ms_csit_capability
;
181 static int hf_sbc_tlv_t_174_csit_compatibility_type_a
;
182 static int hf_sbc_tlv_t_174_csit_compatibility_type_b
;
183 static int hf_sbc_tlv_t_174_power_assignment_capability
;
184 static int hf_sbc_tlv_t_174_sounding_rsp_time_capability
;
185 static int hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions
;
186 static int hf_sbc_tlv_t_174_ss_csit_type_a_support
;
187 static int hf_sbc_tlv_t_204_ofdma_parameters_sets
;
188 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a
;
189 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b
;
190 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set
;
191 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a
;
192 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b
;
193 static int hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved
;
194 static int hf_sbc_tlv_t_174_ss_csit_reserved
;
195 static int hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq
;
196 static int hf_sbc_tlv_t_175_max_num_ul_harq_bst
;
197 static int hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst
;
198 static int hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm
;
199 static int hf_sbc_tlv_t_176
;
200 static int hf_sbc_tlv_t_176_bit0
;
201 static int hf_sbc_tlv_t_176_bit1
;
202 static int hf_sbc_tlv_t_176_bit2
;
203 /* static int hf_sbc_tlv_t_176_bit2_cor2; */
204 static int hf_sbc_tlv_t_176_bit3
;
205 static int hf_sbc_tlv_t_176_bit4
;
206 static int hf_sbc_tlv_t_176_bit5
;
207 static int hf_sbc_tlv_t_176_bit6
;
208 static int hf_sbc_tlv_t_176_bit7
;
209 static int hf_sbc_tlv_t_176_bit8
;
210 static int hf_sbc_tlv_t_176_bit9
;
211 static int hf_sbc_tlv_t_176_bit10
;
212 static int hf_sbc_tlv_t_176_bit11
;
213 static int hf_sbc_tlv_t_176_bit12
;
214 static int hf_sbc_tlv_t_176_bit13
;
215 static int hf_sbc_tlv_t_176_bit14
;
216 static int hf_sbc_tlv_t_176_bit15
;
217 static int hf_sbc_tlv_t_176_bit16
;
218 static int hf_sbc_tlv_t_176_bit17
;
219 static int hf_sbc_tlv_t_176_bit18
;
220 static int hf_sbc_tlv_t_176_bit19
;
221 static int hf_sbc_tlv_t_176_reserved
;
222 static int hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support
;
223 static int hf_sbc_tlv_t_177_stc_matrix_a
;
224 static int hf_sbc_tlv_t_177_stc_matrix_b_vertical
;
225 static int hf_sbc_tlv_t_177_stc_matrix_b_horizontal
;
226 static int hf_sbc_tlv_t_177_two_transmit_antennas
;
227 static int hf_sbc_tlv_t_177_capable_of_transmit_diversity
;
228 static int hf_sbc_tlv_t_177_capable_of_spacial_multiplexing
;
229 static int hf_sbc_tlv_t_177_beamforming
;
230 static int hf_sbc_tlv_t_177_adaptive_rate_ctl
;
231 static int hf_sbc_tlv_t_177_single_antenna
;
232 static int hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna
;
233 static int hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas
;
234 static int hf_sbc_tlv_t_177_capable_of_two_antenna
;
235 static int hf_sbc_tlv_t_177_rsvd
;
236 static int hf_sbc_tlv_t_178_sdma_pilot_capability
;
237 static int hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone
;
238 static int hf_sbc_tlv_t_178_reserved
;
239 static int hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support
;
240 static int hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec
;
241 static int hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec
;
242 static int hf_sbc_tlv_t_179_reserved
;
243 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability
;
244 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP
;
245 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl
;
246 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul
;
247 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1
;
248 static int hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP
;
249 static int hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2
;
250 static int hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability
;
251 static int hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining
;
252 static int hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl
;
253 static int hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1
;
254 static int hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining
;
255 static int hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul
;
256 static int hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2
;
258 static int hf_sbc_ss_demodulator_mimo_support
;
259 static int hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a
;
260 static int hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical
;
261 static int hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal
;
262 static int hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a
;
263 static int hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical
;
264 static int hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal
;
265 static int hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical
;
266 static int hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal
;
267 static int hf_sbc_ss_demodulator_mimo_rsvd
;
268 static int hf_sbc_ss_mimo_uplink_support
;
269 static int hf_sbc_ss_mimo_uplink_support_2_ann_sttd
;
270 static int hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical
;
271 static int hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm
;
272 static int hf_sbc_ss_mimo_uplink_support_rsvd
;
274 static int hf_sbc_power_save_class_types_capability
;
275 static int hf_sbc_power_save_class_types_capability_bit0
;
276 static int hf_sbc_power_save_class_types_capability_bit1
;
277 static int hf_sbc_power_save_class_types_capability_bit2
;
278 static int hf_sbc_power_save_class_types_capability_bits34
;
279 static int hf_sbc_power_save_class_types_capability_bits567
;
281 static int hf_sbc_pkm_flow_control
;
282 static int hf_sbc_auth_policy
;
283 static int hf_sbc_privacy_802_16
;
284 static int hf_sbc_privacy_rsvd
;
285 static int hf_sbc_max_security_associations
;
287 static int hf_sbc_invalid_tlv
;
289 static const true_false_string tfs_sbc_bw_alloc_support_duplex
=
296 static const value_string vals_sbc_mac_pdu_fsn
[] =
298 {0, "Only 11-bit FSN values are supported"},
299 {1, "Only 3-bit FSN values are supported"},
305 static const true_false_string tfs_sbc_mac_pdu_fsn
=
307 "Only 3-bit FSN values are supported",
308 "Only 11-bit FSN values are supported"
313 /* DCD DIUC messages (table 143) */
314 static const value_string diuc_msgs
[] =
316 { 0, "Downlink Burst Profile 1" },
317 { 1, "Downlink Burst Profile 2" },
318 { 2, "Downlink Burst Profile 3" },
319 { 3, "Downlink Burst Profile 4" },
320 { 4, "Downlink Burst Profile 5" },
321 { 5, "Downlink Burst Profile 6" },
322 { 6, "Downlink Burst Profile 7" },
323 { 7, "Downlink Burst Profile 8" },
324 { 8, "Downlink Burst Profile 9" },
325 { 9, "Downlink Burst Profile 10" },
326 { 10, "Downlink Burst Profile 11" },
327 { 11, "Downlink Burst Profile 12" },
328 { 12, "Downlink Burst Profile 13" },
331 { 15, "End of DL-MAP" },
337 static const value_string vals_sbc_type
[] =
348 static const value_string vals_sbc_function
[] =
351 {1, "Metric of neighbor BS is greater than absolute value"},
352 {2, "Metric of neighbor BS is less than absolute value"},
353 {3, "Metric of neighbor BS is greater than serving BS metric by relative value"},
354 {4, "Metric of neighbor BS is less than serving BS metric by relative value"},
355 {5, "Metric of serving BS greater than absolute value"},
356 {6, "Metric of serving BS less than absolute value"},
363 static const value_string vals_sbc_action
[] =
366 {1, "Respond on trigger with MOB_SCN-REP after the end of each scanning interval"},
367 {2, "Respond on trigger with MOB_MSH-REQ"},
368 {3, "On trigger, MS starts neighbor BS scanning process by sending MOB_SCN-REQ"},
375 static const value_string vals_sbc_power_adjustmnt
[] =
377 {0, "Preserve Peak Power"},
378 {1, "Preserve Mean Power"},
384 static const true_false_string tfs_sbc_power_adjustment
=
386 "Preserve Mean Power",
387 "Preserve Peak Power"
392 static const value_string vals_reg_rsp_status
[] =
395 {1, "Message authentication failure"},
401 static const value_string vals_sbc_burst_tcs
[] =
410 static const true_false_string tfs_sbc_burst_tcs
=
418 static const value_string vals_sbc_frame_duration
[] =
432 static const value_string vals_sbc_mac_version
[] =
434 {1, "Conformance with IEEE Std 802.16-2001"},
435 {2, "Conformance with IEEE Std 802.16c-2002 and its predecessors"},
436 {3, "Conformance with IEEE Std 802.16a-2003 and its predecessors"},
437 {4, "Conformance with IEEE Std 802.16-2004"},
438 {5, "Conformance with IEEE Std 802.16-2004 and IEEE Std 802.16e-2005"},
445 static const value_string vals_sbc_burst_fec
[] =
447 { 0, "QPSK (CC) 1/2"},
448 { 1, "QPSK (CC) 3/4"},
449 { 2, "16-QAM (CC) 1/2"},
450 { 3, "16-QAM (CC) 3/4"},
451 { 4, "64-QAM (CC) 1/2"},
452 { 5, "64-QAM (CC) 2/3"},
453 { 6, "64-QAM (CC) 3/4"},
454 { 7, "QPSK (BTC) 1/2"},
455 { 8, "QPSK (BTC) 3/4 or 2/3"},
456 { 9, "16-QAM (BTC) 3/5"},
457 {10, "16-QAM (BTC) 4/5"},
458 {11, "64-QAM (BTC) 2/3 or 5/8"},
459 {12, "64-QAM (BTC) 5/6 or 4/5"},
460 {13, "QPSK (CTC) 1/2"},
462 {15, "QPSK (CTC) 3/4"},
463 {16, "16-QAM (CTC) 1/2"},
464 {17, "16-QAM (CTC) 3/4"},
465 {18, "64-QAM (CTC) 1/2"},
466 {19, "64-QAM (CTC) 2/3"},
467 {20, "64-QAM (CTC) 3/4"},
468 {21, "64-QAM (CTC) 5/6"},
469 {22, "QPSK (ZT CC) 1/2"},
470 {23, "QPSK (ZT CC) 3/4"},
471 {24, "16-QAM (ZT CC) 1/2"},
472 {25, "16-QAM (ZT CC) 3/4"},
473 {26, "64-QAM (ZT CC) 1/2"},
474 {27, "64-QAM (ZT CC) 2/3"},
475 {28, "64-QAM (ZT CC) 3/4"},
476 {29, "QPSK (LDPC) 1/2"},
477 {30, "QPSK (LDPC) 2/3 A code"},
478 {31, "16-QAM (LDPC) 3/4 A code"},
479 {32, "16-QAM (LDPC) 1/2"},
480 {33, "16-QAM (LDPC) 2/3 A code"},
481 {34, "16-QAM (LDPC) 3/4 A code"},
482 {35, "64-QAM (LDPC) 1/2"},
483 {36, "64-QAM (LDPC) 2/3 A code"},
484 {37, "64-QAM (LDPC) 3/4 A code"},
485 {38, "QPSK (LDPC) 2/3 B code"},
486 {39, "QPSK (LDPC) 3/4 B code"},
487 {40, "16-QAM (LDPC) 2/3 B code"},
488 {41, "16-QAM (LDPC) 3/4 B code"},
489 {42, "64-QAM (LDPC) 2/3 B code"},
490 {43, "64-QAM (LDPC) 3/4 B code"},
491 {44, "QPSK (CC with optional interleaver) 1/2"},
492 {45, "QPSK (CC with optional interleaver) 3/4"},
493 {46, "16-QAM (CC with optional interleaver) 1/2"},
494 {47, "16-QAM (CC optional interleaver) 0%00"},
495 {48, "64-QAM (CC with optional interleaver) 2/3"},
496 {49, "64-QAM (CC with optional interleaver) 3/4"},
497 {50, "QPSK (LDPC) 5/6"},
498 {51, "16-QAM (LDPC) 5/6"},
499 {52, "64-QAM (LDPC) 5/6"},
505 static const value_string vals_sbc_permutation_type
[] =
509 {2, "optional FUSC"},
515 static const value_string vals_sbc_harq_parameters_set
[] =
526 static const true_false_string tfs_supported
=
532 static const true_false_string tfs_yes_no_sbc
=
538 static const value_string vals_sounding_rsp_time_cap_codings
[] =
545 {5, "min(2, Next Frame)"},
546 {6, "min(5, Next Frame)"},
551 static const value_string vals_sbc_sdma_str
[ ] =
554 {1, "support SDMA pilot patterns #A and #B"},
555 {2, "support all SDMA pilot patterns"},
561 static void sbc_tlv_decoder(tlv_info_t
* tlv_info
, int ett
, proto_tree
* sbc_tree
, packet_info
*pinfo
, tvbuff_t
*tvb
, unsigned offset
, unsigned tlv_offset
)
563 proto_item
*tlv_item
, *ti
;
564 proto_tree
*tlv_tree
;
565 int tlv_type
= get_tlv_type(tlv_info
),
566 tlv_len
= get_tlv_length(tlv_info
),
574 /* process SBC TLV Encoded information */
577 case SBC_BW_ALLOC_SUPPORT
:
578 /* add TLV subtree */
579 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_bw_alloc_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
580 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
581 /* display the detail meanings of the TLV value */
582 proto_tree_add_item(tlv_tree
, hf_sbc_bw_alloc_support_rsvd0
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
583 proto_tree_add_item(tlv_tree
, hf_sbc_bw_alloc_support_duplex
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
584 proto_tree_add_item(tlv_tree
, hf_sbc_bw_alloc_support_rsvd1
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
586 case SBC_TRANSITION_GAPS
:
587 /* add TLV subtree */
588 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_transition_gaps
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
589 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
590 /* display the detail meanings of the TLV value */
591 ti
= proto_tree_add_item(tlv_tree
, hf_sbc_ssttg
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
592 proto_item_append_text(ti
, " us (ranges: TDD 0-50; H-FDD 0-100)");
593 ti
= proto_tree_add_item(tlv_tree
, hf_sbc_ssrtg
, tvb
, (offset
+ 1), 1, ENC_BIG_ENDIAN
);
594 proto_item_append_text(ti
, " us (ranges: TDD 0-50; H-FDD 0-100)");
597 /* add TLV subtree */
598 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_mac_pdu
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
599 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
600 /* display the detail meanings of the TLV value */
601 proto_tree_add_item(tlv_tree
, hf_sbc_mac_pdu_piggybacked
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
602 proto_tree_add_item(tlv_tree
, hf_sbc_mac_pdu_fsn
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
603 proto_tree_add_item(tlv_tree
, hf_sbc_mac_pdu_rsvd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
605 case SBC_REQ_MAX_TRANSMIT_POWER
: /* TODO: This TLV comes up as INVALID in wireshark... why? */
606 /* add TLV subtree */
607 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_max_transmit_power
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
608 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
609 /* display the detail meanings of the TLV value */
610 power_bpsk
= (float)(tvb_get_uint8(tvb
, offset
) - 128) / 2;
611 power_qpsk
= (float)(tvb_get_uint8(tvb
, (offset
+ 1)) - 128) / 2;
612 power_qam16
= (float)(tvb_get_uint8(tvb
, (offset
+ 2)) - 128) / 2;
613 power_qam64
= (float)(tvb_get_uint8(tvb
, (offset
+ 3)) - 128) / 2;
614 proto_tree_add_float_format_value(tlv_tree
, hf_sbc_bpsk
, tvb
, offset
, 1, power_bpsk
, "%.2f dBm", (double)power_bpsk
);
615 proto_tree_add_float_format_value(tlv_tree
, hf_sbc_qpsk
, tvb
, (offset
+ 1), 1, power_qpsk
, "%.2f dBm", (double)power_qpsk
);
616 proto_tree_add_float_format_value(tlv_tree
, hf_sbc_qam16
, tvb
, (offset
+ 2), 1, power_qam16
, "%.2f dBm", (double)power_qam16
);
617 proto_tree_add_float_format_value(tlv_tree
, hf_sbc_qam64
, tvb
, (offset
+ 3), 1, power_qam64
, "%.2f dBm", (double)power_qam64
);
619 case SBC_REQ_CURR_TRANSMITTED_POWER
:
620 /* add TLV subtree */
621 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_curr_transmit_power
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
622 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
623 /* display the detail meanings of the TLV value */
624 value
= tvb_get_uint8(tvb
, offset
);
625 current_power
= (float)(value
- 128) / 2;
626 proto_tree_add_float_format_value(tlv_tree
, hf_sbc_current_transmitted_power
, tvb
, offset
, 1, current_power
, "%.2f dBm (Value: 0x%x)", (double)current_power
, value
);
628 case SBC_SS_FFT_SIZES
:
629 /* add TLV subtree */
630 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_fft_sizes
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
631 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
632 /* display the detail meanings of the TLV value */
633 if (include_cor2_changes
)
635 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_rsvd1
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
637 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_256
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
639 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_2048
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
640 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_128
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
641 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_512
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
642 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_1024
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
643 proto_tree_add_item(tlv_tree
, hf_sbc_ss_fft_rsvd2
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
645 case SBC_SS_DEMODULATOR
:
646 /* add TLV subtree */
647 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_demodulator
, tvb
, tlv_offset
, ENC_NA
);
648 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
649 /* display the detail meanings of the TLV value */
650 if (tlv_len
== 1) /* && (num_dl_harq_chans < 8)) */
652 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_64qam
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
653 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_btc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
654 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_ctc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
655 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_stc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
656 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_cc_with_optional_interleaver
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
657 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_harq_chase
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
658 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_harq_ctc_ir
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
659 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
663 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_64qam_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
664 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_btc_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
665 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_ctc_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
666 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_stc_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
667 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_cc_with_optional_interleaver_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
668 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_harq_chase_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
669 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_harq_ctc_ir_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
670 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_reserved_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
671 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_harq_cc_ir_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
672 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_ldpc_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
673 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_dedicated_pilots_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
674 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_reserved1_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
677 case SBC_SS_MODULATOR
:
678 /* add TLV subtree */
679 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_modulator
, tvb
, tlv_offset
, ENC_NA
);
680 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
681 /* display the detail meanings of the TLV value */
682 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_64qam
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
683 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_btc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
684 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_ctc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
685 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_stc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
686 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_harq_chase
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
687 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_ctc_ir
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
688 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_cc_ir
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
689 proto_tree_add_item(tlv_tree
, hf_sbc_ss_modulator_ldpc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
691 case SBC_SS_NUM_UL_ARQ_ACK_CHANNEL
:
692 /* add TLV subtree */
693 add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_number_ul_arq_ack_channel
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
695 case SBC_SS_NUM_DL_ARQ_ACK_CHANNEL
:
696 /* add TLV subtree */
697 add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_number_dl_arq_ack_channel
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
699 case SBC_SS_PERMUTATION_SUPPORT
:
700 /* add TLV subtree */
701 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_permutation_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
702 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
703 /* display the detail meanings of the TLV value */
704 proto_tree_add_item(tlv_tree
, hf_sbc_ss_optimal_pusc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
705 proto_tree_add_item(tlv_tree
, hf_sbc_ss_optimal_fusc
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
706 proto_tree_add_item(tlv_tree
, hf_sbc_ss_amc_1x6
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
707 proto_tree_add_item(tlv_tree
, hf_sbc_ss_amc_2x3
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
708 proto_tree_add_item(tlv_tree
, hf_sbc_ss_amc_3x2
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
709 proto_tree_add_item(tlv_tree
, hf_sbc_ss_amc_with_harq_map
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
710 proto_tree_add_item(tlv_tree
, hf_sbc_ss_tusc1_support
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
711 proto_tree_add_item(tlv_tree
, hf_sbc_ss_tusc2_support
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
713 case SBC_SS_DEMODULATOR_MIMO_SUPPORT
:
714 /* add TLV subtree */
715 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_demodulator_mimo_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
716 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
717 /* display the detail meanings of the TLV value */
718 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
719 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
720 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
721 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
722 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
723 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
724 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
725 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
726 proto_tree_add_item(tlv_tree
, hf_sbc_ss_demodulator_mimo_rsvd
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
728 case SBC_SS_MIMO_UPLINK_SUPPORT
:
729 /* add TLV subtree */
730 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_mimo_uplink_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
731 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
732 /* display the detail meanings of the TLV value */
733 proto_tree_add_item(tlv_tree
, hf_sbc_ss_mimo_uplink_support_2_ann_sttd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
734 proto_tree_add_item(tlv_tree
, hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
735 proto_tree_add_item(tlv_tree
, hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
736 proto_tree_add_item(tlv_tree
, hf_sbc_ss_mimo_uplink_support_rsvd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
738 case SBC_SS_OFDMA_AAS_PRIVATE_MAP_SUPPORT
:
739 /* add TLV subtree */
740 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_ofdma_aas_private
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
741 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
742 /* display the detail meanings of the TLV value */
743 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_harq_map_capability
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
744 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_private_map_support
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
745 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_reduced_private_map_support
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
746 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_private_chain_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
747 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_private_map_dl_frame_offset
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
748 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_private_ul_frame_offset
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
749 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_aas_private_map_concurrency
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
751 case SBC_SS_OFDMA_AAS_CAPABILITIES
:
752 /* add TLV subtree */
753 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ofdma_aas_capabilities
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
754 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
755 /* display the detail meanings of the TLV value */
756 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_aas_zone
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
757 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_aas_diversity_map_scan
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
758 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_aas_fbck_rsp_support
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
759 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_downlink_aas_preamble
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
760 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_uplink_aas_preamble
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
761 proto_tree_add_item(tlv_tree
, hf_sbc_ss_ofdma_aas_capabilities_rsvd
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
763 case SBC_SS_CINR_MEASUREMENT_CAPABILITY
:
764 /* add TLV subtree */
765 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ss_cinr_measure_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
766 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
767 /* display the detail meanings of the TLV value */
768 proto_tree_add_item(tlv_tree
, hf_sbc_ss_phy_cinr_measurement_preamble
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
769 proto_tree_add_item(tlv_tree
, hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
770 proto_tree_add_item(tlv_tree
, hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
771 proto_tree_add_item(tlv_tree
, hf_sbc_ss_effective_cinr_measurement_preamble
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
772 proto_tree_add_item(tlv_tree
, hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
773 proto_tree_add_item(tlv_tree
, hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
774 proto_tree_add_item(tlv_tree
, hf_sbc_ss_support_2_concurrent_cqi_channels
,tvb
,offset
, 1, ENC_BIG_ENDIAN
);
775 proto_tree_add_item(tlv_tree
, hf_sbc_ss_frequency_selectivity_characterization_report
,tvb
,offset
, 1, ENC_BIG_ENDIAN
);
777 case SBC_PKM_FLOW_CONTROL
:
778 /* add TLV subtree */
779 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_pkm_flow_control
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
780 if(tvb_get_uint8(tvb
, offset
) == 0)
781 proto_item_append_text(tlv_item
, " (default - no limit)");
783 case SBC_AUTH_POLICY_SUPPORT
:
784 /* add TLV subtree */
785 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_auth_policy
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
786 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
787 /* display the detail meanings of the TLV value */
788 proto_tree_add_item(tlv_tree
, hf_sbc_privacy_802_16
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
789 proto_tree_add_item(tlv_tree
, hf_sbc_privacy_rsvd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
791 case SBC_MAX_SECURITY_ASSOCIATIONS
:
792 add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_max_security_associations
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
794 case SBC_TLV_T_27_EXTENSION_CAPABILITY
:
795 /* add TLV subtree */
796 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_27_extension_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
797 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
798 /* display the detail meanings of the TLV value */
799 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_27_extension_capability_bit0
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
800 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_27_extension_capability_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
802 case SBC_TLV_T_28_HO_TRIGGER_METRIC_SUPPORT
:
803 /* add TLV subtree */
804 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
805 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
806 /* display the detail meanings of the TLV value */
807 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
808 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
809 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
810 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
811 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
813 case SBC_TLV_T_167_ASSOCIATION_SUPPORT
:
814 /* add TLV subtree */
815 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_167_association_type_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
816 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
817 /* display the detail meanings of the TLV value */
818 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_bit0
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
819 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_bit1
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
820 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_bit2
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
821 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_bit3
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
822 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_bit4
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
823 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_167_association_type_support_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
825 case SBC_TLV_T_170_UPLINK_POWER_CONTROL_SUPPORT
:
826 /* add TLV subtree */
827 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_ofdma_ss_uplink_power_control_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
828 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
829 /* display the detail meanings of the TLV value */
830 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_ss_uplink_power_control_support_open_loop
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
831 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
832 proto_tree_add_item(tlv_tree
, hf_sbc_ofdma_ss_uplink_power_control_support_rsvd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
834 case SBC_TLV_T_171_MINIMUM_NUM_OF_FRAMES
:
835 /* add TLV subtree */
836 add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_171_minimum_num_of_frames
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
839 /* add TLV subtree */
840 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_172
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
841 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
842 /* display the detail meanings of the TLV value */
843 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_harq_map_capability
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
844 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_extended_harq_ie_capability
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
845 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_sub_map_capability_first_zone
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
846 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_sub_map_capability_other_zones
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
847 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_dl_region_definition_support
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
848 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_172_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
850 case SBC_TLV_T_173_UL_CONTROL_CHANNEL_SUPPORT
:
851 /* add TLV subtree */
852 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_173_ul_ctl_channel_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
853 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
854 /* display the detail meanings of the TLV value */
855 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
856 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_enhanced_fast_feedback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
857 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_ul_ack
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
858 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
859 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_uep_fast_feedback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
860 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_measurement_report
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
861 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_primary_secondary_fast_feedback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
862 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_173_diuc_cqi_fast_feedback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
864 case SBC_TLV_T_174_OFDMA_MS_CSIT_CAPABILITY
:
865 /* add TLV subtree */
866 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_174_ofdma_ms_csit_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
867 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
868 /* display the detail meanings of the TLV value */
869 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_csit_compatibility_type_a
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
870 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_csit_compatibility_type_b
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
871 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_power_assignment_capability
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
872 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_sounding_rsp_time_capability
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
873 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
874 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_ss_csit_type_a_support
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
875 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_174_ss_csit_reserved
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
877 case SBC_TLV_T_175_MAX_NUM_BST_PER_FRM_CAPABILITY_HARQ
:
878 /* add TLV subtree */
879 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
880 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
881 /* display the detail meanings of the TLV value */
882 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_175_max_num_ul_harq_bst
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
883 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, ENC_BIG_ENDIAN
);
884 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
886 case SBC_TLV_T_176
: /* TODO: Get an invalid TLV whenever this TLV is used. Could it be
887 that lengths above 2 cause this problem? */
888 /* add TLV subtree */
889 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_176
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
890 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
891 /* display the detail meanings of the TLV value */
892 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit0
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
893 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit1
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
894 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit2
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
895 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit3
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
896 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit4
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
897 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit5
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
898 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit6
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
899 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit7
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
900 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit8
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
901 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit9
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
902 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit10
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
903 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit11
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
904 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit12
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
905 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit13
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
906 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit14
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
907 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit15
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
908 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit16
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
909 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit17
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
910 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit18
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
911 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_bit19
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
912 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_176_reserved
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
914 case SBC_TLV_T_177_OFDMA_SS_MODULATOR_FOR_MIMO_SUPPORT
:
915 /* add TLV subtree */
916 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
917 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
918 /* display the detail meanings of the TLV value */
919 if (include_cor2_changes
)
921 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_stc_matrix_a
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
922 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_stc_matrix_b_vertical
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
923 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_stc_matrix_b_horizontal
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
925 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_two_transmit_antennas
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
926 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_capable_of_transmit_diversity
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
927 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_capable_of_spacial_multiplexing
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
929 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_beamforming
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
930 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_adaptive_rate_ctl
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
931 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_single_antenna
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
932 if (include_cor2_changes
)
934 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
935 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
937 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_capable_of_two_antenna
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
938 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_177_rsvd
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
941 case SBC_TLV_T_178_SDMA_PILOT_CAPABILITY
:
942 /* add TLV subtree */
943 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_178_sdma_pilot_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
944 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
945 /* display the detail meanings of the TLV value */
946 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
947 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_178_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
949 case SBC_TLV_T_179_OFDMA_MULTIPLE_DL_BURST_PROFILE_CAPABILITY
:
950 /* add TLV subtree */
951 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
952 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
953 /* display the detail meanings of the TLV value */
954 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
955 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
956 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_179_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
958 case SBC_TLV_T_204_OFDMA_PARAMETERS_SETS
:
959 if (include_cor2_changes
)
961 /* add TLV subtree */
962 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
963 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
964 /* display the detail meanings of the TLV value */
965 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
966 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
967 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
968 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
969 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
970 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
973 case SBC_TLV_T_162_HARQ_INCREMENTAL_REDUNDANCY_BUFFER_CAPABILITY
:
974 /* add TLV subtree */
975 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
976 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
977 /* display the detail meanings of the TLV value */
978 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
979 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
980 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
981 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
982 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
983 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
985 case SBC_TLV_T_163_HARQ_CHASE_COMBINING_AND_CC_IR_BUFFER_CAPABILITY
:
986 /* add TLV subtree */
987 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
988 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
989 /* display the detail meanings of the TLV value */
990 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
991 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, ENC_BIG_ENDIAN
);
992 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
993 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
994 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, ENC_BIG_ENDIAN
);
995 proto_tree_add_item(tlv_tree
, hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
997 case PKM_ATTR_SECURITY_NEGOTIATION_PARAMETERS
:
998 /* display Security Negotiation Parameters Title */
999 /* add Security Negotiation Parameters subtree */
1000 tlv_tree
= add_protocol_subtree(tlv_info
, ett
, sbc_tree
, proto_mac_mgmt_msg_sbc_decoder
, tvb
, tlv_offset
, tlv_len
, "Security Negotiation Parameters");
1001 /* call the Security Negotiation Parameters decoder */
1002 wimax_security_negotiation_parameters_decoder(tvb_new_subset_length(tvb
, offset
, tlv_len
), pinfo
, tlv_tree
);
1004 case SBC_TLV_T_26_POWER_SAVE_CLASS_TYPES_CAPABILITY
:
1005 /* add TLV subtree */
1006 tlv_item
= add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_power_save_class_types_capability
, tvb
, tlv_offset
, ENC_BIG_ENDIAN
);
1007 tlv_tree
= proto_item_add_subtree(tlv_item
, ett
);
1008 /* display the detail meanings of the TLV value */
1009 proto_tree_add_item(tlv_tree
, hf_sbc_power_save_class_types_capability_bit0
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1010 proto_tree_add_item(tlv_tree
, hf_sbc_power_save_class_types_capability_bit1
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1011 proto_tree_add_item(tlv_tree
, hf_sbc_power_save_class_types_capability_bit2
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1012 proto_tree_add_item(tlv_tree
, hf_sbc_power_save_class_types_capability_bits34
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1013 proto_tree_add_item(tlv_tree
, hf_sbc_power_save_class_types_capability_bits567
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1016 /* add TLV subtree */
1017 add_tlv_subtree(tlv_info
, sbc_tree
, hf_sbc_unknown_type
, tvb
, tlv_offset
, ENC_NA
);
1022 /* Wimax Mac SBC-REQ Message Dissector */
1023 static int dissect_mac_mgmt_msg_sbc_req_decoder(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void* data _U_
)
1025 unsigned offset
= 0;
1027 int tlv_type
, tlv_len
, tlv_value_offset
;
1028 proto_item
*sbc_item
;
1029 proto_tree
*sbc_tree
;
1030 tlv_info_t tlv_info
;
1032 { /* we are being asked for details */
1033 /* Get the tvb reported length */
1034 tvb_len
= tvb_reported_length(tvb
);
1035 /* display MAC payload type SBC-REQ */
1036 sbc_item
= proto_tree_add_protocol_format(tree
, proto_mac_mgmt_msg_sbc_decoder
, tvb
, offset
, -1, "SS Basic Capability Request (SBC-REQ)");
1037 /* add MAC SBC subtree */
1038 sbc_tree
= proto_item_add_subtree(sbc_item
, ett_mac_mgmt_msg_sbc_decoder
);
1039 /* Decode and display the SS Basic Capability Request (SBC-REQ) */
1040 /* process the SBC TLVs */
1041 while(offset
< tvb_len
)
1043 /* get the TLV information */
1044 init_tlv_info(&tlv_info
, tvb
, offset
);
1045 /* get the TLV type */
1046 tlv_type
= get_tlv_type(&tlv_info
);
1047 /* get the TLV length */
1048 tlv_len
= get_tlv_length(&tlv_info
);
1049 if (tlv_type
== -1 || tlv_len
> MAX_TLV_LEN
|| tlv_len
< 1)
1050 { /* invalid tlv info */
1051 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, NULL
, "SBC-REQ TLV error");
1052 proto_tree_add_item(sbc_tree
, hf_sbc_invalid_tlv
, tvb
, offset
, (tvb_len
- offset
), ENC_NA
);
1056 { /* invalid tlv type */
1057 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, NULL
, "Invalid SBC TLV type");
1058 proto_tree_add_item(sbc_tree
, hf_sbc_unknown_type
, tvb
, offset
, 1, ENC_NA
);
1062 /* get the TLV value offset */
1063 tlv_value_offset
= get_tlv_value_offset(&tlv_info
);
1064 #ifdef DEBUG /* for debug only */
1065 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
);
1067 /* process SBC TLV Encoded information */
1068 sbc_tlv_decoder(&tlv_info
, ett_sbc_req_tlv_subtree
, sbc_tree
, pinfo
, tvb
, offset
+tlv_value_offset
, offset
);
1070 offset
+= (tlv_len
+tlv_value_offset
);
1071 } /* end of TLV process while loop */
1073 return tvb_captured_length(tvb
);
1076 /* Wimax Mac SBC-RSP Message Dissector */
1077 static int dissect_mac_mgmt_msg_sbc_rsp_decoder(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void* data _U_
)
1079 unsigned offset
= 0;
1081 int tlv_type
, tlv_len
, tlv_value_offset
;
1082 proto_item
*sbc_item
;
1083 proto_tree
*sbc_tree
;
1084 tlv_info_t tlv_info
;
1086 { /* we are being asked for details */
1087 /* Get the tvb reported length */
1088 tvb_len
= tvb_reported_length(tvb
);
1089 /* display MAC payload type SBC-RSP */
1090 sbc_item
= proto_tree_add_protocol_format(tree
, proto_mac_mgmt_msg_sbc_decoder
, tvb
, offset
, -1, "SS Basic Capability Response (SBC-RSP)");
1091 /* add MAC SBC subtree */
1092 sbc_tree
= proto_item_add_subtree(sbc_item
, ett_mac_mgmt_msg_sbc_decoder
);
1093 /* Decode and display the SS Basic Capability Response (SBC-RSP) */
1094 /* process the SBC TLVs */
1095 while(offset
< tvb_len
)
1097 /* get the TLV information */
1098 init_tlv_info(&tlv_info
, tvb
, offset
);
1099 /* get the TLV type */
1100 tlv_type
= get_tlv_type(&tlv_info
);
1101 /* get the TLV length */
1102 tlv_len
= get_tlv_length(&tlv_info
);
1103 if (tlv_type
== -1 || tlv_len
> MAX_TLV_LEN
|| tlv_len
< 1)
1104 { /* invalid tlv info */
1105 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, NULL
, "SBC-RSP TLV error");
1106 proto_tree_add_item(sbc_tree
, hf_sbc_invalid_tlv
, tvb
, offset
, (tvb_len
- offset
), ENC_NA
);
1110 { /* invalid tlv type */
1111 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, NULL
, "Invalid SBC TLV type");
1112 proto_tree_add_item(sbc_tree
, hf_sbc_unknown_type
, tvb
, offset
, 1, ENC_NA
);
1116 /* get the TLV value offset */
1117 tlv_value_offset
= get_tlv_value_offset(&tlv_info
);
1118 #ifdef DEBUG /* for debug only */
1119 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
);
1122 /* process SBC TLV Encoded information */
1123 sbc_tlv_decoder(&tlv_info
, ett_sbc_rsp_tlv_subtree
, sbc_tree
, pinfo
, tvb
, offset
+tlv_value_offset
, offset
);
1125 offset
+= (tlv_len
+tlv_value_offset
);
1126 } /* end of TLV process while loop */
1128 return tvb_captured_length(tvb
);
1131 /* Register Wimax Mac SBC-REQ/RSP Messages Dissectors */
1132 void proto_register_mac_mgmt_msg_sbc(void)
1135 static hf_register_info hf_sbc
[] =
1138 &hf_sbc_tlv_t_167_association_type_support
,
1140 "Association Type Support", "wmx.sbc.association_type_support",
1141 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1145 &hf_sbc_tlv_t_167_association_type_support_bit0
,
1147 "Scanning Without Association: association not supported", "wmx.sbc.association_type_support.bit0",
1148 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x1, NULL
, HFILL
1152 &hf_sbc_tlv_t_167_association_type_support_bit1
,
1154 "Association Level 0: scanning or association without coordination", "wmx.sbc.association_type_support.bit1",
1155 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x2, NULL
, HFILL
1159 &hf_sbc_tlv_t_167_association_type_support_bit2
,
1161 "Association Level 1: association with coordination", "wmx.sbc.association_type_support.bit2",
1162 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x4, NULL
, HFILL
1166 &hf_sbc_tlv_t_167_association_type_support_bit3
,
1168 "Association Level 2: network assisted association", "wmx.sbc.association_type_support.bit3",
1169 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x8, NULL
, HFILL
1173 &hf_sbc_tlv_t_167_association_type_support_bit4
,
1175 "Desired Association Support", "wmx.sbc.association_type_support.bit4",
1176 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x10, NULL
, HFILL
1180 &hf_sbc_tlv_t_167_association_type_support_reserved
,
1182 "Reserved", "wmx.sbc.association_type_support.reserved",
1183 FT_UINT8
, BASE_HEX
, NULL
, 0xE0, NULL
, HFILL
1187 &hf_sbc_auth_policy
,
1189 "Authorization Policy Support", "wmx.sbc.auth_policy",
1190 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1194 &hf_sbc_privacy_802_16
,
1196 "IEEE 802.16 Privacy", "wmx.sbc.auth_policy.802_16",
1197 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1201 &hf_sbc_privacy_rsvd
,
1203 "Reserved", "wmx.sbc.auth_policy.rsvd",
1204 FT_UINT8
, BASE_HEX
, NULL
, 0xFE, NULL
, HFILL
1208 &hf_sbc_bw_alloc_support
,
1210 "Bandwidth Allocation Support", "wmx.sbc.bw_alloc_support",
1211 FT_UINT8
, BASE_HEX
, NULL
, 0x00, NULL
, HFILL
1215 &hf_sbc_bw_alloc_support_duplex
,
1217 "Duplex", "wmx.sbc.bw_alloc_support.duplex",
1218 FT_BOOLEAN
, 8, TFS(&tfs_sbc_bw_alloc_support_duplex
), 0x2, NULL
, HFILL
1222 &hf_sbc_bw_alloc_support_rsvd0
,
1224 "Reserved", "wmx.sbc.bw_alloc_support.rsvd0",
1225 FT_UINT8
, BASE_HEX
, NULL
, 0x1, NULL
, HFILL
1229 &hf_sbc_bw_alloc_support_rsvd1
,
1231 "Reserved", "wmx.sbc.bw_alloc_support.rsvd1",
1232 FT_UINT8
, BASE_HEX
, NULL
, 0xFC, NULL
, HFILL
1236 &hf_sbc_curr_transmit_power
,
1238 "Current transmitted power", "wmx.sbc.curr_transmit_power",
1239 FT_UINT8
, BASE_HEX
, NULL
, 0x00, NULL
, HFILL
1243 &hf_sbc_ss_effective_cinr_measurement_preamble
,
1245 "Effective CINR Measurement For A Permutation Zone From Preamble", "wmx.sbc.effective_cinr_measure_permutation_zone_preamble",
1246 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1250 &hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_pilot_subcarriers
,
1252 "Effective CINR Measurement For A Permutation Zone From Pilot Subcarriers", "wmx.sbc.effective_cinr_measure_permutation_zone.pilot_subcarriers",
1253 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
1257 &hf_sbc_ss_effective_cinr_measurement_permutation_zone_from_data_subcarriers
,
1259 "Effective CINR Measurement For A Permutation Zone From Data Subcarriers", "wmx.sbc.effective_cinr_measure_permutation_zone.data_subcarriers",
1260 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
1264 &hf_sbc_tlv_t_27_extension_capability
,
1266 "Extension Capability", "wmx.sbc.extension_capability",
1267 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1271 &hf_sbc_tlv_t_27_extension_capability_bit0
,
1273 "Supported Extended Subheader Format", "wmx.sbc.extension_capability.bit0",
1274 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x1, NULL
, HFILL
1278 &hf_sbc_tlv_t_27_extension_capability_reserved
,
1280 "Reserved", "wmx.sbc.extension_capability.reserved",
1281 FT_UINT8
, BASE_HEX
, NULL
, 0xFE, NULL
, HFILL
1285 &hf_sbc_ss_frequency_selectivity_characterization_report
,
1287 "Frequency Selectivity Characterization Report", "wmx.sbc.frequency_selectivity_characterization_report",
1288 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x80, NULL
, HFILL
1291 { /* 11.8.3.7.19.2 */
1292 &hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability
,
1294 "HARQ Chase Combining And CC-IR Buffer Capability", "wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability",
1295 FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1299 &hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_dl
,
1301 "Aggregation Flag For DL", "wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.aggregation_flag_dl",
1302 FT_UINT16
, BASE_HEX
, NULL
, 0x40, NULL
, HFILL
1306 &hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_aggregation_flag_ul
,
1308 "Aggregation Flag for UL", "wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.aggregation_flag_ul",
1309 FT_UINT16
, BASE_HEX
, NULL
, 0x4000, NULL
, HFILL
1313 &hf_sbc_tlv_t_163_dl_harq_buffering_capability_for_chase_combining
,
1315 "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",
1316 FT_UINT16
, BASE_HEX
, NULL
, 0x3F, NULL
, HFILL
1320 &hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved1
,
1322 "Reserved", "wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.reserved1",
1323 FT_UINT16
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
1327 &hf_sbc_tlv_t_163_harq_chase_combining_and_cc_ir_buffer_capability_reserved2
,
1329 "Reserved", "wmx.sbc.harq_chase_combining_and_cc_ir_buffer_capability.reserved2",
1330 FT_UINT16
, BASE_HEX
, NULL
, 0x8000, NULL
, HFILL
1334 &hf_sbc_tlv_t_163_ul_harq_buffering_capability_for_chase_combining
,
1336 "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",
1337 FT_UINT16
, BASE_HEX
, NULL
, 0x3F00, NULL
, HFILL
1340 { /* 11.8.3.7.19.1 */
1341 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability
,
1343 "HARQ Incremental Buffer Capability", "wmx.sbc.harq_incremental_redundancy_buffer_capability",
1344 FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1348 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_dl
,
1350 "Aggregation Flag for DL", "wmx.sbc.harq_incremental_redundancy_buffer_capability.aggregation_flag_for_dl",
1351 FT_UINT16
, BASE_HEX
, NULL
, 0x10, NULL
, HFILL
1355 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_aggregation_flag_for_ul
,
1357 "Aggregation Flag For UL", "wmx.sbc.harq_incremental_redundancy_buffer_capability.aggregation_flag_for_ul",
1358 FT_UINT16
, BASE_HEX
, NULL
, 0x1000, NULL
, HFILL
1362 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_NEP
,
1364 "NEP Value Indicating Downlink HARQ Buffering Capability For Incremental Redundancy CTC", "wmx.sbc.harq_incremental_redundancy_buffer_capability.dl_incremental_redundancy_ctc",
1365 FT_UINT16
, BASE_HEX
, NULL
, 0xF, NULL
, HFILL
1369 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved1
,
1371 "Reserved", "wmx.sbc.harq_incremental_redundancy_buffer_capability.reserved",
1372 FT_UINT16
, BASE_HEX
, NULL
, 0xE0, NULL
, HFILL
1376 &hf_sbc_tlv_t_162_harq_incremental_redundancy_buffer_capability_reserved2
,
1378 "Reserved", "wmx.sbc.harq_incremental_redundancy_buffer_capability.reserved2",
1379 FT_UINT16
, BASE_HEX
, NULL
, 0xE000, NULL
, HFILL
1383 &hf_sbc_tlv_t_162_ul_harq_incremental_redundancy_buffer_capability_NEP
,
1385 "NEP Value Indicating Uplink HARQ Buffering Capability For Incremental Redundancy CTC", "wmx.sbc.harq_incremental_redundancy_buffer_capability.ul_incremental_redundancy_ctc",
1386 FT_UINT16
,BASE_HEX
, NULL
, 0xF00, NULL
, HFILL
1390 &hf_sbc_ofdma_aas_harq_map_capability
,
1392 "H-ARQ MAP Capability", "wmx.sbc.harq_map_capability",
1393 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1397 &hf_sbc_tlv_t_28_ho_trigger_metric_support
,
1399 "HO Trigger Metric Support", "wmx.sbc.ho_trigger_metric_support",
1400 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1404 &hf_sbc_tlv_t_28_ho_trigger_metric_support_bit0
,
1406 "BS CINR Mean", "wmx.sbc.ho_trigger_metric_support.bit0",
1407 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1411 &hf_sbc_tlv_t_28_ho_trigger_metric_support_bit1
,
1413 "BS RSSI Mean", "wmx.sbc.ho_trigger_metric_support.bit1",
1414 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1418 &hf_sbc_tlv_t_28_ho_trigger_metric_support_bit2
,
1420 "BS Relative Delay", "wmx.sbc.ho_trigger_metric_support.bit2",
1421 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1425 &hf_sbc_tlv_t_28_ho_trigger_metric_support_bit3
,
1427 "BS RTD", "wmx.sbc.ho_trigger_metric_support.bit3",
1428 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1432 &hf_sbc_tlv_t_28_ho_trigger_metric_support_reserved
,
1434 "Reserved", "wmx.sbc.ho_trigger_metric_support.reserved",
1435 FT_UINT8
, BASE_HEX
, NULL
, 0xF0, NULL
, HFILL
1439 &hf_sbc_invalid_tlv
,
1441 "Invalid TLV", "wmx.sbc.invalid_tlv",
1442 FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1448 "Capabilities For Construction And Transmission Of MAC PDUs", "wmx.sbc.mac_pdu",
1449 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1453 &hf_sbc_mac_pdu_piggybacked
,
1455 "Ability To Receive Requests Piggybacked With Data", "wmx.sbc.mac_pdu.bit0",
1456 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1460 &hf_sbc_mac_pdu_fsn
,
1462 "Ability To Use 3-bit FSN Values Used When Forming MAC PDUs On Non-ARQ Connections", "wmx.sbc.mac_pdu.bit1",
1463 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1467 &hf_sbc_tlv_t_175_max_num_bst_per_frm_capability_harq
,
1469 "Maximum Number Of Burst Per Frame Capability In HARQ", "wmx.sbc.max_num_bst_per_frm_capability_harq",
1470 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1474 &hf_sbc_tlv_t_175_max_num_dl_harq_bst_per_harq_per_frm
,
1476 "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",
1477 FT_UINT8
, BASE_DEC
, NULL
, 0xF0, NULL
, HFILL
1481 &hf_sbc_tlv_t_175_max_num_ul_harq_bst
,
1483 "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",
1484 FT_UINT8
, BASE_DEC
, NULL
, 0x7, NULL
, HFILL
1488 &hf_sbc_tlv_t_175_max_num_ul_harq_per_frm_include_one_non_harq_bst
,
1490 "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",
1491 FT_BOOLEAN
, 8, TFS(&tfs_yes_no_sbc
), 0x8, NULL
, HFILL
1495 &hf_sbc_max_security_associations
,
1497 "Maximum Number Of Security Association Supported By The SS", "wmx.sbc.max_security_associations",
1498 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
1501 { /* 11.8.3.7.2 - type 161 */
1502 &hf_sbc_number_dl_arq_ack_channel
,
1504 "The Number Of DL HARQ ACK Channel", "wmx.sbc.number_dl_arq_ack_channel",
1505 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
1508 { /* 11.8.3.7.3 - type 153 */
1509 &hf_sbc_number_ul_arq_ack_channel
,
1511 "The Number Of UL HARQ ACK Channel", "wmx.sbc.number_ul_arq_ack_channel",
1512 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
1516 &hf_sbc_ofdma_aas_capabilities
,
1518 "OFDMA AAS Capability", "wmx.sbc.ofdma_aas_capability",
1519 FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1523 &hf_sbc_ss_ofdma_aas_capabilities_rsvd
,
1525 "Reserved", "wmx.sbc.ofdma_aas_capabilities.rsvd",
1526 FT_UINT16
, BASE_HEX
, NULL
, 0xFFE0, NULL
, HFILL
1530 &hf_sbc_ss_ofdma_aas_diversity_map_scan
,
1532 "AAS Diversity Map Scan (AAS DLFP)", "wmx.sbc.ofdma_aas_diversity_map_scan",
1533 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1537 &hf_sbc_ss_ofdma_aas_fbck_rsp_support
,
1539 "AAS-FBCK-RSP Support", "wmx.sbc.ofdma_aas_fbck_rsp_support",
1540 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1544 &hf_sbc_ss_ofdma_aas_zone
,
1546 "AAS Zone", "wmx.sbc.ofdma_aas_zone",
1547 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1551 &hf_sbc_ss_ofdma_downlink_aas_preamble
,
1553 "Downlink AAS Preamble", "wmx.sbc.ofdma_downlink_aas_preamble",
1554 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1557 { /* 11.8.3.7.5 - 3 bytes */
1560 "OFDMA MS Demodulator For MIMO Support In DL", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl",
1561 FT_BOOLEAN
, BASE_NONE
, TFS(&tfs_supported
), 0x0, NULL
, HFILL
1565 &hf_sbc_tlv_t_176_bit0
,
1567 "2-antenna STC Matrix A", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit0",
1568 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1572 &hf_sbc_tlv_t_176_bit1
,
1574 "2-antenna STC Matrix B, vertical coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit1",
1575 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1579 &hf_sbc_tlv_t_176_bit2
,
1581 "Four Receive Antennas", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit2",
1582 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1587 &hf_sbc_tlv_t_176_bit2_cor2
,
1589 "2-antenna STC matrix B, horizontal coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit2",
1590 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1595 &hf_sbc_tlv_t_176_bit3
,
1597 "4-antenna STC Matrix A", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit3",
1598 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1602 &hf_sbc_tlv_t_176_bit4
,
1604 "4-antenna STC Matrix B, vertical coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit4",
1605 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x10, NULL
, HFILL
1609 &hf_sbc_tlv_t_176_bit5
,
1611 "4-antenna STC Matrix B, horizontal coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit5",
1612 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x20, NULL
, HFILL
1616 &hf_sbc_tlv_t_176_bit6
,
1618 "4-antenna STC Matrix C, vertical coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit6",
1619 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x40, NULL
, HFILL
1623 &hf_sbc_tlv_t_176_bit7
,
1625 "4-antenna STC Matrix C, horizontal coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit7",
1626 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x80, NULL
, HFILL
1630 &hf_sbc_tlv_t_176_bit8
,
1632 "3-antenna STC Matrix A", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit8",
1633 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x100, NULL
, HFILL
1637 &hf_sbc_tlv_t_176_bit9
,
1639 "3-antenna STC Matrix B", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit9",
1640 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x200, NULL
, HFILL
1644 &hf_sbc_tlv_t_176_bit10
,
1646 "3-antenna STC Matrix C, vertical coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit10",
1647 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x400, NULL
, HFILL
1651 &hf_sbc_tlv_t_176_bit11
,
1653 "3-antenna STC Matrix C, horizontal coding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit11",
1654 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x800, NULL
, HFILL
1658 &hf_sbc_tlv_t_176_bit12
,
1660 "Capable Of Calculating Precoding Weight", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit12",
1661 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x1000, NULL
, HFILL
1665 &hf_sbc_tlv_t_176_bit13
,
1667 "Capable Of Adaptive Rate Control", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit13",
1668 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x2000, NULL
, HFILL
1672 &hf_sbc_tlv_t_176_bit14
,
1674 "Capable Of Calculating Channel Matrix", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit14",
1675 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x4000, NULL
, HFILL
1679 &hf_sbc_tlv_t_176_bit15
,
1681 "Capable Of Antenna Grouping", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit15",
1682 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x8000, NULL
, HFILL
1686 &hf_sbc_tlv_t_176_bit16
,
1688 "Capable Of Antenna Selection", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit16",
1689 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x10000, NULL
, HFILL
1693 &hf_sbc_tlv_t_176_bit17
,
1695 "Capable Of Codebook Based Precoding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit17",
1696 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x20000, NULL
, HFILL
1700 &hf_sbc_tlv_t_176_bit18
,
1702 "Capable Of Long-term Precoding", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit18",
1703 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x40000, NULL
, HFILL
1707 &hf_sbc_tlv_t_176_bit19
,
1709 "Capable Of MIMO Midamble", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.bit19",
1710 FT_BOOLEAN
, 24, TFS(&tfs_supported
), 0x80000, NULL
, HFILL
1714 &hf_sbc_tlv_t_176_reserved
,
1716 "Reserved", "wmx.sbc.ofdma_ms_demodulator_for_mimo_support_in_dl.reserved",
1717 FT_UINT24
, BASE_HEX
, NULL
, 0xF00000, NULL
, HFILL
1721 &hf_sbc_tlv_t_179_ofdma_multiple_dl_burst_profile_support
,
1723 "OFDMA Multiple Downlink Burst Profile Capability", "wmx.sbc.ofdma_multiple_dl_burst_profile_support",
1724 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1728 &hf_sbc_tlv_t_179_dl_bst_profile_for_multiple_fec
,
1730 "Downlink burst profile for multiple FEC types", "wmx.sbc.ofdma_multiple_dl_burst_profile_support.dl_bst_profile_for_multiple_fec",
1731 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1735 &hf_sbc_tlv_t_179_reserved
,
1737 "Reserved", "wmx.sbc.ofdma_multiple_dl_burst_profile_support.reserved",
1738 FT_UINT8
, BASE_HEX
, NULL
, 0xFC, NULL
, HFILL
1742 &hf_sbc_tlv_t_179_ul_bst_profile_for_multiple_fec
,
1744 "Uplink burst profile for multiple FEC types", "wmx.sbc.ofdma_multiple_dl_burst_profile_support.ul_burst_profile_for_multiple_fec_types",
1745 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1749 &hf_sbc_ss_cinr_measure_capability
,
1751 "OFDMA SS CINR Measurement Capability", "wmx.sbc.ofdma_ss_cinr_measure_capability",
1752 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1756 &hf_sbc_ss_mimo_uplink_support
,
1758 "OFDMA SS MIMO uplink support", "wmx.sbc.ofdma_ss_mimo_uplink_support",
1759 FT_UINT8
, BASE_HEX
, NULL
, 0x00, NULL
, HFILL
1763 &hf_sbc_ss_mimo_uplink_support_2_ann_sttd
,
1765 "2-antenna STTD", "wmx.sbc.ofdma_ss_mimo_uplink_support.2_antenna_sttd",
1766 FT_UINT8
, BASE_HEX
, NULL
, 0x01, NULL
, HFILL
1770 &hf_sbc_ss_mimo_uplink_support_2_ann_sm_vertical
,
1772 "2-antenna SM with vertical coding", "wmx.sbc.ofdma_ss_mimo_uplink_support.2_antenna_sm_with_vertical_coding",
1773 FT_UINT8
, BASE_HEX
, NULL
, 0x02, NULL
, HFILL
1777 &hf_sbc_ss_mimo_uplink_support_1_ann_coop_sm
,
1779 "Single-antenna cooperative SM", "wmx.sbc.ofdma_ss_mimo_uplink_support.single_antenna_coop_sm",
1780 FT_UINT8
, BASE_HEX
, NULL
, 0x04, NULL
, HFILL
1784 &hf_sbc_ss_ofdma_uplink_aas_preamble
,
1786 "Uplink AAS Preamble", "wmx.sbc.ofdma_uplink_aas_preamble",
1787 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x10, NULL
, HFILL
1791 &hf_sbc_ss_phy_cinr_measurement_preamble
,
1793 "Physical CINR Measurement From The Preamble", "wmx.sbc.phy_cinr_measure_preamble",
1794 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1798 &hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_pilot_subcarriers
,
1800 "Physical CINR Measurement For A Permutation Zone From Pilot Subcarriers", "wmx.sbc.phy_cinr_measure_permutation_zone.pilot_subcarriers",
1801 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1805 &hf_sbc_ss_phy_cinr_measurement_permutation_zone_from_data_subcarriers
,
1807 "Physical CINR Measurement For A Permutation Zone From Data Subcarriers", "wmx.sbc.phy_cinr_measure_permutation_zone.data_subcarriers",
1808 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1812 &hf_sbc_pkm_flow_control
,
1814 "PKM Flow Control", "wmx.sbc.pkm_flow_control",
1815 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
1819 &hf_sbc_power_save_class_types_capability
,
1821 "Power Save Class Types Capability", "wmx.sbc.power_save_class_types_capability",
1822 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1826 &hf_sbc_power_save_class_types_capability_bit0
,
1828 "Power Save Class Type I", "wmx.sbc.power_save_class_types_capability.bit0",
1829 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1833 &hf_sbc_power_save_class_types_capability_bit1
,
1835 "Power Save Class Type II", "wmx.sbc.power_save_class_types_capability.bit1",
1836 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1840 &hf_sbc_power_save_class_types_capability_bit2
,
1842 "Power Save Class Type III", "wmx.sbc.power_save_class_types_capability.bit2",
1843 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1847 &hf_sbc_power_save_class_types_capability_bits34
,
1849 "Number Of Power Save Class Type Instances Supported From Class Type I and II", "wmx.sbc.power_save_class_types_capability.bits34",
1850 FT_UINT8
, BASE_DEC
, NULL
, 0x18, NULL
, HFILL
1854 &hf_sbc_power_save_class_types_capability_bits567
,
1856 "Number Of Power Save Class Type Instances Supported From Class Type III", "wmx.sbc.power_save_class_types_capability.bits567",
1857 FT_UINT8
, BASE_DEC
, NULL
, 0xE0, NULL
, HFILL
1861 &hf_sbc_ofdma_aas_private_chain_enable
,
1863 "Private Map Chain Enable", "wmx.sbc.private_chain_enable",
1864 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1868 &hf_sbc_ofdma_aas_private_map_concurrency
,
1870 "Private Map Chain Concurrency", "wmx.sbc.private_map_concurrency",
1871 FT_UINT8
, BASE_HEX
, NULL
, 0xC0, NULL
, HFILL
1875 &hf_sbc_ofdma_aas_private_map_dl_frame_offset
,
1877 "Private Map DL Frame Offset", "wmx.sbc.private_map_dl_frame_offset",
1878 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
1882 &hf_sbc_ofdma_aas_private_map_support
,
1884 "Private Map Support", "wmx.sbc.private_map_support",
1885 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1889 &hf_sbc_ss_ofdma_aas_private
,
1891 "OFDMA AAS Private Map Support", "wmx.sbc.private_map_support.ofdma_aas",
1892 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
1896 &hf_sbc_ofdma_aas_reduced_private_map_support
,
1898 "Reduced Private Map Support", "wmx.sbc.private_map_support.reduced",
1899 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1903 &hf_sbc_ofdma_aas_private_ul_frame_offset
,
1905 "Private Map UL Frame Offset", "wmx.sbc.private_ul_frame_offset",
1906 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
1910 &hf_sbc_mac_pdu_rsvd
,
1912 "Reserved", "wmx.sbc.mac_pdu.rsvd",
1913 FT_UINT8
, BASE_HEX
, NULL
, 0xFC, NULL
, HFILL
1917 &hf_sbc_max_transmit_power
,
1919 "Maximum Transmit Power", "wmx.sbc.max_transmit_power",
1920 FT_UINT32
, BASE_HEX
, NULL
, 0x00, NULL
, HFILL
1926 "BPSK", "wmx.sbc.bpsk",
1927 FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1933 "QPSK", "wmx.sbc.qpsk",
1934 FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1940 "QAM16", "wmx.sbc.qam16",
1941 FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1947 "QAM64", "wmx.sbc.qam64",
1948 FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1952 &hf_sbc_current_transmitted_power
,
1954 "Current Transmitted Power", "wmx.sbc.current_transmitted_power",
1955 FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
1958 { /* 11.8.3.7.5 - 2 bytes */
1959 &hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_a
,
1961 "2-antenna STC Matrix A", "wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.a",
1962 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x1, NULL
, HFILL
1966 &hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_horizontal
,
1968 "2-antenna STC Matrix B, horizontal coding", "wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.b.horizontal",
1969 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x4, NULL
, HFILL
1973 &hf_sbc_ss_demodulator_mimo_2_ann_stc_matrix_b_vertical
,
1975 "2-antenna STC Matrix B, vertical coding", "wmx.sbc.ss_demodulator.mimo.2.antenna.stc.matrix.b.vertical",
1976 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x2, NULL
, HFILL
1980 &hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_a
,
1982 "4-antenna STC Matrix A", "wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.a",
1983 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x8, NULL
, HFILL
1987 &hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_horizontal
,
1989 "4-antenna STC Matrix B, horizontal coding", "wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.b.horizontal",
1990 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x20, NULL
, HFILL
1994 &hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_b_vertical
,
1996 "4-antenna STC Matrix B, vertical coding", "wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.b.vertical",
1997 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2001 &hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_horizontal
,
2003 "4-antenna STC Matrix C, horizontal coding", "wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.c.horizontal",
2004 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x80, NULL
, HFILL
2008 &hf_sbc_ss_demodulator_mimo_4_ann_stc_matrix_c_vertical
,
2010 "4-antenna STC Matrix C, vertical coding", "wmx.sbc.ss_demodulator.mimo.4.antenna.stc.matrix.c.vertical",
2011 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2015 &hf_sbc_ss_demodulator_mimo_rsvd
,
2017 "Reserved", "wmx.sbc.ss_demodulator.mimo.reserved",
2018 FT_UINT16
, BASE_HEX
, NULL
, 0xFF00, NULL
, HFILL
2022 &hf_sbc_ss_demodulator_mimo_support
,
2024 "OFDMA SS Demodulator For MIMO Support", "wmx.sbc.ss_demodulator.mimo.support",
2025 FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2028 /*11.8.3.7.11 ??? */
2029 { /* 11.8.3.7.12 - 170 */
2030 &hf_sbc_ofdma_ss_uplink_power_control_support
,
2032 "OFDMA SS uplink power control support", "wmx.sbc.ofdma_ss_uplink_power_control_support",
2033 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2037 &hf_sbc_ofdma_ss_uplink_power_control_support_open_loop
,
2039 "Open loop", "wmx.sbc.ofdma_ss_uplink_power_control_support.open_loop",
2040 FT_UINT8
, BASE_HEX
, NULL
, 0x01, NULL
, HFILL
2044 &hf_sbc_ofdma_ss_uplink_power_control_support_aas_preamble
,
2046 "AAS preamble", "wmx.sbc.ofdma_ss_uplink_power_control_support.aas_preamble",
2047 FT_UINT8
, BASE_HEX
, NULL
, 0x02, NULL
, HFILL
2051 &hf_sbc_ofdma_ss_uplink_power_control_support_rsvd
,
2053 "Reserved", "wmx.sbc.ofdma_ss_uplink_power_control_support.rsvd",
2054 FT_UINT8
, BASE_HEX
, NULL
, 0xFC, NULL
, HFILL
2058 &hf_sbc_tlv_t_172_dl_region_definition_support
,
2060 "DL Region Definition Support", "wmx.sbc.ofdma_map_capability.dl_region_definition_support",
2061 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2064 { /* 11.8.3.7.12 - 172 */
2067 "Support For Extended HARQ", "wmx.sbc.ofdma_map_capability.extended_harq",
2068 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2072 &hf_sbc_tlv_t_172_extended_harq_ie_capability
,
2074 "Extended HARQ IE Capability", "wmx.sbc.ofdma_map_capability.extended_harq_ie_capability",
2075 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2079 &hf_sbc_tlv_t_172_harq_map_capability
,
2081 "HARQ MAP Capability", "wmx.sbc.ofdma_map_capability.harq_map_capability",
2082 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2085 { /* 11.8.3.7.12 - 171 */
2086 &hf_sbc_tlv_t_171_minimum_num_of_frames
,
2088 "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",
2089 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
2093 &hf_sbc_tlv_t_172_reserved
,
2095 "Reserved", "wmx.sbc.ofdma_map_capability.reserved",
2096 FT_UINT8
, BASE_HEX
, NULL
, 0xE0, NULL
, HFILL
2100 &hf_sbc_tlv_t_172_sub_map_capability_first_zone
,
2102 "Sub MAP Capability For First Zone", "wmx.sbc.ofdma_map_capability.sub_map_capability_first_zone",
2103 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2107 &hf_sbc_tlv_t_172_sub_map_capability_other_zones
,
2109 "Sub MAP Capability For Other Zones", "wmx.sbc.ofdma_map_capability.sub_map_capability_other_zones",
2110 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2114 &hf_sbc_tlv_t_174_ofdma_ms_csit_capability
,
2116 "OFDMA MS CSIT Capability", "wmx.sbc.ofdma_ms_csit_capability",
2117 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2121 &hf_sbc_tlv_t_174_csit_compatibility_type_a
,
2123 "CSIT Compatibility Type A", "wmx.sbc.ofdma_ms_csit_capability.csit_compatibility_type_a",
2124 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2128 &hf_sbc_tlv_t_174_csit_compatibility_type_b
,
2130 "CSIT Compatibility Type B", "wmx.sbc.ofdma_ms_csit_capability.csit_compatibility_type_b",
2131 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2135 &hf_sbc_tlv_t_174_max_num_simultanous_sounding_instructions
,
2137 "Max Number Of Simultaneous Sounding Instructions", "wmx.sbc.ofdma_ms_csit_capability.max_num_simultaneous_sounding_instructions",
2138 FT_UINT16
, BASE_DEC
, NULL
, 0x03C0, NULL
, HFILL
2142 &hf_sbc_tlv_t_174_power_assignment_capability
,
2144 "Power Assignment Capability", "wmx.sbc.ofdma_ms_csit_capability.power_assignment_capability",
2145 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2149 &hf_sbc_tlv_t_174_ss_csit_reserved
,
2151 "Reserved", "wmx.sbc.ofdma_ms_csit_capability.reserved",
2152 FT_UINT16
, BASE_HEX
, NULL
, 0xF800, NULL
, HFILL
2156 &hf_sbc_tlv_t_174_sounding_rsp_time_capability
,
2158 "Sounding Response Time Capability", "wmx.sbc.ofdma_ms_csit_capability.sounding_response_time_capability",
2159 FT_UINT16
, BASE_HEX
, VALS(vals_sounding_rsp_time_cap_codings
), 0x0038, NULL
, HFILL
2163 &hf_sbc_tlv_t_174_ss_csit_type_a_support
,
2165 "SS Does Not Support P Values Of 9 And 18 When Supporting CSIT Type A", "wmx.sbc.ofdma_ms_csit_capability.type_a_support",
2166 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x0400, NULL
, HFILL
2171 &hf_sbc_tlv_t_204_ofdma_parameters_sets
,
2173 "OFDMA parameters sets", "wmx.sbc.ofdma_parameters_sets",
2174 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2178 &hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_a
,
2180 "Support OFDMA PHY parameter set A", "wmx.sbc.ofdma_parameters_sets.phy_set_a",
2181 FT_UINT8
, BASE_HEX
, NULL
, 0x01, NULL
, HFILL
2185 &hf_sbc_tlv_t_204_ofdma_parameters_sets_phy_set_b
,
2187 "Support OFDMA PHY parameter set B", "wmx.sbc.ofdma_parameters_sets.phy_set_b",
2188 FT_UINT8
, BASE_HEX
, NULL
, 0x02, NULL
, HFILL
2192 &hf_sbc_tlv_t_204_ofdma_parameters_sets_harq_parameters_set
,
2194 "HARQ parameters set", "wmx.sbc.ofdma_parameters_sets.harq_parameters_set",
2195 FT_UINT8
, BASE_HEX
, VALS(vals_sbc_harq_parameters_set
), 0x1C, NULL
, HFILL
2199 &hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_a
,
2201 "Support OFDMA MAC parameters set A", "wmx.sbc.ofdma_parameters_sets.mac_set_a",
2202 FT_UINT8
, BASE_HEX
, NULL
, 0x20, NULL
, HFILL
2206 &hf_sbc_tlv_t_204_ofdma_parameters_sets_mac_set_b
,
2208 "Support OFDMA MAC parameters set B", "wmx.sbc.ofdma_parameters_sets.mac_set_b",
2209 FT_UINT8
, BASE_HEX
, NULL
, 0x40, NULL
, HFILL
2213 &hf_sbc_tlv_t_204_ofdma_parameters_sets_reserved
,
2215 "Reserved", "wmx.sbc.ofdma_parameters_sets.reserved",
2216 FT_UINT8
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
2220 &hf_sbc_tlv_t_177_ofdma_ss_modulator_for_mimo_support
,
2222 "OFDMA SS Modulator For MIMO Support", "wmx.sbc.ofdma_ss_modulator_for_mimo_support",
2223 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2227 &hf_sbc_tlv_t_177_adaptive_rate_ctl
,
2229 "Capable Of Adaptive Rate Control", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_adaptive_rate_control",
2230 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2234 &hf_sbc_tlv_t_177_beamforming
,
2236 "Capable Of Beamforming", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_beamforming",
2237 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2241 &hf_sbc_tlv_t_177_single_antenna
,
2243 "Capable of single antenna transmission", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_single_antenna",
2244 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2248 &hf_sbc_tlv_t_177_stc_matrix_b_horizontal
,
2250 "Capable of 2-antenna STC Matrix B, Horizontal coding", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_b_horizontal",
2251 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2255 &hf_sbc_tlv_t_177_two_transmit_antennas
,
2257 "Two transmit antennas", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.two_transmit_antennas",
2258 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2262 &hf_sbc_tlv_t_177_capable_of_transmit_diversity
,
2264 "Capable of transmit diversity", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_transmit_diversity",
2265 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2269 &hf_sbc_tlv_t_177_capable_of_spacial_multiplexing
,
2271 "Capable of spatial multiplexing", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_spatial_multiplexing",
2272 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2276 &hf_sbc_tlv_t_177_stc_matrix_b_vertical
,
2278 "Capable of 2-antenna STC Matrix B, Vertical coding", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_b_vertical",
2279 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2283 &hf_sbc_tlv_t_177_collaborative_sm_with_one_antenna
,
2285 "Capable of collaborative SM with one antenna", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.collaborative_sm_with_one_antenna",
2286 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2290 &hf_sbc_tlv_t_177_collaborative_sm_with_two_antennas
,
2292 "Collaborative SM with two antennas", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.collaborative_sm_with_two_antennas",
2293 FT_UINT8
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
2297 &hf_sbc_tlv_t_177_capable_of_two_antenna
,
2299 "Capable of two antenna", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.capable_of_two_antenna",
2300 FT_UINT8
, BASE_HEX
, NULL
, 0x40, NULL
, HFILL
2304 &hf_sbc_tlv_t_177_rsvd
,
2306 "Reserved", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.rsvd",
2307 FT_UINT8
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
2311 &hf_sbc_tlv_t_177_stc_matrix_a
,
2313 "Capable of 2-antenna STC Matrix A", "wmx.sbc.ofdma_ss_modulator_for_mimo_support.stc_matrix_a",
2314 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2318 &hf_sbc_tlv_t_178_sdma_pilot_capability
,
2320 "SDMA Pilot Capability", "wmx.sbc.sdma_pilot_capability",
2321 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2325 &hf_sbc_tlv_t_178_reserved
,
2327 "Reserved", "wmx.sbc.sdma_pilot_capability.reserved",
2328 FT_UINT8
, BASE_HEX
, NULL
, 0xFC, NULL
, HFILL
2332 &hf_sbc_tlv_t_178_sdma_pilot_pattern_support_for_amc_zone
,
2334 "SDMA Pilot Patterns Support For AMC Zone", "wmx.sbc.sdma_pilot_capability.sdma_pilot_pattern_support_for_amc_zone",
2335 FT_UINT8
, BASE_HEX
, VALS(vals_sbc_sdma_str
), 0x03, NULL
, HFILL
2338 { /* 11.8.3.7.2 - type 151 */
2339 &hf_sbc_ss_demodulator
,
2341 "OFDMA SS Demodulator", "wmx.sbc.ss_demodulator",
2342 FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
2345 /* tlv length = 1 byte */
2347 &hf_sbc_ss_demodulator_64qam
,
2349 "64-QAM", "wmx.sbc.ss_demodulator.64qam",
2350 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2354 &hf_sbc_ss_demodulator_btc
,
2356 "BTC", "wmx.sbc.ss_demodulator.btc",
2357 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2361 &hf_sbc_ss_demodulator_cc_with_optional_interleaver
,
2363 "CC with Optional Interleaver", "wmx.sbc.ss_demodulator.cc_with_optional_interleaver",
2364 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2368 &hf_sbc_ss_demodulator_ctc
,
2370 "CTC", "wmx.sbc.ss_demodulator.ctc",
2371 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2374 /* tlv length = 2 bytes */
2376 &hf_sbc_ss_demodulator_64qam_2
,
2378 "64-QAM", "wmx.sbc.ss_demodulator.64qam",
2379 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2383 &hf_sbc_ss_demodulator_btc_2
,
2385 "BTC", "wmx.sbc.ss_demodulator.btc",
2386 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2390 &hf_sbc_ss_demodulator_cc_with_optional_interleaver_2
,
2392 "CC with Optional Interleaver", "wmx.sbc.ss_demodulator.cc_with_optional_interleaver",
2393 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2397 &hf_sbc_ss_demodulator_ctc_2
,
2399 "CTC", "wmx.sbc.ss_demodulator.ctc",
2400 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2404 &hf_sbc_ss_demodulator_dedicated_pilots_2
,
2406 "Dedicated Pilots", "wmx.sbc.ss_demodulator.dedicated_pilots",
2407 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x400, NULL
, HFILL
2411 &hf_sbc_ss_demodulator_harq_cc_ir_2
,
2413 "HARQ CC_IR", "wmx.sbc.ss_demodulator.harq.cc.ir",
2414 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x100, NULL
, HFILL
2418 &hf_sbc_ss_demodulator_harq_chase
,
2420 "HARQ Chase", "wmx.sbc.ss_demodulator.harq.chase",
2421 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2425 &hf_sbc_ss_demodulator_harq_chase_2
,
2427 "HARQ Chase", "wmx.sbc.ss_demodulator.harq.chase",
2428 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2432 &hf_sbc_ss_demodulator_harq_ctc_ir
,
2434 "HARQ CTC_IR", "wmx.sbc.ss_demodulator.harq.ctc.ir",
2435 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2439 &hf_sbc_ss_demodulator_harq_ctc_ir_2
,
2441 "HARQ CTC_IR", "wmx.sbc.ss_demodulator.harq.ctc.ir",
2442 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2446 &hf_sbc_ss_demodulator_ldpc_2
,
2448 "LDPC", "wmx.sbc.ss_demodulator.ldpc",
2449 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x200, NULL
, HFILL
2453 &hf_sbc_ss_demodulator_reserved
,
2455 "Reserved", "wmx.sbc.ss_demodulator.reserved1",
2456 FT_UINT8
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
2460 &hf_sbc_ss_demodulator_reserved_2
,
2462 "Reserved", "wmx.sbc.ss_demodulator.reserved2",
2463 FT_UINT16
, BASE_HEX
, NULL
, 0x80, NULL
, HFILL
2467 &hf_sbc_ss_demodulator_reserved1_2
,
2469 "Reserved", "wmx.sbc.ss_demodulator.reserved2",
2470 FT_UINT16
, BASE_HEX
, NULL
, 0x800, NULL
, HFILL
2474 { /* if the number of DL H-ARQ channels > 7 but tlv length = 1 */
2475 &hf_sbc_ss_demodulator_reserved1
,
2477 "Reserved", "wmx.sbc.ss_demodulator.reserved1",
2478 FT_UINT16
, BASE_HEX
, NULL
, 0xFFFF, NULL
, HFILL
2483 &hf_sbc_ss_demodulator_stc
,
2485 "STC", "wmx.sbc.ss_demodulator.stc",
2486 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2490 &hf_sbc_ss_demodulator_stc_2
,
2492 "STC", "wmx.sbc.ss_demodulator.stc",
2493 FT_BOOLEAN
, 16, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2496 /* 11.8.3.4 - 11.8.3.6 are not supported for now */
2498 &hf_sbc_ss_fft_sizes
,
2500 "OFDMA SS FFT Sizes", "wmx.sbc.ss_fft_sizes",
2501 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2507 "FFT-128", "wmx.sbc.ss_fft_sizes.128",
2508 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2514 "FFT-256", "wmx.sbc.ss_fft_sizes.256",
2515 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2521 "FFT-512", "wmx.sbc.ss_fft_sizes.512",
2522 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2526 &hf_sbc_ss_fft_1024
,
2528 "FFT-1024", "wmx.sbc.ss_fft_sizes.1024",
2529 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2533 &hf_sbc_ss_fft_2048
,
2535 "FFT-2048", "wmx.sbc.ss_fft_sizes.2048",
2536 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2540 &hf_sbc_ss_fft_rsvd1
,
2542 "Reserved", "wmx.sbc_ss_fft_sizes_rsvd1",
2543 FT_UINT8
, BASE_HEX
, NULL
, 0x01, NULL
, HFILL
2547 &hf_sbc_ss_fft_rsvd2
,
2549 "Reserved", "wmx.sbc.ss_fft_sizes.rsvd2",
2550 FT_UINT8
, BASE_HEX
, NULL
, 0xE0, NULL
, HFILL
2555 &hf_sbc_ofdm_ss_minimum_num_of_frames
,
2557 "SS minimum number of frames", "wmx.sbc.ss_minimum_num_of_frames",
2558 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2563 &hf_sbc_ss_mimo_uplink_support_rsvd
,
2565 "Reserved", "wmx.sbc.ss_mimo_ul_support.rsvd",
2566 FT_UINT8
, BASE_HEX
, NULL
, 0xF8, NULL
, HFILL
2569 { /* 11.8.3.7.3 - type 152 */
2570 &hf_sbc_ss_modulator
,
2572 "OFDMA SS Modulator", "wmx.sbc.ss_modulator",
2573 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2577 &hf_sbc_ss_modulator_64qam
,
2579 "64-QAM", "wmx.sbc.ss_modulator.64qam",
2580 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2584 &hf_sbc_ss_modulator_btc
,
2586 "BTC", "wmx.sbc.ss_modulator.btc",
2587 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2591 &hf_sbc_ss_modulator_cc_ir
,
2593 "CC_IR", "wmx.sbc.ss_modulator.cc_ir",
2594 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2598 &hf_sbc_ss_modulator_ctc
,
2600 "CTC", "wmx.sbc.ss_modulator.ctc",
2601 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2605 &hf_sbc_ss_modulator_ctc_ir
,
2607 "CTC_IR", "wmx.sbc.ss_modulator.ctc_ir",
2608 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2612 &hf_sbc_ss_modulator_harq_chase
,
2614 "HARQ Chase", "wmx.sbc.ss_modulator.harq_chase",
2615 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2619 &hf_sbc_ss_modulator_ldpc
,
2621 "LDPC", "wmx.sbc.ss_modulator.ldpc",
2622 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x80, NULL
, HFILL
2626 &hf_sbc_ss_modulator_stc
,
2628 "STC", "wmx.sbc.ss_modulator.stc",
2629 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2633 &hf_sbc_ss_permutation_support
,
2635 "OFMDA SS Permutation Support", "wmx.sbc.ss_permutation_support",
2636 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2642 "AMC 1x6", "wmx.sbc.ss_permutation_support.amc_1x6",
2643 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2649 "AMC 2x3", "wmx.sbc.ss_permutation_support.amc_2x3",
2650 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x8, NULL
, HFILL
2656 "AMC 3x2", "wmx.sbc.ss_permutation_support.amc_3x2",
2657 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2661 &hf_sbc_ss_amc_with_harq_map
,
2663 "AMC Support With H-ARQ Map", "wmx.sbc.ss_permutation_support.amc_support_harq_map",
2664 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2668 &hf_sbc_ss_optimal_fusc
,
2670 "Optional FUSC", "wmx.sbc.ss_permutation_support.optimal_fusc",
2671 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2675 &hf_sbc_ss_optimal_pusc
,
2677 "Optional PUSC", "wmx.sbc.ss_permutation_support.optimal_pusc",
2678 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2682 &hf_sbc_ss_tusc1_support
,
2684 "TUSC1", "wmx.sbc.ss_permutation_support.tusc1_support",
2685 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2689 &hf_sbc_ss_tusc2_support
,
2691 "TUSC2", "wmx.sbc.ss_permutation_support.tusc2_support",
2692 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x80, NULL
, HFILL
2698 "SSRTG", "wmx.sbc.ssrtg",
2699 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
2705 "SSTTG", "wmx.sbc.ssttg",
2706 FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
2710 &hf_sbc_ss_support_2_concurrent_cqi_channels
,
2712 "Support for 2 Concurrent CQI Channels", "wmx.sbc.support_2_concurrent_cqi_channels",
2713 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2717 &hf_sbc_transition_gaps
,
2719 "Subscriber Transition Gaps", "wmx.sbc.transition_gaps",
2720 FT_UINT16
, BASE_HEX
, NULL
, 0x00, NULL
, HFILL
2724 &hf_sbc_tlv_t_173_ul_ctl_channel_support
,
2726 "Uplink Control Channel Support", "wmx.sbc.ul_ctl_channel_support",
2727 FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
2731 &hf_sbc_tlv_t_173_3_bit_mimo_fast_feedback
,
2733 "3-bit MIMO Fast-feedback", "wmx.sbc.ul_ctl_channel_support.3bit_mimo_fast_feedback",
2734 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x1, NULL
, HFILL
2738 &hf_sbc_tlv_t_173_diuc_cqi_fast_feedback
,
2740 "DIUC-CQI Fast-feedback", "wmx.sbc.ul_ctl_channel_support.diuc_cqi_fast_feedback",
2741 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x80, NULL
, HFILL
2745 &hf_sbc_tlv_t_173_enhanced_fast_feedback
,
2747 "Enhanced Fast_feedback", "wmx.sbc.ul_ctl_channel_support.enhanced_fast_feedback",
2748 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x2, NULL
, HFILL
2752 &hf_sbc_tlv_t_173_measurement_report
,
2754 "A Measurement Report Shall Be Performed On The Last DL Burst", "wmx.sbc.ul_ctl_channel_support.measurement_report",
2755 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x20, NULL
, HFILL
2759 &hf_sbc_tlv_t_173_primary_secondary_fast_feedback
,
2761 "Primary/Secondary FAST_FEEDBACK", "wmx.sbc.ul_ctl_channel_support.primary_secondary_fast_feedback",
2762 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x40, NULL
, HFILL
2766 &hf_sbc_tlv_t_173_reserved
,
2768 "Reserved", "wmx.sbc.ul_ctl_channel_support.reserved",
2769 FT_UINT8
, BASE_HEX
, NULL
, 0x8, NULL
, HFILL
2773 &hf_sbc_tlv_t_173_uep_fast_feedback
,
2775 "UEP Fast-feedback", "wmx.sbc.ul_ctl_channel_support.uep_fast_feedback",
2776 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x10, NULL
, HFILL
2780 &hf_sbc_tlv_t_173_ul_ack
,
2782 "UL ACK", "wmx.sbc.ul_ctl_channel_support.ul_ack",
2783 FT_BOOLEAN
, 8, TFS(&tfs_supported
), 0x4, NULL
, HFILL
2787 &hf_sbc_unknown_type
,
2789 "Unknown SBC type", "wmx.sbc.unknown_tlv_type",
2790 FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
2795 /* Setup protocol subtree array */
2796 static int *ett_sbc
[] =
2798 &ett_mac_mgmt_msg_sbc_decoder
,
2799 &ett_sbc_req_tlv_subtree
,
2800 &ett_sbc_rsp_tlv_subtree
,
2803 proto_mac_mgmt_msg_sbc_decoder
= proto_register_protocol (
2804 "WiMax SBC-REQ/RSP Messages", /* name */
2805 "WiMax SBC-REQ/RSP (sbc)", /* short name */
2806 "wmx.sbc" /* abbrev */
2809 proto_register_field_array(proto_mac_mgmt_msg_sbc_decoder
, hf_sbc
, array_length(hf_sbc
));
2810 proto_register_subtree_array(ett_sbc
, array_length(ett_sbc
));
2812 sbc_req_handle
= register_dissector("mac_mgmt_msg_sbc_req_handler", dissect_mac_mgmt_msg_sbc_req_decoder
, proto_mac_mgmt_msg_sbc_decoder
);
2813 sbc_rsp_handle
= register_dissector("mac_mgmt_msg_sbc_rsp_handler", dissect_mac_mgmt_msg_sbc_rsp_decoder
, proto_mac_mgmt_msg_sbc_decoder
);
2817 proto_reg_handoff_mac_mgmt_msg_sbc(void)
2819 dissector_add_uint("wmx.mgmtmsg", MAC_MGMT_MSG_SBC_REQ
, sbc_req_handle
);
2820 dissector_add_uint("wmx.mgmtmsg", MAC_MGMT_MSG_SBC_RSP
, sbc_rsp_handle
);
2825 * Editor modelines - https://www.wireshark.org/tools/modelines.html
2830 * indent-tabs-mode: t
2833 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
2834 * :indentSize=8:tabSize=8:noTabs=false: