From 2a9cab649e90f85cc7b40440ad211438c8bb212f Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Mon, 4 Sep 2017 14:51:00 +0200 Subject: LTE RRC: add MBMS SIB messages to info column Change-Id: Id238182ab19c9490d0e1cab852338fafdc2e1b66 Reviewed-on: https://code.wireshark.org/review/23385 Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin --- epan/dissectors/packet-lte-rrc.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'epan/dissectors/packet-lte-rrc.c') diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 5038eba8ac..dc01e2af00 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -10733,7 +10733,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; + gboolean bcch_dl_sch_msg; } lte_rrc_private_data_t; /* Helper function to get or create a struct that will be actx->private_data */ @@ -10909,17 +10909,17 @@ 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) +/* Is top message a BCCH DL-SCH BR/MBMS */ +static gboolean private_data_get_bcch_dl_sch_msg(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; + return private_data->bcch_dl_sch_msg; } -static void private_data_set_bcch_dl_sch_msg_br(asn1_ctx_t *actx, gboolean is_br) +static void private_data_set_bcch_dl_sch_msg(asn1_ctx_t *actx, gboolean is_bcch_dl_sch) { 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; + private_data->bcch_dl_sch_msg = is_bcch_dl_sch; } /*****************************************************************************/ @@ -30893,7 +30893,7 @@ 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_) { - if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1"); } @@ -47922,7 +47922,7 @@ 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_) { - if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation ["); } @@ -47930,7 +47930,7 @@ dissect_lte_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lte_rrc_SystemInformation, SystemInformation_sequence); - if (private_data_get_bcch_dl_sch_msg_br(actx) == FALSE) { + if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) { col_append_str(actx->pinfo->cinfo, COL_INFO, " ]"); } @@ -48014,7 +48014,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); + private_data_set_bcch_dl_sch_msg(actx, TRUE); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-BR-r13 ["); @@ -48031,7 +48031,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); + private_data_set_bcch_dl_sch_msg(actx, TRUE); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-BR-r13"); offset = dissect_lte_rrc_SystemInformationBlockType1(tvb, offset, actx, tree, hf_index); @@ -48114,8 +48114,16 @@ dissect_lte_rrc_BCCH_DL_SCH_Message_BR(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_lte_rrc_SystemInformation_MBMS_r14(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(actx, TRUE); + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-MBMS-r14 ["); + + offset = dissect_lte_rrc_SystemInformation(tvb, offset, actx, tree, hf_index); + col_append_str(actx->pinfo->cinfo, COL_INFO, " ]"); + + return offset; } @@ -48332,6 +48340,9 @@ static const per_sequence_t SystemInformationBlockType1_MBMS_r14_sequence[] = { static int dissect_lte_rrc_SystemInformationBlockType1_MBMS_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-MBMS-r14"); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lte_rrc_SystemInformationBlockType1_MBMS_r14, SystemInformationBlockType1_MBMS_r14_sequence); -- cgit v1.2.3