diff options
author | Pascal Quantin <pascal@wireshark.org> | 2022-01-03 19:07:23 +0100 |
---|---|---|
committer | A Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2022-01-03 18:48:52 +0000 |
commit | ce43234c5a3840602b4a2ae05e82d1d04d17f313 (patch) | |
tree | dfc9fd1ecc658055fda80a55e2ff8fefd68438aa | |
parent | c50512abc35b1b06b133d8684cc191fce8cdc443 (diff) |
E1AP: upgrade dissector to v16.8.0
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-Constants.asn | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-Containers.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-IEs.asn | 26 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn | 8 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/e1ap.cnf | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/e1ap/packet-e1ap-template.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-e1ap.c | 198 |
9 files changed, 165 insertions, 85 deletions
diff --git a/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn b/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn index 0d96a85c81..4d489405c4 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- Common definitions diff --git a/epan/dissectors/asn1/e1ap/E1AP-Constants.asn b/epan/dissectors/asn1/e1ap/E1AP-Constants.asn index 6a7496581a..fe3962df3b 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-Constants.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-Constants.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- Constant definitions @@ -232,6 +232,8 @@ id-DataForwardingtoNG-RANQoSFlowInformationList ProtocolIE-ID ::= 136 id-MaxCIDEHCDL ProtocolIE-ID ::= 137 id-ignoreMappingRuleIndication ProtocolIE-ID ::= 138 id-DirectForwardingPathAvailability ProtocolIE-ID ::= 139 +id-EarlyDataForwardingIndicator ProtocolIE-ID ::= 140 +id-QoSFlowsDRBRemapping ProtocolIE-ID ::= 141 END diff --git a/epan/dissectors/asn1/e1ap/E1AP-Containers.asn b/epan/dissectors/asn1/e1ap/E1AP-Containers.asn index 0d5b2d14da..99b544dcce 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-Containers.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-Containers.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- Container definitions diff --git a/epan/dissectors/asn1/e1ap/E1AP-IEs.asn b/epan/dissectors/asn1/e1ap/E1AP-IEs.asn index 5ae007bb38..5d4f72bdbd 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-IEs.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-IEs.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- Information Element Definitions @@ -53,6 +53,8 @@ IMPORTS id-DataForwardingtoNG-RANQoSFlowInformationList, id-MaxCIDEHCDL, id-ignoreMappingRuleIndication, + id-EarlyDataForwardingIndicator, + id-QoSFlowsDRBRemapping, maxnoofQoSParaSets, maxnoofErrors, maxnoofSliceItems, @@ -426,7 +428,8 @@ DefaultDRB ::= ENUMERATED { DirectForwardingPathAvailability ::= ENUMERATED { inter-system-direct-path-available, - ... + ..., + intra-system-direct-path-available } DiscardTimer ::= ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, ms250, ms300, ms500, ms750, ms1500, infinity} @@ -831,9 +834,11 @@ DRB-To-Modify-Item-NG-RAN ::= SEQUENCE { DRB-To-Modify-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= { {ID id-OldQoSFlowMap-ULendmarkerexpected CRITICALITY reject EXTENSION QoS-Flow-List PRESENCE optional}| - {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}| - {ID id-EarlyForwardingCOUNTReq CRITICALITY reject EXTENSION EarlyForwardingCOUNTReq PRESENCE optional}| - {ID id-EarlyForwardingCOUNTInfo CRITICALITY reject EXTENSION EarlyForwardingCOUNTInfo PRESENCE optional}, + {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}| + {ID id-EarlyForwardingCOUNTReq CRITICALITY reject EXTENSION EarlyForwardingCOUNTReq PRESENCE optional}| + {ID id-EarlyForwardingCOUNTInfo CRITICALITY reject EXTENSION EarlyForwardingCOUNTInfo PRESENCE optional}| + {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}| + {ID id-EarlyDataForwardingIndicator CRITICALITY ignore EXTENSION EarlyDataForwardingIndicator PRESENCE optional}, ... } @@ -942,9 +947,10 @@ DRB-To-Setup-Item-NG-RAN ::= SEQUENCE { } DRB-To-Setup-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= { - {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}| - {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}| - {ID id-ignoreMappingRuleIndication CRITICALITY reject EXTENSION IgnoreMappingRuleIndication PRESENCE optional}, + {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}| + {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}| + {ID id-ignoreMappingRuleIndication CRITICALITY reject EXTENSION IgnoreMappingRuleIndication PRESENCE optional}| + {ID id-QoSFlowsDRBRemapping CRITICALITY reject EXTENSION QoS-Flows-DRB-Remapping PRESENCE optional}, ... } @@ -1017,6 +1023,8 @@ DataDiscardRequired ::= ENUMERATED { -- E +EarlyDataForwardingIndicator ::= ENUMERATED {stop, ...} + EarlyForwardingCOUNTInfo ::= CHOICE { firstDLCount FirstDLCount, dLDiscardingCount DLDiscarding, @@ -2088,6 +2096,8 @@ QoS-Flow-Mapping-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= { QoS-Flow-Mapping-Indication ::= ENUMERATED {ul, dl, ...} +QoS-Flows-DRB-Remapping ::= ENUMERATED {update, source-configuration, ...} + QoS-Parameters-Support-List ::= SEQUENCE { eUTRAN-QoS-Support-List EUTRAN-QoS-Support-List OPTIONAL, nG-RAN-QoS-Support-List NG-RAN-QoS-Support-List OPTIONAL, diff --git a/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn b/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn index 4d0a1ac7cc..34e778a768 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- PDU definitions for E1AP @@ -1335,8 +1335,8 @@ DeactivateTraceIEs E1AP-PROTOCOL-IES ::= { -- ************************************************************** CellTrafficTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } }, - ... +protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } }, +... } CellTrafficTraceIEs E1AP-PROTOCOL-IES ::= { @@ -1345,7 +1345,7 @@ CellTrafficTraceIEs E1AP-PROTOCOL-IES ::= { {ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory}| {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }| {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional}| - {ID id-URIaddress CRITICALITY ignore TYPE URIaddress PRESENCE optional}, +{ID id-URIaddress CRITICALITY ignore TYPE URIaddress PRESENCE optional}, ... } diff --git a/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn index d79c5d129d..0b10d31bdd 100644 --- a/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.463 V16.7.0 (2021-10) +-- 3GPP TS 38.463 V16.8.0 (2021-12) -- ************************************************************** -- -- Elementary Procedure definitions diff --git a/epan/dissectors/asn1/e1ap/e1ap.cnf b/epan/dissectors/asn1/e1ap/e1ap.cnf index d856763ccd..30daf8a585 100644 --- a/epan/dissectors/asn1/e1ap/e1ap.cnf +++ b/epan/dissectors/asn1/e1ap/e1ap.cnf @@ -289,6 +289,8 @@ id-DataForwardingtoNG-RANQoSFlowInformationList ProtocolIE-ID id-MaxCIDEHCDL ProtocolIE-ID id-ignoreMappingRuleIndication ProtocolIE-ID id-DirectForwardingPathAvailability ProtocolIE-ID +id-EarlyDataForwardingIndicator ProtocolIE-ID +id-QoSFlowsDRBRemapping ProtocolIE-ID #.END #.REGISTER @@ -436,6 +438,8 @@ Extended-NR-CGI-Support-List N e1ap.extension id-Extended-NR-CGI DataForwardingtoNG-RANQoSFlowInformationList N e1ap.extension id-DataForwardingtoNG-RANQoSFlowInformationList MaxCIDEHCDL N e1ap.extension id-MaxCIDEHCDL IgnoreMappingRuleIndication N e1ap.extension id-ignoreMappingRuleIndication +EarlyDataForwardingIndicator N e1ap.extension id-EarlyDataForwardingIndicator +QoS-Flows-DRB-Remapping N e1ap.extension id-QoSFlowsDRBRemapping #E1AP-ELEMENTARY-PROCEDURE Reset N e1ap.proc.imsg id-reset diff --git a/epan/dissectors/asn1/e1ap/packet-e1ap-template.c b/epan/dissectors/asn1/e1ap/packet-e1ap-template.c index 87daf9fc26..8b58ab32fa 100644 --- a/epan/dissectors/asn1/e1ap/packet-e1ap-template.c +++ b/epan/dissectors/asn1/e1ap/packet-e1ap-template.c @@ -1,6 +1,6 @@ /* packet-e1ap.c * Routines for E-UTRAN E1 Application Protocol (E1AP) packet dissection - * Copyright 2018-2020, Pascal Quantin <pascal@wireshark.org> + * Copyright 2018-2022, Pascal Quantin <pascal@wireshark.org> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -8,7 +8,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later * - * References: 3GPP TS 38.463 V16.6.0 (2021-07) + * References: 3GPP TS 38.463 V16.8.0 (2021-12) */ #include "config.h" diff --git a/epan/dissectors/packet-e1ap.c b/epan/dissectors/packet-e1ap.c index baa95b89cc..b624b7d9e8 100644 --- a/epan/dissectors/packet-e1ap.c +++ b/epan/dissectors/packet-e1ap.c @@ -8,7 +8,7 @@ #line 1 "./asn1/e1ap/packet-e1ap-template.c" /* packet-e1ap.c * Routines for E-UTRAN E1 Application Protocol (E1AP) packet dissection - * Copyright 2018-2020, Pascal Quantin <pascal@wireshark.org> + * Copyright 2018-2022, Pascal Quantin <pascal@wireshark.org> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -16,7 +16,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later * - * References: 3GPP TS 38.463 V16.6.0 (2021-07) + * References: 3GPP TS 38.463 V16.8.0 (2021-12) */ #include "config.h" @@ -243,7 +243,9 @@ typedef enum _ProtocolIE_ID_enum { id_DataForwardingtoNG_RANQoSFlowInformationList = 136, id_MaxCIDEHCDL = 137, id_ignoreMappingRuleIndication = 138, - id_DirectForwardingPathAvailability = 139 + id_DirectForwardingPathAvailability = 139, + id_EarlyDataForwardingIndicator = 140, + id_QoSFlowsDRBRemapping = 141 } ProtocolIE_ID_enum; /*--- End of included file: packet-e1ap-val.h ---*/ @@ -309,6 +311,7 @@ static int hf_e1ap_DRB_Required_To_Remove_List_EUTRAN_PDU = -1; /* DRB_Required static int hf_e1ap_DRB_To_Setup_List_EUTRAN_PDU = -1; /* DRB_To_Setup_List_EUTRAN */ static int hf_e1ap_DRB_To_Setup_Mod_List_EUTRAN_PDU = -1; /* DRB_To_Setup_Mod_List_EUTRAN */ static int hf_e1ap_DataDiscardRequired_PDU = -1; /* DataDiscardRequired */ +static int hf_e1ap_EarlyDataForwardingIndicator_PDU = -1; /* EarlyDataForwardingIndicator */ static int hf_e1ap_EarlyForwardingCOUNTInfo_PDU = -1; /* EarlyForwardingCOUNTInfo */ static int hf_e1ap_EarlyForwardingCOUNTReq_PDU = -1; /* EarlyForwardingCOUNTReq */ static int hf_e1ap_EHC_Parameters_PDU = -1; /* EHC_Parameters */ @@ -357,6 +360,7 @@ static int hf_e1ap_PPI_PDU = -1; /* PPI */ static int hf_e1ap_PrivacyIndicator_PDU = -1; /* PrivacyIndicator */ static int hf_e1ap_QoS_Flow_List_PDU = -1; /* QoS_Flow_List */ static int hf_e1ap_QoS_Flow_Mapping_Indication_PDU = -1; /* QoS_Flow_Mapping_Indication */ +static int hf_e1ap_QoS_Flows_DRB_Remapping_PDU = -1; /* QoS_Flows_DRB_Remapping */ static int hf_e1ap_QoSFlowLevelQoSParameters_PDU = -1; /* QoSFlowLevelQoSParameters */ static int hf_e1ap_QosMonitoringRequest_PDU = -1; /* QosMonitoringRequest */ static int hf_e1ap_QosMonitoringReportingFrequency_PDU = -1; /* QosMonitoringReportingFrequency */ @@ -1497,6 +1501,8 @@ static const value_string e1ap_ProtocolIE_ID_vals[] = { { id_MaxCIDEHCDL, "id-MaxCIDEHCDL" }, { id_ignoreMappingRuleIndication, "id-ignoreMappingRuleIndication" }, { id_DirectForwardingPathAvailability, "id-DirectForwardingPathAvailability" }, + { id_EarlyDataForwardingIndicator, "id-EarlyDataForwardingIndicator" }, + { id_QoSFlowsDRBRemapping, "id-QoSFlowsDRBRemapping" }, { 0, NULL } }; @@ -2345,7 +2351,7 @@ dissect_e1ap_ConfidentialityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, static int dissect_e1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 586 "./asn1/e1ap/e1ap.cnf" +#line 590 "./asn1/e1ap/e1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 160, TRUE, NULL, 0, ¶m_tvb, NULL); @@ -2735,7 +2741,7 @@ dissect_e1ap_T_secondaryRATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 609 "./asn1/e1ap/e1ap.cnf" +#line 613 "./asn1/e1ap/e1ap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -2743,7 +2749,7 @@ dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * -#line 613 "./asn1/e1ap/e1ap.cnf" +#line 617 "./asn1/e1ap/e1ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -2756,7 +2762,7 @@ dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_e1ap_T_endTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 618 "./asn1/e1ap/e1ap.cnf" +#line 622 "./asn1/e1ap/e1ap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -2764,7 +2770,7 @@ dissect_e1ap_T_endTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac -#line 622 "./asn1/e1ap/e1ap.cnf" +#line 626 "./asn1/e1ap/e1ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -2882,7 +2888,7 @@ dissect_e1ap_Data_Usage_per_QoS_Flow_List(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 547 "./asn1/e1ap/e1ap.cnf" +#line 551 "./asn1/e1ap/e1ap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -2890,7 +2896,7 @@ dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act -#line 551 "./asn1/e1ap/e1ap.cnf" +#line 555 "./asn1/e1ap/e1ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -2903,7 +2909,7 @@ dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static int dissect_e1ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 556 "./asn1/e1ap/e1ap.cnf" +#line 560 "./asn1/e1ap/e1ap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -2911,7 +2917,7 @@ dissect_e1ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx -#line 560 "./asn1/e1ap/e1ap.cnf" +#line 564 "./asn1/e1ap/e1ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -3002,6 +3008,7 @@ dissect_e1ap_DefaultDRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static const value_string e1ap_DirectForwardingPathAvailability_vals[] = { { 0, "inter-system-direct-path-available" }, + { 1, "intra-system-direct-path-available" }, { 0, NULL } }; @@ -3009,7 +3016,7 @@ static const value_string e1ap_DirectForwardingPathAvailability_vals[] = { static int dissect_e1ap_DirectForwardingPathAvailability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 1, NULL); return offset; } @@ -5179,6 +5186,21 @@ dissect_e1ap_DataDiscardRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string e1ap_EarlyDataForwardingIndicator_vals[] = { + { 0, "stop" }, + { 0, NULL } +}; + + +static int +dissect_e1ap_EarlyDataForwardingIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static const per_sequence_t FirstDLCount_sequence[] = { { &hf_e1ap_firstDLCountVal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e1ap_PDCP_Count }, { &hf_e1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_e1ap_ProtocolExtensionContainer }, @@ -5355,7 +5377,7 @@ dissect_e1ap_EncryptionKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_e1ap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 537 "./asn1/e1ap/e1ap.cnf" +#line 541 "./asn1/e1ap/e1ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 16, 16, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -5903,7 +5925,7 @@ dissect_e1ap_IntegrityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_e1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 639 "./asn1/e1ap/e1ap.cnf" +#line 643 "./asn1/e1ap/e1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶m_tvb, NULL); @@ -5931,7 +5953,7 @@ dissect_e1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_e1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 659 "./asn1/e1ap/e1ap.cnf" +#line 663 "./asn1/e1ap/e1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶m_tvb, NULL); @@ -6209,7 +6231,7 @@ dissect_e1ap_MDT_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_e1ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 518 "./asn1/e1ap/e1ap.cnf" +#line 522 "./asn1/e1ap/e1ap.cnf" tvbuff_t *param_tvb = NULL; e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo); e212_number_type_t number_type = e1ap_data->number_type; @@ -6399,7 +6421,7 @@ static const per_sequence_t NR_CGI_sequence[] = { static int dissect_e1ap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 529 "./asn1/e1ap/e1ap.cnf" +#line 533 "./asn1/e1ap/e1ap.cnf" e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo); e1ap_data->number_type = E212_NRCGI; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7041,6 +7063,22 @@ dissect_e1ap_PrivacyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string e1ap_QoS_Flows_DRB_Remapping_vals[] = { + { 0, "update" }, + { 1, "source-configuration" }, + { 0, NULL } +}; + + +static int +dissect_e1ap_QoS_Flows_DRB_Remapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + static const per_sequence_t QoS_Parameters_Support_List_sequence[] = { { &hf_e1ap_eUTRAN_QoS_Support_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e1ap_EUTRAN_QoS_Support_List }, { &hf_e1ap_nG_RAN_QoS_Support_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e1ap_NG_RAN_QoS_Support_List }, @@ -7253,7 +7291,7 @@ dissect_e1ap_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_e1ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 675 "./asn1/e1ap/e1ap.cnf" +#line 679 "./asn1/e1ap/e1ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 36, 36, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -7438,7 +7476,7 @@ dissect_e1ap_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int dissect_e1ap_BurstArrivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 692 "./asn1/e1ap/e1ap.cnf" +#line 696 "./asn1/e1ap/e1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); @@ -7659,7 +7697,7 @@ static const per_sequence_t Reset_sequence[] = { static int dissect_e1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 706 "./asn1/e1ap/e1ap.cnf" +#line 710 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7729,7 +7767,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = { static int dissect_e1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 708 "./asn1/e1ap/e1ap.cnf" +#line 712 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7760,7 +7798,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_e1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 710 "./asn1/e1ap/e1ap.cnf" +#line 714 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7777,7 +7815,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupRequest_sequence[] = { static int dissect_e1ap_GNB_CU_UP_E1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 712 "./asn1/e1ap/e1ap.cnf" +#line 716 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7826,7 +7864,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupResponse_sequence[] = { static int dissect_e1ap_GNB_CU_UP_E1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 714 "./asn1/e1ap/e1ap.cnf" +#line 718 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7843,7 +7881,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupFailure_sequence[] = { static int dissect_e1ap_GNB_CU_UP_E1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 716 "./asn1/e1ap/e1ap.cnf" +#line 720 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7860,7 +7898,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupRequest_sequence[] = { static int dissect_e1ap_GNB_CU_CP_E1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 718 "./asn1/e1ap/e1ap.cnf" +#line 722 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7877,7 +7915,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupResponse_sequence[] = { static int dissect_e1ap_GNB_CU_CP_E1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 720 "./asn1/e1ap/e1ap.cnf" +#line 724 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7894,7 +7932,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupFailure_sequence[] = { static int dissect_e1ap_GNB_CU_CP_E1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 722 "./asn1/e1ap/e1ap.cnf" +#line 726 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7911,7 +7949,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdate_sequence[] = { static int dissect_e1ap_GNB_CU_UP_ConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 724 "./asn1/e1ap/e1ap.cnf" +#line 728 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7942,7 +7980,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdateAcknowledge_sequence[] static int dissect_e1ap_GNB_CU_UP_ConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 726 "./asn1/e1ap/e1ap.cnf" +#line 730 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7959,7 +7997,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdateFailure_sequence[] = { static int dissect_e1ap_GNB_CU_UP_ConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 728 "./asn1/e1ap/e1ap.cnf" +#line 732 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7976,7 +8014,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdate_sequence[] = { static int dissect_e1ap_GNB_CU_CP_ConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 730 "./asn1/e1ap/e1ap.cnf" +#line 734 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8035,7 +8073,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdateAcknowledge_sequence[] static int dissect_e1ap_GNB_CU_CP_ConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 732 "./asn1/e1ap/e1ap.cnf" +#line 736 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8080,7 +8118,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdateFailure_sequence[] = { static int dissect_e1ap_GNB_CU_CP_ConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 734 "./asn1/e1ap/e1ap.cnf" +#line 738 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8097,7 +8135,7 @@ static const per_sequence_t E1ReleaseRequest_sequence[] = { static int dissect_e1ap_E1ReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 736 "./asn1/e1ap/e1ap.cnf" +#line 740 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8114,7 +8152,7 @@ static const per_sequence_t E1ReleaseResponse_sequence[] = { static int dissect_e1ap_E1ReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 738 "./asn1/e1ap/e1ap.cnf" +#line 742 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8131,7 +8169,7 @@ static const per_sequence_t BearerContextSetupRequest_sequence[] = { static int dissect_e1ap_BearerContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 740 "./asn1/e1ap/e1ap.cnf" +#line 744 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8172,7 +8210,7 @@ static const per_sequence_t BearerContextSetupResponse_sequence[] = { static int dissect_e1ap_BearerContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 742 "./asn1/e1ap/e1ap.cnf" +#line 746 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8213,7 +8251,7 @@ static const per_sequence_t BearerContextSetupFailure_sequence[] = { static int dissect_e1ap_BearerContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 744 "./asn1/e1ap/e1ap.cnf" +#line 748 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8230,7 +8268,7 @@ static const per_sequence_t BearerContextModificationRequest_sequence[] = { static int dissect_e1ap_BearerContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 746 "./asn1/e1ap/e1ap.cnf" +#line 750 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8271,7 +8309,7 @@ static const per_sequence_t BearerContextModificationResponse_sequence[] = { static int dissect_e1ap_BearerContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 748 "./asn1/e1ap/e1ap.cnf" +#line 752 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8312,7 +8350,7 @@ static const per_sequence_t BearerContextModificationFailure_sequence[] = { static int dissect_e1ap_BearerContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 750 "./asn1/e1ap/e1ap.cnf" +#line 754 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8329,7 +8367,7 @@ static const per_sequence_t BearerContextModificationRequired_sequence[] = { static int dissect_e1ap_BearerContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 752 "./asn1/e1ap/e1ap.cnf" +#line 756 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8370,7 +8408,7 @@ static const per_sequence_t BearerContextModificationConfirm_sequence[] = { static int dissect_e1ap_BearerContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 754 "./asn1/e1ap/e1ap.cnf" +#line 758 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8411,7 +8449,7 @@ static const per_sequence_t BearerContextReleaseCommand_sequence[] = { static int dissect_e1ap_BearerContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 756 "./asn1/e1ap/e1ap.cnf" +#line 760 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseCommand"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8428,7 +8466,7 @@ static const per_sequence_t BearerContextReleaseComplete_sequence[] = { static int dissect_e1ap_BearerContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 758 "./asn1/e1ap/e1ap.cnf" +#line 762 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8445,7 +8483,7 @@ static const per_sequence_t BearerContextReleaseRequest_sequence[] = { static int dissect_e1ap_BearerContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 760 "./asn1/e1ap/e1ap.cnf" +#line 764 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8476,7 +8514,7 @@ static const per_sequence_t BearerContextInactivityNotification_sequence[] = { static int dissect_e1ap_BearerContextInactivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 762 "./asn1/e1ap/e1ap.cnf" +#line 766 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextInactivityNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8493,7 +8531,7 @@ static const per_sequence_t DLDataNotification_sequence[] = { static int dissect_e1ap_DLDataNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 764 "./asn1/e1ap/e1ap.cnf" +#line 768 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDataNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8510,7 +8548,7 @@ static const per_sequence_t ULDataNotification_sequence[] = { static int dissect_e1ap_ULDataNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 766 "./asn1/e1ap/e1ap.cnf" +#line 770 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDataNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8527,7 +8565,7 @@ static const per_sequence_t DataUsageReport_sequence[] = { static int dissect_e1ap_DataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 768 "./asn1/e1ap/e1ap.cnf" +#line 772 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8544,7 +8582,7 @@ static const per_sequence_t GNB_CU_UP_CounterCheckRequest_sequence[] = { static int dissect_e1ap_GNB_CU_UP_CounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 770 "./asn1/e1ap/e1ap.cnf" +#line 774 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest"); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest"); @@ -8600,7 +8638,7 @@ static const per_sequence_t GNB_CU_CPMeasurementResultsInformation_sequence[] = static int dissect_e1ap_GNB_CU_CPMeasurementResultsInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 776 "./asn1/e1ap/e1ap.cnf" +#line 780 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CPMeasurementResultsInformation"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8617,7 +8655,7 @@ static const per_sequence_t MRDC_DataUsageReport_sequence[] = { static int dissect_e1ap_MRDC_DataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 778 "./asn1/e1ap/e1ap.cnf" +#line 782 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MRDC-DataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8634,7 +8672,7 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_e1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 782 "./asn1/e1ap/e1ap.cnf" +#line 786 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8651,7 +8689,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_e1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 780 "./asn1/e1ap/e1ap.cnf" +#line 784 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8668,7 +8706,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = { static int dissect_e1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 798 "./asn1/e1ap/e1ap.cnf" +#line 802 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8685,7 +8723,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_e1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 774 "./asn1/e1ap/e1ap.cnf" +#line 778 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8702,7 +8740,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = { static int dissect_e1ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 784 "./asn1/e1ap/e1ap.cnf" +#line 788 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8729,7 +8767,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = { static int dissect_e1ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 786 "./asn1/e1ap/e1ap.cnf" +#line 790 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8746,7 +8784,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = { static int dissect_e1ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 788 "./asn1/e1ap/e1ap.cnf" +#line 792 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8763,7 +8801,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = { static int dissect_e1ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 790 "./asn1/e1ap/e1ap.cnf" +#line 794 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8780,7 +8818,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdate_sequence[] = { static int dissect_e1ap_IAB_UPTNLAddressUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 792 "./asn1/e1ap/e1ap.cnf" +#line 796 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8811,7 +8849,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdateAcknowledge_sequence[] = { static int dissect_e1ap_IAB_UPTNLAddressUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 794 "./asn1/e1ap/e1ap.cnf" +#line 798 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8842,7 +8880,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdateFailure_sequence[] = { static int dissect_e1ap_IAB_UPTNLAddressUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 796 "./asn1/e1ap/e1ap.cnf" +#line 800 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8859,7 +8897,7 @@ static const per_sequence_t EarlyForwardingSNTransfer_sequence[] = { static int dissect_e1ap_EarlyForwardingSNTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 800 "./asn1/e1ap/e1ap.cnf" +#line 804 "./asn1/e1ap/e1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyForwardingSNTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9277,6 +9315,14 @@ static int dissect_DataDiscardRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_EarlyDataForwardingIndicator_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, TRUE, pinfo); + offset = dissect_e1ap_EarlyDataForwardingIndicator(tvb, offset, &asn1_ctx, tree, hf_e1ap_EarlyDataForwardingIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_EarlyForwardingCOUNTInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9661,6 +9707,14 @@ static int dissect_QoS_Flow_Mapping_Indication_PDU(tvbuff_t *tvb _U_, packet_inf offset += 7; offset >>= 3; return offset; } +static int dissect_QoS_Flows_DRB_Remapping_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, TRUE, pinfo); + offset = dissect_e1ap_QoS_Flows_DRB_Remapping(tvb, offset, &asn1_ctx, tree, hf_e1ap_QoS_Flows_DRB_Remapping_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_QoSFlowLevelQoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10748,6 +10802,10 @@ void proto_register_e1ap(void) { { "DataDiscardRequired", "e1ap.DataDiscardRequired", FT_UINT32, BASE_DEC, VALS(e1ap_DataDiscardRequired_vals), 0, NULL, HFILL }}, + { &hf_e1ap_EarlyDataForwardingIndicator_PDU, + { "EarlyDataForwardingIndicator", "e1ap.EarlyDataForwardingIndicator", + FT_UINT32, BASE_DEC, VALS(e1ap_EarlyDataForwardingIndicator_vals), 0, + NULL, HFILL }}, { &hf_e1ap_EarlyForwardingCOUNTInfo_PDU, { "EarlyForwardingCOUNTInfo", "e1ap.EarlyForwardingCOUNTInfo", FT_UINT32, BASE_DEC, VALS(e1ap_EarlyForwardingCOUNTInfo_vals), 0, @@ -10940,6 +10998,10 @@ void proto_register_e1ap(void) { { "QoS-Flow-Mapping-Indication", "e1ap.QoS_Flow_Mapping_Indication", FT_UINT32, BASE_DEC, VALS(e1ap_QoS_Flow_Mapping_Indication_vals), 0, NULL, HFILL }}, + { &hf_e1ap_QoS_Flows_DRB_Remapping_PDU, + { "QoS-Flows-DRB-Remapping", "e1ap.QoS_Flows_DRB_Remapping", + FT_UINT32, BASE_DEC, VALS(e1ap_QoS_Flows_DRB_Remapping_vals), 0, + NULL, HFILL }}, { &hf_e1ap_QoSFlowLevelQoSParameters_PDU, { "QoSFlowLevelQoSParameters", "e1ap.QoSFlowLevelQoSParameters_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13400,6 +13462,8 @@ proto_reg_handoff_e1ap(void) dissector_add_uint("e1ap.extension", id_DataForwardingtoNG_RANQoSFlowInformationList, create_dissector_handle(dissect_DataForwardingtoNG_RANQoSFlowInformationList_PDU, proto_e1ap)); dissector_add_uint("e1ap.extension", id_MaxCIDEHCDL, create_dissector_handle(dissect_MaxCIDEHCDL_PDU, proto_e1ap)); dissector_add_uint("e1ap.extension", id_ignoreMappingRuleIndication, create_dissector_handle(dissect_IgnoreMappingRuleIndication_PDU, proto_e1ap)); + dissector_add_uint("e1ap.extension", id_EarlyDataForwardingIndicator, create_dissector_handle(dissect_EarlyDataForwardingIndicator_PDU, proto_e1ap)); + dissector_add_uint("e1ap.extension", id_QoSFlowsDRBRemapping, create_dissector_handle(dissect_QoS_Flows_DRB_Remapping_PDU, proto_e1ap)); dissector_add_uint("e1ap.proc.imsg", id_reset, create_dissector_handle(dissect_Reset_PDU, proto_e1ap)); dissector_add_uint("e1ap.proc.sout", id_reset, create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_e1ap)); dissector_add_uint("e1ap.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_e1ap)); |