E1AP: upgrade dissector to v16.8.0

This commit is contained in:
Pascal Quantin 2022-01-03 19:07:23 +01:00 committed by A Wireshark GitLab Utility
parent c50512abc3
commit ce43234c5a
9 changed files with 165 additions and 85 deletions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.7.0 (2021-10)
-- 3GPP TS 38.463 V16.8.0 (2021-12)
-- **************************************************************
--
-- Common definitions

View File

@ -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

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.7.0 (2021-10)
-- 3GPP TS 38.463 V16.8.0 (2021-12)
-- **************************************************************
--
-- Container definitions

View File

@ -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,

View File

@ -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},
...
}

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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, &param_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, &timestamp_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, &timestamp_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, &timestamp_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, &timestamp_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, &parameter_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, &param_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, &param_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, &parameter_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, &param_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));