diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2016-06-23 16:10:09 +0200 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2016-06-23 15:29:09 +0000 |
commit | dd5f3c96c300688cb996e52c163fb3f5a614706c (patch) | |
tree | 9064350977ad0f4448dcb820772ccd9831e1516b /epan/dissectors/packet-lte-rrc.c | |
parent | 45db2fbe1e00eff087b01b4b69450d3e7d013185 (diff) |
LTE RRC: fix display of info column when receiving a BR SIB
Change-Id: Ic288cb10fad3bd34fe088479e7a79f77985808e0
Reviewed-on: https://code.wireshark.org/review/16098
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-lte-rrc.c')
-rw-r--r-- | epan/dissectors/packet-lte-rrc.c | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 0b6dc9c8cf..920b11b4ce 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -8168,6 +8168,7 @@ typedef struct lte_rrc_private_data_t pdcp_security_info_t pdcp_security; meas_capabilities_item_band_mappings_t meas_capabilities_item_band_mappings; simult_pucch_pusch_cell_type cell_type; + gboolean bcch_dl_sch_msg_br; } lte_rrc_private_data_t; /* Helper function to get or create a struct that will be actx->private_data */ @@ -8343,6 +8344,19 @@ static void private_data_set_simult_pucch_pusch_cell_type(asn1_ctx_t *actx, simu private_data->cell_type = cell_type; } +/* Is top message a BCCH DL-SCH BR */ +static gboolean private_data_get_bcch_dl_sch_msg_br(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->bcch_dl_sch_msg_br; +} + +static void private_data_set_bcch_dl_sch_msg_br(asn1_ctx_t *actx, gboolean is_br) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->bcch_dl_sch_msg_br = is_br; +} + /*****************************************************************************/ @@ -25490,7 +25504,9 @@ static const per_sequence_t SystemInformationBlockType1_sequence[] = { static int dissect_lte_rrc_SystemInformationBlockType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1"); + if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1"); + } offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lte_rrc_SystemInformationBlockType1, SystemInformationBlockType1_sequence); @@ -37999,13 +38015,17 @@ static const per_sequence_t SystemInformation_sequence[] = { static int dissect_lte_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation [ "); + if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation [ "); + } offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lte_rrc_SystemInformation, SystemInformation_sequence); - col_append_str(actx->pinfo->cinfo, COL_INFO, "]"); + if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + col_append_str(actx->pinfo->cinfo, COL_INFO, "]"); + } return offset; @@ -38087,6 +38107,7 @@ dissect_lte_rrc_BCCH_DL_SCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_lte_rrc_SystemInformation_BR_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + private_data_set_bcch_dl_sch_msg_br(actx, TRUE); col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-BR-r13 [ "); @@ -38103,6 +38124,7 @@ dissect_lte_rrc_SystemInformation_BR_r13(tvbuff_t *tvb _U_, int offset _U_, asn1 static int dissect_lte_rrc_SystemInformationBlockType1_BR_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + private_data_set_bcch_dl_sch_msg_br(actx, TRUE); col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1-BR-r13"); offset = dissect_lte_rrc_SystemInformationBlockType1(tvb, offset, actx, tree, hf_index); @@ -59137,7 +59159,7 @@ static int dissect_UE_EUTRA_Capability_v9a0_IEs_PDU(tvbuff_t *tvb _U_, packet_in /*--- End of included file: packet-lte-rrc-fn.c ---*/ -#line 2861 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 2875 "./asn1/lte-rrc/packet-lte-rrc-template.c" static int dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) @@ -74654,7 +74676,7 @@ void proto_register_lte_rrc(void) { "BIT_STRING_SIZE_19", HFILL }}, /*--- End of included file: packet-lte-rrc-hfarr.c ---*/ -#line 3077 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3091 "./asn1/lte-rrc/packet-lte-rrc-template.c" { &hf_lte_rrc_eutra_cap_feat_group_ind_1, { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1", @@ -77176,7 +77198,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_MasterInformationBlock_SL, /*--- End of included file: packet-lte-rrc-ettarr.c ---*/ -#line 3804 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3818 "./asn1/lte-rrc/packet-lte-rrc-template.c" &ett_lte_rrc_featureGroupIndicators, &ett_lte_rrc_featureGroupIndRel9Add, @@ -77262,7 +77284,7 @@ void proto_register_lte_rrc(void) { /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/ -#line 3871 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3885 "./asn1/lte-rrc/packet-lte-rrc-template.c" register_init_routine(<e_rrc_init_protocol); register_cleanup_routine(<e_rrc_cleanup_protocol); |