diff options
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/lte-rrc.cnf | 22 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c | 6 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.c | 68 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.c | 13 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.h | 1 |
6 files changed, 99 insertions, 13 deletions
diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf index 2a1cff8df2..eb9dc68358 100644 --- a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf +++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf @@ -2603,6 +2603,17 @@ P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm # EUTRA-InterNodeDefinitions # +#.FN_BODY HandoverPreparationInformation-v1540-IEs/sourceRB-ConfigIntra5GC-r15 VAL_PTR = &radio_bearer_config_tvb + tvbuff_t *radio_bearer_config_tvb = NULL; + +%(DEFAULT_BODY)s + + if (radio_bearer_config_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigIntra5GC_r15); + dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL); + } + #.FN_BODY AS-ConfigNR-r15/sourceRB-ConfigNR-r15 VAL_PTR = &radio_bearer_config_tvb tvbuff_t *radio_bearer_config_tvb = NULL; @@ -2647,6 +2658,17 @@ P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY AS-Context-v1130/eag_3/selectedbandCombinationInfoEN-DC-v1540 VAL_PTR = &band_comb_info_sn_tvb + tvbuff_t *band_comb_info_sn_tvb = NULL; + +%(DEFAULT_BODY)s + + if (band_comb_info_sn_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540); + dissect_nr_rrc_BandCombinationInfoSN_PDU(band_comb_info_sn_tvb, actx->pinfo, subtree, NULL); + } + # # EUTRA-Sidelink-Preconf # diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c index 2bb19b0402..163ce0819d 100644 --- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c +++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c @@ -307,6 +307,8 @@ static gint ett_lte_rrc_sourceContextEN_DC_r15 = -1; static gint ett_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1; static gint ett_lte_rrc_measGapPatterns_v1520 = -1; static gint ett_lte_rrc_nas_Container_r15 = -1; +static gint ett_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; +static gint ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT; static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT; @@ -4303,7 +4305,9 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_sourceContextEN_DC_r15, &ett_lte_rrc_requestedFreqBandsNR_MRDC_r15, &ett_lte_rrc_measGapPatterns_v1520, - &ett_lte_rrc_nas_Container_r15 + &ett_lte_rrc_nas_Container_r15, + &ett_lte_rrc_sourceRB_ConfigIntra5GC_r15, + &ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 }; static ei_register_info ei[] = { diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index e847b9ac62..e4fc230cb7 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -39,6 +39,7 @@ T-StatusProhibit UL-DataSplitThreshold #.EXPORTS +BandCombinationInfoSN_PDU CellGroupConfig_PDU CG-Config_PDU CG-ConfigInfo_PDU @@ -71,6 +72,7 @@ UL-DCCH-Message_PDU UplinkTxDirectCurrentList_PDU #.PDU +BandCombinationInfoSN BCCH-BCH-Message @bcch.bch BCCH-DL-SCH-Message @bcch.dl.sch CellGroupConfig diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 0e27c2e525..3398194320 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -416,7 +416,7 @@ static int hf_lte_rrc_makeBeforeBreakReq_r14 = -1; /* T_makeBeforeBreakReq_r14 static int hf_lte_rrc_nonCriticalExtension_12 = -1; /* HandoverPreparationInformation_v1530_IEs */ static int hf_lte_rrc_ran_NotificationAreaInfo_r15 = -1; /* RAN_NotificationAreaInfo_r15 */ static int hf_lte_rrc_nonCriticalExtension_13 = -1; /* HandoverPreparationInformation_v1540_IEs */ -static int hf_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; /* T_sourceRB_ConfigIntra5GC_r15 */ static int hf_lte_rrc_nonCriticalExtension_14 = -1; /* T_nonCriticalExtension_02 */ static int hf_lte_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */ static int hf_lte_rrc_c1_02 = -1; /* T_c1_02 */ @@ -547,7 +547,7 @@ static int hf_lte_rrc_mbmsInterestIndication_r11 = -1; /* T_mbmsInterestIndicat static int hf_lte_rrc_powerPrefIndication_r11 = -1; /* T_powerPrefIndication_r11 */ static int hf_lte_rrc_sidelinkUEInformation_r12 = -1; /* T_sidelinkUEInformation_r12 */ static int hf_lte_rrc_sourceContextEN_DC_r15 = -1; /* T_sourceContextEN_DC_r15 */ -static int hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; /* T_selectedbandCombinationInfoEN_DC_v1540 */ static int hf_lte_rrc_wlanConnectionStatusReport_r13 = -1; /* T_wlanConnectionStatusReport_r13 */ static int hf_lte_rrc_sourcePhysCellId = -1; /* PhysCellId */ static int hf_lte_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */ @@ -11016,6 +11016,8 @@ static gint ett_lte_rrc_sourceContextEN_DC_r15 = -1; static gint ett_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1; static gint ett_lte_rrc_measGapPatterns_v1520 = -1; static gint ett_lte_rrc_nas_Container_r15 = -1; +static gint ett_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; +static gint ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT; static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT; @@ -49391,7 +49393,6 @@ dissect_lte_rrc_T_sourceContextEN_DC_r15(tvbuff_t *tvb _U_, int offset _U_, asn1 } - return offset; } @@ -49409,8 +49410,29 @@ dissect_lte_rrc_AS_Context_v1130_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_c } + +static int +dissect_lte_rrc_T_selectedbandCombinationInfoEN_DC_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *band_comb_info_sn_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &band_comb_info_sn_tvb); + + + if (band_comb_info_sn_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540); + dissect_nr_rrc_BandCombinationInfoSN_PDU(band_comb_info_sn_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + static const per_sequence_t AS_Context_v1130_eag_3_sequence[] = { - { &hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_selectedbandCombinationInfoEN_DC_v1540 }, { NULL, 0, 0, NULL } }; @@ -53913,6 +53935,26 @@ dissect_lte_rrc_RAN_NotificationAreaInfo_r15(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_lte_rrc_T_sourceRB_ConfigIntra5GC_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *radio_bearer_config_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &radio_bearer_config_tvb); + + + if (radio_bearer_config_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigIntra5GC_r15); + dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { { NULL, 0, 0, NULL } }; @@ -53927,7 +53969,7 @@ dissect_lte_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t HandoverPreparationInformation_v1540_IEs_sequence[] = { - { &hf_lte_rrc_sourceRB_ConfigIntra5GC_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_sourceRB_ConfigIntra5GC_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sourceRB_ConfigIntra5GC_r15 }, { &hf_lte_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_02 }, { NULL, 0, 0, NULL } }; @@ -109656,7 +109698,7 @@ static int dissect_UE_RadioPagingInfo_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info /*--- End of included file: packet-lte-rrc-fn.c ---*/ -#line 3135 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3137 "./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_) @@ -110501,7 +110543,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_sourceRB_ConfigIntra5GC_r15, { "sourceRB-ConfigIntra5GC-r15", "lte-rrc.sourceRB_ConfigIntra5GC_r15", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_nonCriticalExtension_14, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, @@ -111025,7 +111067,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540, { "selectedbandCombinationInfoEN-DC-v1540", "lte-rrc.selectedbandCombinationInfoEN_DC_v1540", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_wlanConnectionStatusReport_r13, { "wlanConnectionStatusReport-r13", "lte-rrc.wlanConnectionStatusReport_r13", FT_BYTES, BASE_NONE, NULL, 0, @@ -138984,7 +139026,7 @@ void proto_register_lte_rrc(void) { "CarrierFreq_NB_r13", HFILL }}, /*--- End of included file: packet-lte-rrc-hfarr.c ---*/ -#line 3510 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3512 "./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", @@ -142986,7 +143028,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PCI_ARFCN_NB_r14, /*--- End of included file: packet-lte-rrc-ettarr.c ---*/ -#line 4269 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4271 "./asn1/lte-rrc/packet-lte-rrc-template.c" &ett_lte_rrc_featureGroupIndicators, &ett_lte_rrc_featureGroupIndRel9Add, @@ -143024,7 +143066,9 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_sourceContextEN_DC_r15, &ett_lte_rrc_requestedFreqBandsNR_MRDC_r15, &ett_lte_rrc_measGapPatterns_v1520, - &ett_lte_rrc_nas_Container_r15 + &ett_lte_rrc_nas_Container_r15, + &ett_lte_rrc_sourceRB_ConfigIntra5GC_r15, + &ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 }; static ei_register_info ei[] = { @@ -143114,7 +143158,7 @@ void proto_register_lte_rrc(void) { /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/ -#line 4361 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4365 "./asn1/lte-rrc/packet-lte-rrc-template.c" lte_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); lte_rrc_system_info_value_changed_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index 83e7338c62..f56520730d 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -250,6 +250,7 @@ static int proto_nr_rrc = -1; static int hf_nr_rrc_nr_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */ static int hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ static int hf_nr_rrc_nr_rrc_CG_Config_PDU = -1; /* CG_Config */ +static int hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1; /* CG_ConfigInfo */ static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1; /* ConfigRestrictInfoSCG */ static int hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU = -1; /* MeasurementTimingConfiguration */ @@ -41064,6 +41065,14 @@ int dissect_nr_rrc_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_BandCombinationInfoSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_BandCombinationInfoSN(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -41402,6 +41411,10 @@ proto_register_nr_rrc(void) { { "CG-Config", "nr-rrc.CG_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU, + { "BandCombinationInfoSN", "nr-rrc.BandCombinationInfoSN_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU, { "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element", FT_NONE, BASE_NONE, NULL, 0, diff --git a/epan/dissectors/packet-nr-rrc.h b/epan/dissectors/packet-nr-rrc.h index 6c73e23f17..7a09f3352d 100644 --- a/epan/dissectors/packet-nr-rrc.h +++ b/epan/dissectors/packet-nr-rrc.h @@ -25,6 +25,7 @@ int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_BandCombinationInfoSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); |