PFCP: get rid of forward declarations by moving ie-decoder-table down

Part of cleanup that will ease refactorings in later commits.
Remove all forward declarations and move the table containing references
to those functions down.
This commit is contained in:
Joris Peeraer 2023-01-05 11:03:43 +01:00
parent bf071e39d9
commit b5fc7ff3bc
1 changed files with 369 additions and 481 deletions

View File

@ -1063,110 +1063,8 @@ typedef struct _pfcp_sub_dis_t {
static dissector_table_t pfcp_enterprise_ies_dissector_table;
static void dissect_pfcp_ies_common(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gint offset, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_pdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pdi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_far(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_forwarding_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_duplicating_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_urr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_qer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_created_pdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_pdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_far(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_upd_forwarding_param(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_bar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_urr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_qer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_pdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_far(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_urr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_qer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_load_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_overload_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_application_ids_pfds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pfd_context(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_application_detection_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pfcp_query_urr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_usage_report_smr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_usage_report_sdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_usage_report_srr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_downlink_data_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_bar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_bar_smr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_bar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_error_indication_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_user_plane_path_failure_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_duplicating_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_aggregated_urrs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_traffic_endpoint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_created_traffic_endpoint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_traffic_endpoint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_traffic_endpoint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_ethernet_packet_filter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_ethernet_traffic_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_additional_monitoring_time(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_mar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_mar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_mar(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_access_forwarding_action_information_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_access_forwarding_action_information_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_access_forwarding_action_information_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_access_forwarding_action_information_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_user_plane_path_recovery_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pfcp_session_retention_information_within_pfcp_association_setup_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_ip_multicast_addressing_info_within_pfcp_session_establishment_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_join_ip_multicast_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_leave_ip_multicast_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_created_bridge_info_for_tsc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_tsc_management_information_ie_within_pfcp_session_report_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_clock_drift_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_clock_drift_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_srr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_create_srr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_update_srr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_session_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_access_availability_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_access_availability_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_provide_atsss_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_atsss_control_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mptcp_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_atsss_ll_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pmf_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_ue_ip_address_pool_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_gtp_u_path_qos_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_gtp_u_path_qos_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_qos_information_in_gtp_u_path_qos_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_qos_monitoring_per_qos_flow_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_qos_monitoring_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_packet_rate_status_report_ie_within_pfcp_session_deletion_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_ethernet_context_information_within_pfcp_session_modification_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_redundant_transmission_detection_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_updated_pdr_ie_within_pfcp_session_modification_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_provide_rds_configuration_information_ie_within_pfcp_session_modification_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_query_packet_rate_status_ie_within_pfcp_session_modification_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_query_packet_rate_status_report_ie_within_pfcp_session_modification_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_ue_ip_address_usage_information_ie_within_pfcp_association_update_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_redundant_transmission_forward_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_transport_dealy_reporting_ie_in_create_pdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_partial_failure_information_within_pfcp_session_establishment_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_partial_failure_information_within_pfcp_session_modification_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_l2tp_tunnel_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_pfcp_session_change_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_direct_reporting_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mbs_session_n4mb_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mbs_multicast_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_add_mbs_unicast_parameters_ie_in_create_far(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mbs_session_n4mb_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_remove_mbs_unicast_parameters_ie_in_update_far(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_peer_up_restart_report_ie_within_pfcp__node_report_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void dissect_pfcp_dscp_to_ppi_control_information_ie_within_pfcp_session_establishment_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args _U_);
static void
dissect_pfcp_ies_common(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gint offset, guint16 length, guint8 message_type, pfcp_session_args_t *args);
static const true_false_string pfcp_id_predef_dynamic_tfs = {
"Predefined by UP",
@ -8910,345 +8808,6 @@ dissect_pfcp_vendor_specific_node_report_type(tvbuff_t *tvb, packet_info *pinfo,
}
}
/* Array of functions to dissect IEs
* (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args)
*/
typedef struct _pfcp_ie {
void(*decode) (tvbuff_t *, packet_info *, proto_tree *, proto_item *, guint16, guint8, pfcp_session_args_t *);
} pfcp_ie_t;
static const pfcp_ie_t pfcp_ies[] = {
/* 0 */ { dissect_pfcp_reserved },
/* 1 */ { dissect_pfcp_create_pdr }, /* Create PDR Extendable / Table 7.5.2.2-1 */
/* 2 */ { dissect_pfcp_pdi }, /* PDI Extendable / Table 7.5.2.2-2 */
/* 3 */ { dissect_pfcp_create_far }, /* Create FAR Extendable / Table 7.5.2.3-1 */
/* 4 */ { dissect_pfcp_forwarding_parameters }, /* Forwarding Parameters Extendable / Table 7.5.2.3-2 */
/* 5 */ { dissect_pfcp_duplicating_parameters }, /* Duplicating Parameters Extendable / Table 7.5.2.3-3 */
/* 6 */ { dissect_pfcp_create_urr }, /* Create URR Extendable / Table 7.5.2.4-1 */
/* 7 */ { dissect_pfcp_create_qer }, /* Create QER Extendable / Table 7.5.2.5-1 */
/* 8 */ { dissect_pfcp_created_pdr }, /* Created PDR Extendable / Table 7.5.3.2-1 */
/* 9 */ { dissect_pfcp_update_pdr }, /* Update PDR Extendable / Table 7.5.4.2-1 */
/* 10 */ { dissect_pfcp_update_far }, /* Update FAR Extendable / Table 7.5.4.3-1 */
/* 11 */ { dissect_pfcp_upd_forwarding_param }, /* Update Forwarding Parameters Extendable / Table 7.5.4.3-2 */
/* 12 */ { dissect_pfcp_update_bar }, /* Update BAR (PFCP Session Report Response) Extendable / Table 7.5.9.2-1 */
/* 13 */ { dissect_pfcp_update_urr }, /* Update URR Extendable / Table 7.5.4.4 */
/* 14 */ { dissect_pfcp_update_qer }, /* Update QER Extendable / Table 7.5.4.5 */
/* 15 */ { dissect_pfcp_remove_pdr }, /* Remove PDR Extendable / Table 7.5.4.6 */
/* 16 */ { dissect_pfcp_remove_far }, /* Remove FAR Extendable / Table 7.5.4.7 */
/* 17 */ { dissect_pfcp_remove_urr }, /* Remove URR Extendable / Table 7.5.4.8 */
/* 18 */ { dissect_pfcp_remove_qer }, /* Remove QER Extendable / Table 7.5.4.9 */
/* 19 */ { dissect_pfcp_cause }, /* Cause Fixed / Subclause 8.2.1 */
/* 20 */ { dissect_pfcp_source_interface }, /* Source Interface Extendable / Subclause 8.2.2 */
/* 21 */ { dissect_pfcp_f_teid }, /* F-TEID Extendable / Subclause 8.2.3 */
/* 22 */ { dissect_pfcp_network_instance }, /* Network Instance Variable Length / Subclause 8.2.4 */
/* 23 */ { dissect_pfcp_sdf_filter }, /* SDF Filter Extendable / Subclause 8.2.5 */
/* 24 */ { dissect_pfcp_application_id }, /* Application ID Variable Length / Subclause 8.2.6 */
/* 25 */ { dissect_pfcp_gate_status }, /* Gate Status Extendable / Subclause 8.2.7 */
/* 26 */ { dissect_pfcp_mbr }, /* MBR Extendable / Subclause 8.2.8 */
/* 27 */ { dissect_pfcp_gbr }, /* GBR Extendable / Subclause 8.2.9 */
/* 28 */ { dissect_pfcp_qer_correlation_id }, /* QER Correlation ID Extendable / Subclause 8.2.10 */
/* 29 */ { dissect_pfcp_precedence }, /* Precedence Extendable / Subclause 8.2.11 */
/* 30 */ { dissect_pfcp_transport_level_marking }, /* Transport Level Marking Extendable / Subclause 8.2.12 */
/* 31 */ { dissect_pfcp_volume_threshold }, /* Volume Threshold Extendable /Subclause 8.2.13 */
/* 32 */ { dissect_pfcp_time_threshold }, /* Time Threshold Extendable /Subclause 8.2.14 */
/* 33 */ { dissect_pfcp_monitoring_time }, /* Monitoring Time Extendable /Subclause 8.2.15 */
/* 34 */ { dissect_pfcp_subseq_volume_threshold }, /* Subsequent Volume Threshold Extendable /Subclause 8.2.16 */
/* 35 */ { dissect_pfcp_subsequent_time_threshold }, /* Subsequent Time Threshold Extendable /Subclause 8.2.17 */
/* 36 */ { dissect_pfcp_inactivity_detection_time }, /* Inactivity Detection Time Extendable /Subclause 8.2.18 */
/* 37 */ { dissect_pfcp_reporting_triggers }, /* Reporting Triggers Extendable /Subclause 8.2.19 */
/* 38 */ { dissect_pfcp_redirect_information }, /* Redirect Information Extendable /Subclause 8.2.20 */
/* 39 */ { dissect_pfcp_report_type }, /* Report Type Extendable / Subclause 8.2.21 */
/* 40 */ { dissect_pfcp_offending_ie }, /* Offending IE Fixed / Subclause 8.2.22 */
/* 41 */ { dissect_pfcp_forwarding_policy }, /* Forwarding Policy Extendable / Subclause 8.2.23 */
/* 42 */ { dissect_pfcp_destination_interface }, /* Destination Interface Extendable / Subclause 8.2.24 */
/* 43 */ { dissect_pfcp_up_function_features }, /* UP Function Features Extendable / Subclause 8.2.25 */
/* 44 */ { dissect_pfcp_apply_action }, /* Apply Action Extendable / Subclause 8.2.26 */
/* 45 */ { dissect_pfcp_dl_data_service_inf }, /* Downlink Data Service Information Extendable / Subclause 8.2.27 */
/* 46 */ { dissect_pfcp_dl_data_notification_delay }, /* Downlink Data Notification Delay Extendable / Subclause 8.2.28 */
/* 47 */ { dissect_pfcp_dl_buffering_dur }, /* DL Buffering Duration Extendable / Subclause 8.2.29 */
/* 48 */ { dissect_pfcp_dl_buffering_suggested_packet_count }, /* DL Buffering Suggested Packet Count Variable / Subclause 8.2.30 */
/* 49 */ { dissect_pfcp_pfcpsmreq_flags }, /* PFCPSMReq-Flags Extendable / Subclause 8.2.31 */
/* 50 */ { dissect_pfcp_pfcpsrrsp_flags }, /* PFCPSRRsp-Flags Extendable / Subclause 8.2.32 */
/* 51 */ { dissect_pfcp_load_control_information }, /* Load Control Information Extendable / Table 7.5.3.3-1 */
/* 52 */ { dissect_pfcp_sequence_number }, /* Sequence Number Fixed Length / Subclause 8.2.33 */
/* 53 */ { dissect_pfcp_metric }, /* Metric Fixed Length / Subclause 8.2.34 */
/* 54 */ { dissect_pfcp_overload_control_information }, /* Overload Control Information Extendable / Table 7.5.3.4-1 */
/* 55 */ { dissect_pfcp_timer }, /* Timer Extendable / Subclause 8.2 35 */
/* 56 */ { dissect_pfcp_pdr_id }, /* PDR ID Extendable / Subclause 8.2 36 */
/* 57 */ { dissect_pfcp_f_seid }, /* F-SEID Extendable / Subclause 8.2 37 */
/* 58 */ { dissect_pfcp_application_ids_pfds }, /* Application ID's PFDs Extendable / Table 7.4.3.1-2 */
/* 59 */ { dissect_pfcp_pfd_context }, /* PFD context Extendable / Table 7.4.3.1-3 */
/* 60 */ { dissect_pfcp_node_id }, /* Node ID Extendable / Subclause 8.2.38 */
/* 61 */ { dissect_pfcp_pfd_contents }, /* PFD contents Extendable / Subclause 8.2.39 */
/* 62 */ { dissect_pfcp_measurement_method }, /* Measurement Method Extendable / Subclause 8.2.40 */
/* 63 */ { dissect_pfcp_usage_report_trigger }, /* Usage Report Trigger Extendable / Subclause 8.2.41 */
/* 64 */ { dissect_pfcp_measurement_period }, /* Measurement Period Extendable / Subclause 8.2.42 */
/* 65 */ { dissect_pfcp_fq_csid }, /* FQ-CSID Extendable / Subclause 8.2.43 */
/* 66 */ { dissect_pfcp_volume_measurement }, /* Volume Measurement Extendable / Subclause 8.2.44 */
/* 67 */ { dissect_pfcp_duration_measurement }, /* Duration Measurement Extendable / Subclause 8.2.45 */
/* 68 */ { dissect_pfcp_application_detection_inf }, /* Application Detection Information Extendable / Table 7.5.8.3-2 */
/* 69 */ { dissect_pfcp_time_of_first_packet }, /* Time of First Packet Extendable / Subclause 8.2.46 */
/* 70 */ { dissect_pfcp_time_of_last_packet }, /* Time of Last Packet Extendable / Subclause 8.2.47 */
/* 71 */ { dissect_pfcp_quota_holding_time }, /* Quota Holding Time Extendable / Subclause 8.2.48 */
/* 72 */ { dissect_pfcp_dropped_dl_traffic_threshold }, /* Dropped DL Traffic Threshold Extendable / Subclause 8.2.49 */
/* 73 */ { dissect_pfcp_volume_quota }, /* Volume Quota Extendable / Subclause 8.2.50 */
/* 74 */ { dissect_pfcp_time_quota }, /* Time Quota Extendable / Subclause 8.2.51 */
/* 75 */ { dissect_pfcp_start_time }, /* Start Time Extendable / Subclause 8.2.52 */
/* 76 */ { dissect_pfcp_end_time }, /* End Time Extendable / Subclause 8.2.53 */
/* 77 */ { dissect_pfcp_pfcp_query_urr }, /* Query URR Extendable / Table 7.5.4.10-1 */
/* 78 */ { dissect_pfcp_usage_report_smr }, /* Usage Report (Session Modification Response) Extendable / Table 7.5.5.2-1 */
/* 79 */ { dissect_pfcp_usage_report_sdr }, /* Usage Report (Session Deletion Response) Extendable / Table 7.5.7.2-1 */
/* 80 */ { dissect_pfcp_usage_report_srr }, /* Usage Report (Session Report Request) Extendable / Table 7.5.8.3-1 */
/* 81 */ { dissect_pfcp_urr_id }, /* URR ID Extendable / Subclause 8.2.54 */
/* 82 */ { dissect_pfcp_linked_urr_id }, /* Linked URR ID Extendable / Subclause 8.2.55 */
/* 83 */ { dissect_pfcp_downlink_data_report }, /* Downlink Data Report Extendable / Table 7.5.8.2-1 */
/* 84 */ { dissect_pfcp_outer_header_creation }, /* Outer Header Creation Extendable / Subclause 8.2.56 */
/* 85 */ { dissect_pfcp_create_bar }, /* Create BAR Extendable / Table 7.5.2.6-1 */
/* 86 */ { dissect_pfcp_update_bar_smr }, /* Update BAR (Session Modification Request) Extendable / Table 7.5.4.11-1 */
/* 87 */ { dissect_pfcp_remove_bar }, /* Remove BAR Extendable / Table 7.5.4.12-1 */
/* 88 */ { dissect_pfcp_bar_id }, /* BAR ID Extendable / Subclause 8.2.57 */
/* 89 */ { dissect_pfcp_cp_function_features }, /* CP Function Features Extendable / Subclause 8.2.58 */
/* 90 */ { dissect_pfcp_usage_information }, /* Usage Information Extendable / Subclause 8.2.59 */
/* 91 */ { dissect_pfcp_application_instance_id }, /* Application Instance ID Variable Length / Subclause 8.2.60 */
/* 92 */ { dissect_pfcp_flow_inf }, /* Flow Information Extendable / Subclause 8.2.61 */
/* 93 */ { dissect_pfcp_ue_ip_address }, /* UE IP Address Extendable / Subclause 8.2.62 */
/* 94 */ { dissect_pfcp_packet_rate }, /* Packet Rate Extendable / Subclause 8.2.63 */
/* 95 */ { dissect_pfcp_outer_hdr_rem }, /* Outer Header Removal Extendable / Subclause 8.2.64 */
/* 96 */ { dissect_pfcp_recovery_time_stamp }, /* Recovery Time Stamp Extendable / Subclause 8.2.65 */
/* 97 */ { dissect_pfcp_dl_flow_level_marking }, /* DL Flow Level Marking Extendable / Subclause 8.2.66 */
/* 98 */ { dissect_pfcp_header_enrichment }, /* Header Enrichment Extendable / Subclause 8.2.67 */
/* 99 */ { dissect_pfcp_error_indication_report }, /* Error Indication Report Extendable / Table 7.5.8.4-1 */
/* 100 */ { dissect_pfcp_measurement_info }, /* Measurement Information Extendable / Subclause 8.2.68 */
/* 101 */ { dissect_pfcp_node_report_type }, /* Node Report Type Extendable / Subclause 8.2.69 */
/* 102 */ { dissect_pfcp_user_plane_path_failure_report }, /* User Plane Path Failure Report Extendable / Table 7.4.5.1.2-1 */
/* 103 */ { dissect_pfcp_remote_gtp_u_peer }, /* Remote GTP-U Peer Extendable / Subclause 8.2.70 */
/* 104 */ { dissect_pfcp_ur_seqn }, /* UR-SEQN Fixed Length / Subclause 8.2.71 */
/* 105 */ { dissect_pfcp_update_duplicating_parameters }, /* Update Duplicating Parameters Extendable / Table 7.5.4.3-3 */
/* 106 */ { dissect_pfcp_act_predef_rules }, /* Activate Predefined Rules Variable Length / Subclause 8.2.72 */
/* 107 */ { dissect_pfcp_deact_predef_rules }, /* Deactivate Predefined Rules Variable Length / Subclause 8.2.73 */
/* 108 */ { dissect_pfcp_far_id }, /* FAR ID Extendable / Subclause 8.2.74 */
/* 109 */ { dissect_pfcp_qer_id }, /* QER ID Extendable / Subclause 8.2.75 */
/* 110 */ { dissect_pfcp_oci_flags }, /* OCI Flags Extendable / Subclause 8.2.76 */
/* 111 */ { dissect_pfcp_pfcp_assoc_rel_req }, /* PFCP Association Release Request Extendable / Subclause 8.2.77 */
/* 112 */ { dissect_pfcp_graceful_release_period }, /* Graceful Release Period Extendable / Subclause 8.2.78 */
/* 113 */ { dissect_pfcp_pdn_type }, /* PDN Type Fixed Length / Subclause 8.2.79 */
/* 114 */ { dissect_pfcp_failed_rule_id }, /* Failed Rule ID Extendable / Subclause 8.2.80 */
/* 115 */ { dissect_pfcp_time_quota_mechanism }, /* Time Quota Mechanism Extendable / Subclause 8.2.81 */
/* 116 */ { dissect_pfcp_user_plane_ip_resource_infomation }, /* User Plane IP Resource Information Extendable / Subclause 8.2.82 */
/* 117 */ { dissect_pfcp_user_plane_inactivity_timer }, /* User Plane Inactivity Timer Extendable / Subclause 8.2.83 */
/* 118 */ { dissect_pfcp_aggregated_urrs }, /* Aggregated URRs Extendable / Table 7.5.2.4-2 */
/* 119 */ { dissect_pfcp_multiplier }, /* Multiplier Fixed Length / Subclause 8.2.84 */
/* 120 */ { dissect_pfcp_aggregated_urr_id_ie }, /* Aggregated URR ID IE Fixed Length / Subclause 8.2.85 */
/* 121 */ { dissect_pfcp_subsequent_volume_quota }, /* Subsequent Volume Quota Extendable / Subclause 8.2.86 */
/* 122 */ { dissect_pfcp_subsequent_time_quota }, /* Subsequent Time Quota Extendable / Subclause 8.2.87 */
/* 123 */ { dissect_pfcp_rqi }, /* RQI Extendable / Subclause 8.2.88 */
/* 124 */ { dissect_pfcp_qfi }, /* QFI Extendable / Subclause 8.2.89 */
/* 125 */ { dissect_pfcp_query_urr_reference }, /* Query URR Reference Extendable / Subclause 8.2.90 */
/* 126 */ { dissect_pfcp_additional_usage_reports_information }, /* Additional Usage Reports Information Extendable / Subclause 8.2.91 */
/* 127 */ { dissect_pfcp_create_traffic_endpoint }, /* Create Traffic Endpoint Extendable / Table 7.5.2.7 */
/* 128 */ { dissect_pfcp_created_traffic_endpoint }, /* Created Traffic Endpoint Extendable / Table 7.5.3.5 */
/* 129 */ { dissect_pfcp_update_traffic_endpoint }, /* Update Traffic Endpoint Extendable / Table 7.5.4.13 */
/* 130 */ { dissect_pfcp_remove_traffic_endpoint }, /* Remove Traffic Endpoint Extendable / Table 7.5.4.14 */
/* 131 */ { dissect_pfcp_traffic_endpoint_id }, /* Traffic Endpoint ID Extendable / Subclause 8.2.92 */
/* 132 */ { dissect_pfcp_ethernet_packet_filter }, /* Ethernet Packet Filter IE Extendable / Table 7.5.2.2-3 */
/* 133 */ { dissect_pfcp_mac_address }, /* MAC address Extendable / Subclause 8.2.93 */
/* 134 */ { dissect_pfcp_c_tag }, /* C-TAG Extendable / Subclause 8.2.94 */
/* 135 */ { dissect_pfcp_s_tag }, /* S-TAG Extendable / Subclause 8.2.95 */
/* 136 */ { dissect_pfcp_ethertype }, /* Ethertype Extendable / Subclause 8.2.96 */
/* 137 */ { dissect_pfcp_proxying }, /* Proxying Extendable / Subclause 8.2.97 */
/* 138 */ { dissect_pfcp_ethertype_filter_id }, /* Ethernet Filter ID Extendable / Subclause 8.2.98 */
/* 139 */ { dissect_pfcp_ethernet_filter_properties }, /* Ethernet Filter Properties Extendable / Subclause 8.2.99 */
/* 140 */ { dissect_pfcp_suggested_buffering_packets_count }, /* Suggested Buffering Packets Count Extendable / Subclause 8.2.100 */
/* 141 */ { dissect_pfcp_user_id }, /* User ID Extendable / Subclause 8.2.101 */
/* 142 */ { dissect_pfcp_ethernet_pdu_session_information }, /* Ethernet PDU Session Information Extendable / Subclause 8.2.102 */
/* 143 */ { dissect_pfcp_ethernet_traffic_information }, /* Ethernet Traffic Information Extendable / Table 7.5.8.3-3 */
/* 144 */ { dissect_pfcp_mac_addresses_detected }, /* MAC Addresses Detected Extendable / Subclause 8.2.103 */
/* 145 */ { dissect_pfcp_mac_addresses_removed }, /* MAC Addresses Removed Extendable / Subclause 8.2.104 */
/* 146 */ { dissect_pfcp_ethernet_inactivity_timer }, /* Ethernet Inactivity Timer Extendable / Subclause 8.2.105 */
/* 147 */ { dissect_pfcp_additional_monitoring_time }, /* Additional Monitoring Time Extendable / Table 7.5.2.4-3 */
/* 148 */ { dissect_pfcp_event_quota }, /* Event Quota Extendable / Subclause 8.2.112 */
/* 149 */ { dissect_pfcp_event_threshold }, /* Event Threshold Extendable / Subclause 8.2.113 */
/* 150 */ { dissect_pfcp_subsequent_event_quota }, /* Subsequent Event Quota Extendable / Subclause 8.2.106 */
/* 151 */ { dissect_pfcp_subsequent_event_threshold }, /* Subsequent Event Threshold Extendable / Subclause 8.2.107 */
/* 152 */ { dissect_pfcp_trace_information }, /* Trace Information Extendable / Subclause 8.2.108 */
/* 153 */ { dissect_pfcp_framed_route }, /* Framed-Route Variable Length / Subclause 8.2.109 */
/* 154 */ { dissect_pfcp_framed_routing }, /* Framed-Routing Fixed Length / Subclause 8.2.110 */
/* 155 */ { dissect_pfcp_framed_ipv6_route }, /* Framed-IPv6-Route Variable Length / Subclause 8.2.111 */
/* 156 */ { dissect_pfcp_time_stamp }, /* Time Stamp Extendable / Subclause 8.2.114 */
/* 157 */ { dissect_pfcp_averaging_window }, /* Averaging Window Extendable / Subclause 8.2.115 */
/* 158 */ { dissect_pfcp_paging_policy_indicator }, /* Paging Policy Indicator Extendable / Subclause 8.2.116 */
/* 159 */ { dissect_pfcp_apn_dnn }, /* APN/DNN Variable Length / Subclause 8.2.117 */
/* 160 */ { dissect_pfcp_tgpp_interface_type }, /* 3GPP Interface Type Extendable / Subclause 8.2.118 */
/* 161 */ { dissect_pfcp_pfcpsrreq_flags }, /* PFCPSRReq-Flags Extendable / Subclause 8.2.119 */
/* 162 */ { dissect_pfcp_pfcpaureq_flags }, /* PFCPAUReq-Flags Extendable / Subclause 8.2.120 */
/* 163 */ { dissect_pfcp_activation_time }, /* Activation Time Extendable / Subclause 8.2.121 */
/* 164 */ { dissect_pfcp_deactivation_time }, /* Deactivation Time Extendable / Subclause 8.2.122 */
/* 165 */ { dissect_pfcp_create_mar }, /* Create MAR Extendable / Table 7.5.2.8-1 */
/* 166 */ { dissect_pfcp_access_forwarding_action_information_1 }, /* Access Forwarding Action Information 1 Extendable / Table 7.5.2.8-2 */
/* 167 */ { dissect_pfcp_access_forwarding_action_information_2 }, /* Access Forwarding Action Information 2 Extendable / Table 7.5.2.8-3 */
/* 168 */ { dissect_pfcp_remove_mar }, /* Remove MAR Extendable / Table 7.5.4.15-1*/
/* 169 */ { dissect_pfcp_update_mar }, /* Update MAR Extendable / Table 7.5.4.16-1 */
/* 170 */ { dissect_pfcp_mar_id }, /* MAR ID Extendable / Subclause 8.2.123 */
/* 171 */ { dissect_pfcp_steering_functionality }, /* Steering Functionality Extendable / Subclause 8.2.124 */
/* 172 */ { dissect_pfcp_steering_mode }, /* Steering Mode Extendable / Subclause 8.2.125 */
/* 173 */ { dissect_pfcp_weight }, /* Weight Fixed / Clause 8.2.126 */
/* 174 */ { dissect_pfcp_priority }, /* Priority Extendable / Subclause 8.2.127 */
/* 175 */ { dissect_pfcp_update_access_forwarding_action_information_1 }, /* Update Access Forwarding Action Information 1 Extendable / Table 7.5.4.16-2 */
/* 176 */ { dissect_pfcp_update_access_forwarding_action_information_2 }, /* Update Access Forwarding Action Information 2 Extendable / Table 7.5.4.16-3 */
/* 177 */ { dissect_pfcp_ue_ip_address_pool_identity }, /* UE IP address Pool Identity Variable Length / Clause 8.2.128 */
/* 178 */ { dissect_pfcp_alternative_smf_ip_address }, /* Alternative SMF IP Address Extendable / Clause 8.2.129 */
/* 179 */ { dissect_pfcp_packet_replication_and_detection_carry_on_information }, /* Packet Replication and Detection Carry-On Information Extendable / Clause 8.2.130 */
/* 180 */ { dissect_pfcp_smf_set_id }, /* SMF Set ID Extendable / Clause 8.2.131 */
/* 181 */ { dissect_pfcp_quota_validity_time }, /* Quota Validity Time Extendable / Clause 8.2.132 */
/* 182 */ { dissect_pfcp_number_of_reports }, /* Number of Reports Fixed / Clause 8.2.133 */
/* 183 */ { dissect_pfcp_pfcp_session_retention_information_within_pfcp_association_setup_request }, /* PFCP Session Retention Information (within PFCP Association Setup Request) Extendable / Table 7.4.4.1-2 */
/* 184 */ { dissect_pfcp_pfcpasrsp_flags }, /* PFCPASRsp-Flags Extendable / Clause 8.2.134 */
/* 185 */ { dissect_pfcp_cp_pfcp_entity_ip_address }, /* CP PFCP Entity IP Address Extendable / Clause 8.2.135 */
/* 186 */ { dissect_pfcp_pfcpsereq_flags }, /* PFCPSEReq-Flags Extendable / Clause 8.2.136 */
/* 187 */ { dissect_pfcp_user_plane_path_recovery_report }, /* User Plane Path Recovery Report Extendable / Table 7.4.5.1.3-1 */
/* 188 */ { dissect_ip_multicast_addressing_info_within_pfcp_session_establishment_request }, /* IP Multicast Addressing Info within PFCP Session Establishment Request Extendable / Clause 7.5.2.2-4 */
/* 189 */ { dissect_pfcp_join_ip_multicast_information }, /* Join IP Multicast Information IE within Usage Report Extendable / Table 7.5.8.3-4 */
/* 190 */ { dissect_pfcp_leave_ip_multicast_information }, /* Leave IP Multicast Information IE within Usage Report Extendable / Table 7.5.8.3-5 */
/* 191 */ { dissect_pfcp_ip_multicast_address }, /* IP Multicast Address Extendable / Clause 8.2.137 */
/* 192 */ { dissect_pfcp_source_ip_address }, /* Source IP Address Extendable / Clause 8.2.138 */
/* 193 */ { dissect_pfcp_packet_rate_status }, /* Packet Rate Status Extendable / Clause 8.2.139 */
/* 194 */ { dissect_pfcp_create_bridge_info_for_tsc }, /* Create Bridge Info for TSC Extendable / Clause 8.2.140 */
/* 195 */ { dissect_pfcp_created_bridge_info_for_tsc }, /* Created Bridge Info for TSC Extendable / Table 7.5.3.6-1 */
/* 196 */ { dissect_pfcp_ds_tt_port_number }, /* DS-TT Port Number Fixed Length / Clause 8.2.141 */
/* 197 */ { dissect_pfcp_nw_tt_port_number }, /* NW-TT Port Number Fixed Length / Clause 8.2.142 */
/* 198 */ { dissect_pfcp_5gs_user_plane_node }, /* 5GS User Plane Node Extendable / Clause 8.2.143 */
/* 199 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_request }, /* TSC Management Information IE within PFCP Session Modification Request Extendable / Table 7.5.4.18-1 */
/* 200 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_response }, /* TSC Management Information IE within PFCP Session Modification Response Extendable / Table 7.5.5.3-1 */
/* 201 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_report_request }, /* TSC Management Information IE within PFCP Session Report Request Extendable / Table 7.5.8.5-1 */
/* 202 */ { dissect_pfcp_port_management_information_container }, /* Port Management Information Container Variable Length / Clause 8.2.144 */
/* 203 */ { dissect_pfcp_clock_drift_control_information }, /* Clock Drift Control Information Extendable / Table 7.4.4.1.2-1 */
/* 204 */ { dissect_pfcp_requested_clock_drift_control_information }, /* Requested Clock Drift Information Extendable / Clause 8.2.145 */
/* 205 */ { dissect_pfcp_clock_drift_report }, /* Clock Drift Report Extendable / Table 7.4.5.1.4-1 */
/* 206 */ { dissect_pfcp_time_domain_number }, /* Time Domain Number Extendable / Clause 8.2.146 */
/* 207 */ { dissect_pfcp_time_offset_threshold }, /* Time Offset Threshold Extendable / Clause 8.2.147 */
/* 208 */ { dissect_pfcp_cumulative_rate_ratio_threshold }, /* Cumulative rateRatio Threshold Extendable / Clause 8.2.148 */
/* 209 */ { dissect_pfcp_time_offset_measurement }, /* Time Offset Measurement Extendable / Clause 8.2.149 */
/* 210 */ { dissect_pfcp_cumulative_rate_ratio_measurement }, /* Cumulative rateRatio Measurement Extendable / Clause 8.2.150 */
/* 211 */ { dissect_pfcp_remove_srr }, /* Remove SRR Extendable/ Table 7.5.4.19-1 */
/* 212 */ { dissect_pfcp_create_srr }, /* Create SRR Extendable/ Table 7.5.2.9-1 */
/* 213 */ { dissect_pfcp_update_srr }, /* Update SRR Extendable/ Table 7.5.4.21-1 */
/* 214 */ { dissect_pfcp_session_report }, /* Session Report Extendable / Table 7.5.8.7-1 */
/* 215 */ { dissect_pfcp_srr_id }, /* SRR ID Extendable / Clause 8.2.151 */
/* 216 */ { dissect_pfcp_access_availability_control_information }, /* Access Availability Control Information Extendable / Table 7.5.2.9-2 */
/* 217 */ { dissect_pfcp_requested_access_availability_control_information }, /* Requested Access Availability Information Extendable / Clause 8.2.152 */
/* 218 */ { dissect_pfcp_access_availability_report }, /* Access Availability Report Extendable / Table 7.5.8.6-2 */
/* 219 */ { dissect_pfcp_access_availability_information }, /* Access Availability Information Extendable / Clause 8.2.153 */
/* 220 */ { dissect_pfcp_provide_atsss_control_information }, /* Provide ATSSS Control Information Extendable / Table 7.5.2.10-1 */
/* 221 */ { dissect_pfcp_atsss_control_parameters }, /* ATSSS Control Parameters Extendable / Table 7.5.3.7-1 */
/* 222 */ { dissect_pfcp_mptcp_control_information }, /* MPTCP Control Information Extendable / Clause 8.2.154 */
/* 223 */ { dissect_pfcp_atsss_ll_control_information }, /* ATSSS-LL Control Information Extendable / Clause 8.2.155 */
/* 224 */ { dissect_pfcp_pmf_control_information }, /* PMF Control Information Extendable / Clause 8.2.156 */
/* 225 */ { dissect_pfcp_mptcp_parameters }, /* MPTCP Parameters Extendable / Table 7.5.3.7-2 */
/* 226 */ { dissect_pfcp_atsss_ll_parameters }, /* ATSSS-LL Parameters Extendable / Table 7.5.3.7-3 */
/* 227 */ { dissect_pfcp_pmf_parameters }, /* PMF Parameters Extendable / Table 7.5.3.7-4 */
/* 228 */ { dissect_pfcp_mptcp_address_information }, /* MPTCP Address Information Extendable / Clause 8.2.157 */
/* 229 */ { dissect_pfcp_ue_link_specific_ip_address }, /* UE Link-Specific IP Address Extendable / Clause 8.2.158 */
/* 230 */ { dissect_pfcp_pmf_address_information }, /* PMF Address Information Extendable / Clause 8.2.159 */
/* 231 */ { dissect_pfcp_atsss_ll_information }, /* ATSSS-LL Information Extendable / Clause 8.2.160 */
/* 232 */ { dissect_pfcp_data_network_access_identifier }, /* Data Network Access Identifier Variable Length / Clause 8.2.161 */
/* 233 */ { dissect_pfcp_ue_ip_address_pool_information }, /* UE IP address Pool Information Extendable / Table 7.4.4.1-3 */
/* 234 */ { dissect_pfcp_average_packet_delay }, /* Average Packet Delay Extendable / Clause 8.2.162 */
/* 235 */ { dissect_pfcp_minimum_packet_delay }, /* Minimum Packet Delay Extendable / Clause 8.2.163 */
/* 236 */ { dissect_pfcp_maximum_packet_delay }, /* Maximum Packet Delay Extendable / Clause 8.2.164 */
/* 237 */ { dissect_pfcp_qos_report_trigger }, /* QoS Report Trigger Extendable / Clause 8.2.165 */
/* 238 */ { dissect_pfcp_gtp_u_path_qos_control_information }, /* GTP-U Path QoS Control Information Extendable / Table 7.4.4.1.3-1 */
/* 239 */ { dissect_pfcp_gtp_u_path_qos_report }, /* GTP-U Path QoS Report (PFCP Node Report Request) Extendable / Table 7.4.5.1.5-1 */
/* 240 */ { dissect_pfcp_qos_information_in_gtp_u_path_qos_report }, /* QoS Information in GTP-U Path QoS Report Extendable / Table 7.4.5.1.6-1 */
/* 241 */ { dissect_pfcp_gtp_u_path_interface_type }, /* GTP-U Path Interface Type Extendable / Clause 8.2.166 */
/* 242 */ { dissect_pfcp_qos_monitoring_per_qos_flow_control_information }, /* QoS Monitoring per QoS flow Control Information Extendable / Table 7.5.2.9-3 */
/* 243 */ { dissect_pfcp_requested_qos_monitoring }, /* Requested QoS Monitoring Extendable / Clause 8.2.167 */
/* 244 */ { dissect_pfcp_reporting_frequency }, /* Reporting Frequency Extendable / Clause 8.2.168 */
/* 245 */ { dissect_pfcp_packet_delay_thresholds }, /* Packet Delay Thresholds Extendable / Clause 8.2.169 */
/* 246 */ { dissect_pfcp_minimum_wait_time }, /* Minimum Wait Time Extendable / Clause 8.2.170 */
/* 247 */ { dissect_pfcp_qos_monitoring_report }, /* QoS Monitoring Report Extendable / Table 7.5.8.6-3 */
/* 248 */ { dissect_pfcp_qos_monitoring_measurement }, /* QoS Monitoring Measurement Extendable / Clause 8.2.171 */
/* 249 */ { dissect_pfcp_mt_edt_control_information }, /* MT-EDT Control Information Extendable / Clause 8.2.172 */
/* 250 */ { dissect_pfcp_dl_data_packets_size }, /* DL Data Packets Size Extendable / Clause 8.2.173 */
/* 251 */ { dissect_pfcp_qer_control_indications }, /* QER Control Indications Extendable / Clause 8.2.174 */
/* 252 */ { dissect_pfcp_packet_rate_status_report_ie_within_pfcp_session_deletion_response }, /* Packet Rate Status Report IE within PFCP Session Deletion Response Extendable / Table 7.5.7.1-2 */
/* 253 */ { dissect_pfcp_nf_instance_id }, /* NF Instance ID Extendable / Clause 8.2.175 */
/* 254 */ { dissect_pfcp_ethernet_context_information_within_pfcp_session_modification_request }, /* Ethernet Context Information within PFCP Session Modification Request Extendable / Table 7.5.4.21-1 */
/* 255 */ { dissect_pfcp_redundant_transmission_detection_parameters }, /* Redundant Transmission Detection Parameters Extendable / Table 7.5.2.2-5 */
/* 256 */ { dissect_pfcp_updated_pdr_ie_within_pfcp_session_modification_response }, /* Updated PDR IE within PFCP Session Modification Response Extendable / Table 7.5.5.5-1 */
/* 257 */ { dissect_pfcp_s_nssai }, /* S-NSSAI Fixed Length / Clause 8.2.176 */
/* 258 */ { dissect_pfcp_ip_version }, /* IP version Extendable / Clause 8.2.177 */
/* 259 */ { dissect_pfcp_pfcpasreq_flags }, /* PFCPASReq-Flags Extendable / Clause 8.2.178 */
/* 260 */ { dissect_pfcp_data_status }, /* Data Status Extendable / Clause 8.2.179 */
/* 261 */ { dissect_pfcp_provide_rds_configuration_information_ie_within_pfcp_session_modification_request }, /* Provide RDS Configuration Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.11-1 */
/* 262 */ { dissect_pfcp_rds_configuration_information }, /* RDS Configuration Information Extendable / Clause 8.2.180 */
/* 263 */ { dissect_pfcp_query_packet_rate_status_ie_within_pfcp_session_modification_request }, /* Query Packet Rate Status IE within PFCP Session Modification Request Extendable / Table 7.5.4.22-1 */
/* 264 */ { dissect_pfcp_query_packet_rate_status_report_ie_within_pfcp_session_modification_response }, /* Query Packet Rate Status Report IE within PFCP Session Modification Response Extendable / Table 7.5.5.4-1 */
/* 265 */ { dissect_pfcp_mptcp_application_indication }, /* MPTCP Applicable Indication Extendable / Clause 8.2.181 */
/* 266 */ { dissect_pfcp_user_plane_node_management_information_container }, /* User Plane Node Management Information Container Variable Length / Clause 8.2.182 */
/* 267 */ { dissect_pfcp_ue_ip_address_usage_information_ie_within_pfcp_association_update_request }, /* UE IP Address Usage Information IE within PFCP Association Update Request Extendable / Table 7.4.4.3.1-1 */
/* 268 */ { dissect_pfcp_number_of_ue_ip_addresses }, /* Number of UE IP Addresses Variable Length / Clause 8.2.183 */
/* 269 */ { dissect_pfcp_validity_timer }, /* Validity Timer Variable Length / Clause 8.2.183 */
/* 270 */ { dissect_pfcp_redundant_transmission_forward_parameters }, /* Redundant Transmission Forward Parameters Variable Length / Clause 8.2.184 */
/* 271 */ { dissect_pfcp_transport_dealy_reporting_ie_in_create_pdr }, /* Transport Delay Reporting IE in Create PDR IE Extendable / Table 7.5.2.2-6 */
/* 272 */ { dissect_pfcp_partial_failure_information_within_pfcp_session_establishment_response }, /* Partial Failure Information within PFCP Session Establishment Response Extendable / Table 7.5.3.1-2 */
/* 273 */ { dissect_pfcp_partial_failure_information_within_pfcp_session_modification_response }, /* Partial Failure Information within PFCP Session Modificaton Response Extendable / Table 7.5.5.1-2 */
/* 274 */ { dissect_pfcp_offending_ie_information }, /* Offending IE Information Variable Length / Clause 8.2.185 */
/* 275 */ { dissect_pfcp_rattype }, /* RAT Type Variable Length / Clause 8.2.186 */
/* 276 */ { dissect_pfcp_l2tp_tunnel_information }, /* L2TP Tunnel Information Extendable / Table 7.5.2.1-2 */
/* 277 */ { dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_request }, /* L2TP Session Information within PFCP Session Establishment Request Extendable / Table 7.5.2.1-3 */
/* 278 */ { dissect_pfcp_l2tp_user_authentication }, /* L2TP User Authentication Variable Length / Clause 8.2.187 */
/* 279 */ { dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_response }, /* L2TP Session Information within PFCP Session Establishment Response Extendable / Table 7.5.3.1-3 */
/* 280 */ { dissect_pfcp_lns_address }, /* LNS Address Variable Length / Clause 8.2.188 */
/* 281 */ { dissect_pfcp_tunnel_preference }, /* Tunnel Preference Fixed / Clause 8.2.189 */
/* 282 */ { dissect_pfcp_calling_number }, /* Calling Number Variable Length / Clause 8.2.190 */
/* 283 */ { dissect_pfcp_called_number }, /* Called Number Variable Length / Clause 8.2.191 */
/* 284 */ { dissect_pfcp_l2tp_session_indications }, /* L2TP Session Indications Extendable / Clause 8.2.192 */
/* 285 */ { dissect_pfcp_dns_sever_address }, /* DNS Server Address Variable Length / Clause 8.2.193 */
/* 286 */ { dissect_pfcp_nbns_sever_address }, /* NBNS Server Address Variable Length / Clause 8.2.194 */
/* 287 */ { dissect_pfcp_maximum_receive_unit }, /* Maximum Receive Unit Fixed / Clause 8.2.195 */
/* 288 */ { dissect_pfcp_thresholds }, /* Thresholds Variable Length / Clause 8.2.196 */
/* 289 */ { dissect_pfcp_steering_mode_indications }, /* Steering Mode Indicator Extendable / Clause 8.2.197 */
/* 290 */ { dissect_pfcp_pfcp_session_change_info }, /* PFCP Session Change Info Extendable / Table 7.4.7.1-2 */
/* 291 */ { dissect_pfcp_group_id }, /* Group ID Fixed / Clause 8.2.198 */
/* 292 */ { dissect_pfcp_cp_ip_address }, /* CP IP Address Variable Length / Clause 8.2.199 */
/* 293 */ { dissect_pfcp_ip_address_and_port_number_replacement }, /* IP Address and Port Number Replacement Variable Length / Clause 8.2.200 */
/* 294 */ { dissect_pfcp_dns_query_filter }, /* DNS Query Filter Variable Length / Clause 8.2.201 */
/* 295 */ { dissect_pfcp_direct_reporting_information }, /* Direct Reporting Information Extendable / Table 7.5.2.9-4 */
/* 296 */ { dissect_pfcp_event_notification_uri }, /* Event Notification URI Variable Length / Clause 8.2.202 */
/* 297 */ { dissect_pfcp_notification_correlation_id }, /* Notification Correlation ID Fixed / Clause 8.2.203 */
/* 298 */ { dissect_pfcp_reporting_flags }, /* Reporting Flags Extendable / Clause 8.2.204 */
/* 299 */ { dissect_pfcp_predefined_rules_name }, /* Predefined Rules Name Variable Length / Clause 8.2.205 */
/* 300 */ { dissect_pfcp_mbs_session_n4mb_control_information }, /* MBS Session N4mb Control Information Extendable / Table 7.5.2.1-5 */
/* 301 */ { dissect_pfcp_mbs_multicast_parameters }, /* MBS Multicast Parameters Extendable / Table 7.5.2.3-5 */
/* 302 */ { dissect_pfcp_add_mbs_unicast_parameters_ie_in_create_far }, /* Addd MBS Unicast Parameters IE in Create FAR Extendable / Table 7.5.2.3-6 */
/* 303 */ { dissect_pfcp_mbs_session_n4mb_information }, /* MBS Session N4mb Information Extendable / Table 7.5.3.1-4 */
/* 304 */ { dissect_pfcp_remove_mbs_unicast_parameters_ie_in_update_far },/* Remove MBS Unicast Parameters IE in Update FAR Extendable / Table 7.5.4.3-4 */
/* 305 */ { dissect_pfcp_mbs_session_identifier }, /* MBS Session Identifier Variable Length / Clause 8.2.206 */
/* 306 */ { dissect_pfcp_multicast_transport_information }, /* Multicast Transport Information Variable Length / Clause 8.2.207 */
/* 307 */ { dissect_pfcp_mbsn4mbreq_flags }, /* MBSN4mbReq Flags Extendable / Clause 8.2.208 */
/* 308 */ { dissect_pfcp_local_ingress_tunnel }, /* Local Ingress Tunnel Extendable / Clause 8.2.209 */
/* 309 */ { dissect_pfcp_mbs_unicast_parameters_id }, /* MBS Unicast Parameters ID Extendable / Clause 8.2.210 */
/* 310 */ { dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_request }, /* MBS Session N4 Control Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.1-6 */
/* 311 */ { dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_response }, /* MBS Session N4 Control Information IE within PFCP Session Establishment Response Extendable / Table 7.5.3.1-5 */
/* 312 */ { dissect_pfcp_mbsn4resp_flags }, /* MBSN4Resp-Flags Extendable / Clause 8.2.211 */
/* 313 */ { dissect_pfcp_tunnel_password }, /* Tunnel Password Variable Length / Clause 8.2.212 */
/* 314 */ { dissect_pfcp_area_session_id }, /* Area Sesson ID Fixed / Clause 8.2.213 */
/* 315 */ { dissect_pfcp_peer_up_restart_report_ie_within_pfcp__node_report_request }, /* Peer UP Restart Report IE within PFCP Node Report Request Extendable / Table 7.4.5.1-7 */
/* 316 */ { dissect_pfcp_dscp_to_ppi_control_information_ie_within_pfcp_session_establishment_request }, /* DSCP to PPI Control Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.1-6 */
/* 317 */ { dissect_pfcp_dscp_to_ppi_mapping_information }, /* DSCP to PPI Mapping Information Extendable / Clause 8.2.214 */
/* 318 */ { dissect_pfcp_pfcpsdrsp_flags }, /* PFCPSDRsp-Flags Extendable / Clause 8.2.215 */
/* 319 */ { dissect_pfcp_qer_indications }, /* QER Indications Extendable / Clause 8.2.216 */
/* 320 */ { dissect_pfcp_vendor_specific_node_report_type }, /* Vendor-Specific Node Report Type Extendable / Clause 8.2.217 */
//321 to 32767 Spare. For future use.
//32768 to 65535 Vendor-specific IEs.
{ NULL }, /* End of List */
};
#define NUM_PFCP_IES (sizeof(pfcp_ies)/sizeof(pfcp_ie_t))
/* Set up the array to hold "etts" for each IE*/
gint ett_pfcp_elem[NUM_PFCP_IES-1];
static pfcp_msg_hash_t *
pfcp_match_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gint seq_nr, guint msgtype, pfcp_conv_info_t *pfcp_info, guint8 last_cause)
{
@ -10082,6 +9641,343 @@ dissect_pfcp_dscp_to_ppi_control_information_ie_within_pfcp_session_establishmen
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
/* Array of functions to dissect IEs
* (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args)
*/
typedef struct _pfcp_ie {
void(*decode) (tvbuff_t *, packet_info *, proto_tree *, proto_item *, guint16, guint8, pfcp_session_args_t *);
} pfcp_ie_t;
static const pfcp_ie_t pfcp_ies[] = {
/* 0 */ { dissect_pfcp_reserved },
/* 1 */ { dissect_pfcp_create_pdr }, /* Create PDR Extendable / Table 7.5.2.2-1 */
/* 2 */ { dissect_pfcp_pdi }, /* PDI Extendable / Table 7.5.2.2-2 */
/* 3 */ { dissect_pfcp_create_far }, /* Create FAR Extendable / Table 7.5.2.3-1 */
/* 4 */ { dissect_pfcp_forwarding_parameters }, /* Forwarding Parameters Extendable / Table 7.5.2.3-2 */
/* 5 */ { dissect_pfcp_duplicating_parameters }, /* Duplicating Parameters Extendable / Table 7.5.2.3-3 */
/* 6 */ { dissect_pfcp_create_urr }, /* Create URR Extendable / Table 7.5.2.4-1 */
/* 7 */ { dissect_pfcp_create_qer }, /* Create QER Extendable / Table 7.5.2.5-1 */
/* 8 */ { dissect_pfcp_created_pdr }, /* Created PDR Extendable / Table 7.5.3.2-1 */
/* 9 */ { dissect_pfcp_update_pdr }, /* Update PDR Extendable / Table 7.5.4.2-1 */
/* 10 */ { dissect_pfcp_update_far }, /* Update FAR Extendable / Table 7.5.4.3-1 */
/* 11 */ { dissect_pfcp_upd_forwarding_param }, /* Update Forwarding Parameters Extendable / Table 7.5.4.3-2 */
/* 12 */ { dissect_pfcp_update_bar }, /* Update BAR (PFCP Session Report Response) Extendable / Table 7.5.9.2-1 */
/* 13 */ { dissect_pfcp_update_urr }, /* Update URR Extendable / Table 7.5.4.4 */
/* 14 */ { dissect_pfcp_update_qer }, /* Update QER Extendable / Table 7.5.4.5 */
/* 15 */ { dissect_pfcp_remove_pdr }, /* Remove PDR Extendable / Table 7.5.4.6 */
/* 16 */ { dissect_pfcp_remove_far }, /* Remove FAR Extendable / Table 7.5.4.7 */
/* 17 */ { dissect_pfcp_remove_urr }, /* Remove URR Extendable / Table 7.5.4.8 */
/* 18 */ { dissect_pfcp_remove_qer }, /* Remove QER Extendable / Table 7.5.4.9 */
/* 19 */ { dissect_pfcp_cause }, /* Cause Fixed / Subclause 8.2.1 */
/* 20 */ { dissect_pfcp_source_interface }, /* Source Interface Extendable / Subclause 8.2.2 */
/* 21 */ { dissect_pfcp_f_teid }, /* F-TEID Extendable / Subclause 8.2.3 */
/* 22 */ { dissect_pfcp_network_instance }, /* Network Instance Variable Length / Subclause 8.2.4 */
/* 23 */ { dissect_pfcp_sdf_filter }, /* SDF Filter Extendable / Subclause 8.2.5 */
/* 24 */ { dissect_pfcp_application_id }, /* Application ID Variable Length / Subclause 8.2.6 */
/* 25 */ { dissect_pfcp_gate_status }, /* Gate Status Extendable / Subclause 8.2.7 */
/* 26 */ { dissect_pfcp_mbr }, /* MBR Extendable / Subclause 8.2.8 */
/* 27 */ { dissect_pfcp_gbr }, /* GBR Extendable / Subclause 8.2.9 */
/* 28 */ { dissect_pfcp_qer_correlation_id }, /* QER Correlation ID Extendable / Subclause 8.2.10 */
/* 29 */ { dissect_pfcp_precedence }, /* Precedence Extendable / Subclause 8.2.11 */
/* 30 */ { dissect_pfcp_transport_level_marking }, /* Transport Level Marking Extendable / Subclause 8.2.12 */
/* 31 */ { dissect_pfcp_volume_threshold }, /* Volume Threshold Extendable /Subclause 8.2.13 */
/* 32 */ { dissect_pfcp_time_threshold }, /* Time Threshold Extendable /Subclause 8.2.14 */
/* 33 */ { dissect_pfcp_monitoring_time }, /* Monitoring Time Extendable /Subclause 8.2.15 */
/* 34 */ { dissect_pfcp_subseq_volume_threshold }, /* Subsequent Volume Threshold Extendable /Subclause 8.2.16 */
/* 35 */ { dissect_pfcp_subsequent_time_threshold }, /* Subsequent Time Threshold Extendable /Subclause 8.2.17 */
/* 36 */ { dissect_pfcp_inactivity_detection_time }, /* Inactivity Detection Time Extendable /Subclause 8.2.18 */
/* 37 */ { dissect_pfcp_reporting_triggers }, /* Reporting Triggers Extendable /Subclause 8.2.19 */
/* 38 */ { dissect_pfcp_redirect_information }, /* Redirect Information Extendable /Subclause 8.2.20 */
/* 39 */ { dissect_pfcp_report_type }, /* Report Type Extendable / Subclause 8.2.21 */
/* 40 */ { dissect_pfcp_offending_ie }, /* Offending IE Fixed / Subclause 8.2.22 */
/* 41 */ { dissect_pfcp_forwarding_policy }, /* Forwarding Policy Extendable / Subclause 8.2.23 */
/* 42 */ { dissect_pfcp_destination_interface }, /* Destination Interface Extendable / Subclause 8.2.24 */
/* 43 */ { dissect_pfcp_up_function_features }, /* UP Function Features Extendable / Subclause 8.2.25 */
/* 44 */ { dissect_pfcp_apply_action }, /* Apply Action Extendable / Subclause 8.2.26 */
/* 45 */ { dissect_pfcp_dl_data_service_inf }, /* Downlink Data Service Information Extendable / Subclause 8.2.27 */
/* 46 */ { dissect_pfcp_dl_data_notification_delay }, /* Downlink Data Notification Delay Extendable / Subclause 8.2.28 */
/* 47 */ { dissect_pfcp_dl_buffering_dur }, /* DL Buffering Duration Extendable / Subclause 8.2.29 */
/* 48 */ { dissect_pfcp_dl_buffering_suggested_packet_count }, /* DL Buffering Suggested Packet Count Variable / Subclause 8.2.30 */
/* 49 */ { dissect_pfcp_pfcpsmreq_flags }, /* PFCPSMReq-Flags Extendable / Subclause 8.2.31 */
/* 50 */ { dissect_pfcp_pfcpsrrsp_flags }, /* PFCPSRRsp-Flags Extendable / Subclause 8.2.32 */
/* 51 */ { dissect_pfcp_load_control_information }, /* Load Control Information Extendable / Table 7.5.3.3-1 */
/* 52 */ { dissect_pfcp_sequence_number }, /* Sequence Number Fixed Length / Subclause 8.2.33 */
/* 53 */ { dissect_pfcp_metric }, /* Metric Fixed Length / Subclause 8.2.34 */
/* 54 */ { dissect_pfcp_overload_control_information }, /* Overload Control Information Extendable / Table 7.5.3.4-1 */
/* 55 */ { dissect_pfcp_timer }, /* Timer Extendable / Subclause 8.2 35 */
/* 56 */ { dissect_pfcp_pdr_id }, /* PDR ID Extendable / Subclause 8.2 36 */
/* 57 */ { dissect_pfcp_f_seid }, /* F-SEID Extendable / Subclause 8.2 37 */
/* 58 */ { dissect_pfcp_application_ids_pfds }, /* Application ID's PFDs Extendable / Table 7.4.3.1-2 */
/* 59 */ { dissect_pfcp_pfd_context }, /* PFD context Extendable / Table 7.4.3.1-3 */
/* 60 */ { dissect_pfcp_node_id }, /* Node ID Extendable / Subclause 8.2.38 */
/* 61 */ { dissect_pfcp_pfd_contents }, /* PFD contents Extendable / Subclause 8.2.39 */
/* 62 */ { dissect_pfcp_measurement_method }, /* Measurement Method Extendable / Subclause 8.2.40 */
/* 63 */ { dissect_pfcp_usage_report_trigger }, /* Usage Report Trigger Extendable / Subclause 8.2.41 */
/* 64 */ { dissect_pfcp_measurement_period }, /* Measurement Period Extendable / Subclause 8.2.42 */
/* 65 */ { dissect_pfcp_fq_csid }, /* FQ-CSID Extendable / Subclause 8.2.43 */
/* 66 */ { dissect_pfcp_volume_measurement }, /* Volume Measurement Extendable / Subclause 8.2.44 */
/* 67 */ { dissect_pfcp_duration_measurement }, /* Duration Measurement Extendable / Subclause 8.2.45 */
/* 68 */ { dissect_pfcp_application_detection_inf }, /* Application Detection Information Extendable / Table 7.5.8.3-2 */
/* 69 */ { dissect_pfcp_time_of_first_packet }, /* Time of First Packet Extendable / Subclause 8.2.46 */
/* 70 */ { dissect_pfcp_time_of_last_packet }, /* Time of Last Packet Extendable / Subclause 8.2.47 */
/* 71 */ { dissect_pfcp_quota_holding_time }, /* Quota Holding Time Extendable / Subclause 8.2.48 */
/* 72 */ { dissect_pfcp_dropped_dl_traffic_threshold }, /* Dropped DL Traffic Threshold Extendable / Subclause 8.2.49 */
/* 73 */ { dissect_pfcp_volume_quota }, /* Volume Quota Extendable / Subclause 8.2.50 */
/* 74 */ { dissect_pfcp_time_quota }, /* Time Quota Extendable / Subclause 8.2.51 */
/* 75 */ { dissect_pfcp_start_time }, /* Start Time Extendable / Subclause 8.2.52 */
/* 76 */ { dissect_pfcp_end_time }, /* End Time Extendable / Subclause 8.2.53 */
/* 77 */ { dissect_pfcp_pfcp_query_urr }, /* Query URR Extendable / Table 7.5.4.10-1 */
/* 78 */ { dissect_pfcp_usage_report_smr }, /* Usage Report (Session Modification Response) Extendable / Table 7.5.5.2-1 */
/* 79 */ { dissect_pfcp_usage_report_sdr }, /* Usage Report (Session Deletion Response) Extendable / Table 7.5.7.2-1 */
/* 80 */ { dissect_pfcp_usage_report_srr }, /* Usage Report (Session Report Request) Extendable / Table 7.5.8.3-1 */
/* 81 */ { dissect_pfcp_urr_id }, /* URR ID Extendable / Subclause 8.2.54 */
/* 82 */ { dissect_pfcp_linked_urr_id }, /* Linked URR ID Extendable / Subclause 8.2.55 */
/* 83 */ { dissect_pfcp_downlink_data_report }, /* Downlink Data Report Extendable / Table 7.5.8.2-1 */
/* 84 */ { dissect_pfcp_outer_header_creation }, /* Outer Header Creation Extendable / Subclause 8.2.56 */
/* 85 */ { dissect_pfcp_create_bar }, /* Create BAR Extendable / Table 7.5.2.6-1 */
/* 86 */ { dissect_pfcp_update_bar_smr }, /* Update BAR (Session Modification Request) Extendable / Table 7.5.4.11-1 */
/* 87 */ { dissect_pfcp_remove_bar }, /* Remove BAR Extendable / Table 7.5.4.12-1 */
/* 88 */ { dissect_pfcp_bar_id }, /* BAR ID Extendable / Subclause 8.2.57 */
/* 89 */ { dissect_pfcp_cp_function_features }, /* CP Function Features Extendable / Subclause 8.2.58 */
/* 90 */ { dissect_pfcp_usage_information }, /* Usage Information Extendable / Subclause 8.2.59 */
/* 91 */ { dissect_pfcp_application_instance_id }, /* Application Instance ID Variable Length / Subclause 8.2.60 */
/* 92 */ { dissect_pfcp_flow_inf }, /* Flow Information Extendable / Subclause 8.2.61 */
/* 93 */ { dissect_pfcp_ue_ip_address }, /* UE IP Address Extendable / Subclause 8.2.62 */
/* 94 */ { dissect_pfcp_packet_rate }, /* Packet Rate Extendable / Subclause 8.2.63 */
/* 95 */ { dissect_pfcp_outer_hdr_rem }, /* Outer Header Removal Extendable / Subclause 8.2.64 */
/* 96 */ { dissect_pfcp_recovery_time_stamp }, /* Recovery Time Stamp Extendable / Subclause 8.2.65 */
/* 97 */ { dissect_pfcp_dl_flow_level_marking }, /* DL Flow Level Marking Extendable / Subclause 8.2.66 */
/* 98 */ { dissect_pfcp_header_enrichment }, /* Header Enrichment Extendable / Subclause 8.2.67 */
/* 99 */ { dissect_pfcp_error_indication_report }, /* Error Indication Report Extendable / Table 7.5.8.4-1 */
/* 100 */ { dissect_pfcp_measurement_info }, /* Measurement Information Extendable / Subclause 8.2.68 */
/* 101 */ { dissect_pfcp_node_report_type }, /* Node Report Type Extendable / Subclause 8.2.69 */
/* 102 */ { dissect_pfcp_user_plane_path_failure_report }, /* User Plane Path Failure Report Extendable / Table 7.4.5.1.2-1 */
/* 103 */ { dissect_pfcp_remote_gtp_u_peer }, /* Remote GTP-U Peer Extendable / Subclause 8.2.70 */
/* 104 */ { dissect_pfcp_ur_seqn }, /* UR-SEQN Fixed Length / Subclause 8.2.71 */
/* 105 */ { dissect_pfcp_update_duplicating_parameters }, /* Update Duplicating Parameters Extendable / Table 7.5.4.3-3 */
/* 106 */ { dissect_pfcp_act_predef_rules }, /* Activate Predefined Rules Variable Length / Subclause 8.2.72 */
/* 107 */ { dissect_pfcp_deact_predef_rules }, /* Deactivate Predefined Rules Variable Length / Subclause 8.2.73 */
/* 108 */ { dissect_pfcp_far_id }, /* FAR ID Extendable / Subclause 8.2.74 */
/* 109 */ { dissect_pfcp_qer_id }, /* QER ID Extendable / Subclause 8.2.75 */
/* 110 */ { dissect_pfcp_oci_flags }, /* OCI Flags Extendable / Subclause 8.2.76 */
/* 111 */ { dissect_pfcp_pfcp_assoc_rel_req }, /* PFCP Association Release Request Extendable / Subclause 8.2.77 */
/* 112 */ { dissect_pfcp_graceful_release_period }, /* Graceful Release Period Extendable / Subclause 8.2.78 */
/* 113 */ { dissect_pfcp_pdn_type }, /* PDN Type Fixed Length / Subclause 8.2.79 */
/* 114 */ { dissect_pfcp_failed_rule_id }, /* Failed Rule ID Extendable / Subclause 8.2.80 */
/* 115 */ { dissect_pfcp_time_quota_mechanism }, /* Time Quota Mechanism Extendable / Subclause 8.2.81 */
/* 116 */ { dissect_pfcp_user_plane_ip_resource_infomation }, /* User Plane IP Resource Information Extendable / Subclause 8.2.82 */
/* 117 */ { dissect_pfcp_user_plane_inactivity_timer }, /* User Plane Inactivity Timer Extendable / Subclause 8.2.83 */
/* 118 */ { dissect_pfcp_aggregated_urrs }, /* Aggregated URRs Extendable / Table 7.5.2.4-2 */
/* 119 */ { dissect_pfcp_multiplier }, /* Multiplier Fixed Length / Subclause 8.2.84 */
/* 120 */ { dissect_pfcp_aggregated_urr_id_ie }, /* Aggregated URR ID IE Fixed Length / Subclause 8.2.85 */
/* 121 */ { dissect_pfcp_subsequent_volume_quota }, /* Subsequent Volume Quota Extendable / Subclause 8.2.86 */
/* 122 */ { dissect_pfcp_subsequent_time_quota }, /* Subsequent Time Quota Extendable / Subclause 8.2.87 */
/* 123 */ { dissect_pfcp_rqi }, /* RQI Extendable / Subclause 8.2.88 */
/* 124 */ { dissect_pfcp_qfi }, /* QFI Extendable / Subclause 8.2.89 */
/* 125 */ { dissect_pfcp_query_urr_reference }, /* Query URR Reference Extendable / Subclause 8.2.90 */
/* 126 */ { dissect_pfcp_additional_usage_reports_information }, /* Additional Usage Reports Information Extendable / Subclause 8.2.91 */
/* 127 */ { dissect_pfcp_create_traffic_endpoint }, /* Create Traffic Endpoint Extendable / Table 7.5.2.7 */
/* 128 */ { dissect_pfcp_created_traffic_endpoint }, /* Created Traffic Endpoint Extendable / Table 7.5.3.5 */
/* 129 */ { dissect_pfcp_update_traffic_endpoint }, /* Update Traffic Endpoint Extendable / Table 7.5.4.13 */
/* 130 */ { dissect_pfcp_remove_traffic_endpoint }, /* Remove Traffic Endpoint Extendable / Table 7.5.4.14 */
/* 131 */ { dissect_pfcp_traffic_endpoint_id }, /* Traffic Endpoint ID Extendable / Subclause 8.2.92 */
/* 132 */ { dissect_pfcp_ethernet_packet_filter }, /* Ethernet Packet Filter IE Extendable / Table 7.5.2.2-3 */
/* 133 */ { dissect_pfcp_mac_address }, /* MAC address Extendable / Subclause 8.2.93 */
/* 134 */ { dissect_pfcp_c_tag }, /* C-TAG Extendable / Subclause 8.2.94 */
/* 135 */ { dissect_pfcp_s_tag }, /* S-TAG Extendable / Subclause 8.2.95 */
/* 136 */ { dissect_pfcp_ethertype }, /* Ethertype Extendable / Subclause 8.2.96 */
/* 137 */ { dissect_pfcp_proxying }, /* Proxying Extendable / Subclause 8.2.97 */
/* 138 */ { dissect_pfcp_ethertype_filter_id }, /* Ethernet Filter ID Extendable / Subclause 8.2.98 */
/* 139 */ { dissect_pfcp_ethernet_filter_properties }, /* Ethernet Filter Properties Extendable / Subclause 8.2.99 */
/* 140 */ { dissect_pfcp_suggested_buffering_packets_count }, /* Suggested Buffering Packets Count Extendable / Subclause 8.2.100 */
/* 141 */ { dissect_pfcp_user_id }, /* User ID Extendable / Subclause 8.2.101 */
/* 142 */ { dissect_pfcp_ethernet_pdu_session_information }, /* Ethernet PDU Session Information Extendable / Subclause 8.2.102 */
/* 143 */ { dissect_pfcp_ethernet_traffic_information }, /* Ethernet Traffic Information Extendable / Table 7.5.8.3-3 */
/* 144 */ { dissect_pfcp_mac_addresses_detected }, /* MAC Addresses Detected Extendable / Subclause 8.2.103 */
/* 145 */ { dissect_pfcp_mac_addresses_removed }, /* MAC Addresses Removed Extendable / Subclause 8.2.104 */
/* 146 */ { dissect_pfcp_ethernet_inactivity_timer }, /* Ethernet Inactivity Timer Extendable / Subclause 8.2.105 */
/* 147 */ { dissect_pfcp_additional_monitoring_time }, /* Additional Monitoring Time Extendable / Table 7.5.2.4-3 */
/* 148 */ { dissect_pfcp_event_quota }, /* Event Quota Extendable / Subclause 8.2.112 */
/* 149 */ { dissect_pfcp_event_threshold }, /* Event Threshold Extendable / Subclause 8.2.113 */
/* 150 */ { dissect_pfcp_subsequent_event_quota }, /* Subsequent Event Quota Extendable / Subclause 8.2.106 */
/* 151 */ { dissect_pfcp_subsequent_event_threshold }, /* Subsequent Event Threshold Extendable / Subclause 8.2.107 */
/* 152 */ { dissect_pfcp_trace_information }, /* Trace Information Extendable / Subclause 8.2.108 */
/* 153 */ { dissect_pfcp_framed_route }, /* Framed-Route Variable Length / Subclause 8.2.109 */
/* 154 */ { dissect_pfcp_framed_routing }, /* Framed-Routing Fixed Length / Subclause 8.2.110 */
/* 155 */ { dissect_pfcp_framed_ipv6_route }, /* Framed-IPv6-Route Variable Length / Subclause 8.2.111 */
/* 156 */ { dissect_pfcp_time_stamp }, /* Time Stamp Extendable / Subclause 8.2.114 */
/* 157 */ { dissect_pfcp_averaging_window }, /* Averaging Window Extendable / Subclause 8.2.115 */
/* 158 */ { dissect_pfcp_paging_policy_indicator }, /* Paging Policy Indicator Extendable / Subclause 8.2.116 */
/* 159 */ { dissect_pfcp_apn_dnn }, /* APN/DNN Variable Length / Subclause 8.2.117 */
/* 160 */ { dissect_pfcp_tgpp_interface_type }, /* 3GPP Interface Type Extendable / Subclause 8.2.118 */
/* 161 */ { dissect_pfcp_pfcpsrreq_flags }, /* PFCPSRReq-Flags Extendable / Subclause 8.2.119 */
/* 162 */ { dissect_pfcp_pfcpaureq_flags }, /* PFCPAUReq-Flags Extendable / Subclause 8.2.120 */
/* 163 */ { dissect_pfcp_activation_time }, /* Activation Time Extendable / Subclause 8.2.121 */
/* 164 */ { dissect_pfcp_deactivation_time }, /* Deactivation Time Extendable / Subclause 8.2.122 */
/* 165 */ { dissect_pfcp_create_mar }, /* Create MAR Extendable / Table 7.5.2.8-1 */
/* 166 */ { dissect_pfcp_access_forwarding_action_information_1 }, /* Access Forwarding Action Information 1 Extendable / Table 7.5.2.8-2 */
/* 167 */ { dissect_pfcp_access_forwarding_action_information_2 }, /* Access Forwarding Action Information 2 Extendable / Table 7.5.2.8-3 */
/* 168 */ { dissect_pfcp_remove_mar }, /* Remove MAR Extendable / Table 7.5.4.15-1*/
/* 169 */ { dissect_pfcp_update_mar }, /* Update MAR Extendable / Table 7.5.4.16-1 */
/* 170 */ { dissect_pfcp_mar_id }, /* MAR ID Extendable / Subclause 8.2.123 */
/* 171 */ { dissect_pfcp_steering_functionality }, /* Steering Functionality Extendable / Subclause 8.2.124 */
/* 172 */ { dissect_pfcp_steering_mode }, /* Steering Mode Extendable / Subclause 8.2.125 */
/* 173 */ { dissect_pfcp_weight }, /* Weight Fixed / Clause 8.2.126 */
/* 174 */ { dissect_pfcp_priority }, /* Priority Extendable / Subclause 8.2.127 */
/* 175 */ { dissect_pfcp_update_access_forwarding_action_information_1 }, /* Update Access Forwarding Action Information 1 Extendable / Table 7.5.4.16-2 */
/* 176 */ { dissect_pfcp_update_access_forwarding_action_information_2 }, /* Update Access Forwarding Action Information 2 Extendable / Table 7.5.4.16-3 */
/* 177 */ { dissect_pfcp_ue_ip_address_pool_identity }, /* UE IP address Pool Identity Variable Length / Clause 8.2.128 */
/* 178 */ { dissect_pfcp_alternative_smf_ip_address }, /* Alternative SMF IP Address Extendable / Clause 8.2.129 */
/* 179 */ { dissect_pfcp_packet_replication_and_detection_carry_on_information }, /* Packet Replication and Detection Carry-On Information Extendable / Clause 8.2.130 */
/* 180 */ { dissect_pfcp_smf_set_id }, /* SMF Set ID Extendable / Clause 8.2.131 */
/* 181 */ { dissect_pfcp_quota_validity_time }, /* Quota Validity Time Extendable / Clause 8.2.132 */
/* 182 */ { dissect_pfcp_number_of_reports }, /* Number of Reports Fixed / Clause 8.2.133 */
/* 183 */ { dissect_pfcp_pfcp_session_retention_information_within_pfcp_association_setup_request }, /* PFCP Session Retention Information (within PFCP Association Setup Request) Extendable / Table 7.4.4.1-2 */
/* 184 */ { dissect_pfcp_pfcpasrsp_flags }, /* PFCPASRsp-Flags Extendable / Clause 8.2.134 */
/* 185 */ { dissect_pfcp_cp_pfcp_entity_ip_address }, /* CP PFCP Entity IP Address Extendable / Clause 8.2.135 */
/* 186 */ { dissect_pfcp_pfcpsereq_flags }, /* PFCPSEReq-Flags Extendable / Clause 8.2.136 */
/* 187 */ { dissect_pfcp_user_plane_path_recovery_report }, /* User Plane Path Recovery Report Extendable / Table 7.4.5.1.3-1 */
/* 188 */ { dissect_ip_multicast_addressing_info_within_pfcp_session_establishment_request }, /* IP Multicast Addressing Info within PFCP Session Establishment Request Extendable / Clause 7.5.2.2-4 */
/* 189 */ { dissect_pfcp_join_ip_multicast_information }, /* Join IP Multicast Information IE within Usage Report Extendable / Table 7.5.8.3-4 */
/* 190 */ { dissect_pfcp_leave_ip_multicast_information }, /* Leave IP Multicast Information IE within Usage Report Extendable / Table 7.5.8.3-5 */
/* 191 */ { dissect_pfcp_ip_multicast_address }, /* IP Multicast Address Extendable / Clause 8.2.137 */
/* 192 */ { dissect_pfcp_source_ip_address }, /* Source IP Address Extendable / Clause 8.2.138 */
/* 193 */ { dissect_pfcp_packet_rate_status }, /* Packet Rate Status Extendable / Clause 8.2.139 */
/* 194 */ { dissect_pfcp_create_bridge_info_for_tsc }, /* Create Bridge Info for TSC Extendable / Clause 8.2.140 */
/* 195 */ { dissect_pfcp_created_bridge_info_for_tsc }, /* Created Bridge Info for TSC Extendable / Table 7.5.3.6-1 */
/* 196 */ { dissect_pfcp_ds_tt_port_number }, /* DS-TT Port Number Fixed Length / Clause 8.2.141 */
/* 197 */ { dissect_pfcp_nw_tt_port_number }, /* NW-TT Port Number Fixed Length / Clause 8.2.142 */
/* 198 */ { dissect_pfcp_5gs_user_plane_node }, /* 5GS User Plane Node Extendable / Clause 8.2.143 */
/* 199 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_request }, /* TSC Management Information IE within PFCP Session Modification Request Extendable / Table 7.5.4.18-1 */
/* 200 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_modification_response }, /* TSC Management Information IE within PFCP Session Modification Response Extendable / Table 7.5.5.3-1 */
/* 201 */ { dissect_pfcp_tsc_management_information_ie_within_pfcp_session_report_request }, /* TSC Management Information IE within PFCP Session Report Request Extendable / Table 7.5.8.5-1 */
/* 202 */ { dissect_pfcp_port_management_information_container }, /* Port Management Information Container Variable Length / Clause 8.2.144 */
/* 203 */ { dissect_pfcp_clock_drift_control_information }, /* Clock Drift Control Information Extendable / Table 7.4.4.1.2-1 */
/* 204 */ { dissect_pfcp_requested_clock_drift_control_information }, /* Requested Clock Drift Information Extendable / Clause 8.2.145 */
/* 205 */ { dissect_pfcp_clock_drift_report }, /* Clock Drift Report Extendable / Table 7.4.5.1.4-1 */
/* 206 */ { dissect_pfcp_time_domain_number }, /* Time Domain Number Extendable / Clause 8.2.146 */
/* 207 */ { dissect_pfcp_time_offset_threshold }, /* Time Offset Threshold Extendable / Clause 8.2.147 */
/* 208 */ { dissect_pfcp_cumulative_rate_ratio_threshold }, /* Cumulative rateRatio Threshold Extendable / Clause 8.2.148 */
/* 209 */ { dissect_pfcp_time_offset_measurement }, /* Time Offset Measurement Extendable / Clause 8.2.149 */
/* 210 */ { dissect_pfcp_cumulative_rate_ratio_measurement }, /* Cumulative rateRatio Measurement Extendable / Clause 8.2.150 */
/* 211 */ { dissect_pfcp_remove_srr }, /* Remove SRR Extendable/ Table 7.5.4.19-1 */
/* 212 */ { dissect_pfcp_create_srr }, /* Create SRR Extendable/ Table 7.5.2.9-1 */
/* 213 */ { dissect_pfcp_update_srr }, /* Update SRR Extendable/ Table 7.5.4.21-1 */
/* 214 */ { dissect_pfcp_session_report }, /* Session Report Extendable / Table 7.5.8.7-1 */
/* 215 */ { dissect_pfcp_srr_id }, /* SRR ID Extendable / Clause 8.2.151 */
/* 216 */ { dissect_pfcp_access_availability_control_information }, /* Access Availability Control Information Extendable / Table 7.5.2.9-2 */
/* 217 */ { dissect_pfcp_requested_access_availability_control_information }, /* Requested Access Availability Information Extendable / Clause 8.2.152 */
/* 218 */ { dissect_pfcp_access_availability_report }, /* Access Availability Report Extendable / Table 7.5.8.6-2 */
/* 219 */ { dissect_pfcp_access_availability_information }, /* Access Availability Information Extendable / Clause 8.2.153 */
/* 220 */ { dissect_pfcp_provide_atsss_control_information }, /* Provide ATSSS Control Information Extendable / Table 7.5.2.10-1 */
/* 221 */ { dissect_pfcp_atsss_control_parameters }, /* ATSSS Control Parameters Extendable / Table 7.5.3.7-1 */
/* 222 */ { dissect_pfcp_mptcp_control_information }, /* MPTCP Control Information Extendable / Clause 8.2.154 */
/* 223 */ { dissect_pfcp_atsss_ll_control_information }, /* ATSSS-LL Control Information Extendable / Clause 8.2.155 */
/* 224 */ { dissect_pfcp_pmf_control_information }, /* PMF Control Information Extendable / Clause 8.2.156 */
/* 225 */ { dissect_pfcp_mptcp_parameters }, /* MPTCP Parameters Extendable / Table 7.5.3.7-2 */
/* 226 */ { dissect_pfcp_atsss_ll_parameters }, /* ATSSS-LL Parameters Extendable / Table 7.5.3.7-3 */
/* 227 */ { dissect_pfcp_pmf_parameters }, /* PMF Parameters Extendable / Table 7.5.3.7-4 */
/* 228 */ { dissect_pfcp_mptcp_address_information }, /* MPTCP Address Information Extendable / Clause 8.2.157 */
/* 229 */ { dissect_pfcp_ue_link_specific_ip_address }, /* UE Link-Specific IP Address Extendable / Clause 8.2.158 */
/* 230 */ { dissect_pfcp_pmf_address_information }, /* PMF Address Information Extendable / Clause 8.2.159 */
/* 231 */ { dissect_pfcp_atsss_ll_information }, /* ATSSS-LL Information Extendable / Clause 8.2.160 */
/* 232 */ { dissect_pfcp_data_network_access_identifier }, /* Data Network Access Identifier Variable Length / Clause 8.2.161 */
/* 233 */ { dissect_pfcp_ue_ip_address_pool_information }, /* UE IP address Pool Information Extendable / Table 7.4.4.1-3 */
/* 234 */ { dissect_pfcp_average_packet_delay }, /* Average Packet Delay Extendable / Clause 8.2.162 */
/* 235 */ { dissect_pfcp_minimum_packet_delay }, /* Minimum Packet Delay Extendable / Clause 8.2.163 */
/* 236 */ { dissect_pfcp_maximum_packet_delay }, /* Maximum Packet Delay Extendable / Clause 8.2.164 */
/* 237 */ { dissect_pfcp_qos_report_trigger }, /* QoS Report Trigger Extendable / Clause 8.2.165 */
/* 238 */ { dissect_pfcp_gtp_u_path_qos_control_information }, /* GTP-U Path QoS Control Information Extendable / Table 7.4.4.1.3-1 */
/* 239 */ { dissect_pfcp_gtp_u_path_qos_report }, /* GTP-U Path QoS Report (PFCP Node Report Request) Extendable / Table 7.4.5.1.5-1 */
/* 240 */ { dissect_pfcp_qos_information_in_gtp_u_path_qos_report }, /* QoS Information in GTP-U Path QoS Report Extendable / Table 7.4.5.1.6-1 */
/* 241 */ { dissect_pfcp_gtp_u_path_interface_type }, /* GTP-U Path Interface Type Extendable / Clause 8.2.166 */
/* 242 */ { dissect_pfcp_qos_monitoring_per_qos_flow_control_information }, /* QoS Monitoring per QoS flow Control Information Extendable / Table 7.5.2.9-3 */
/* 243 */ { dissect_pfcp_requested_qos_monitoring }, /* Requested QoS Monitoring Extendable / Clause 8.2.167 */
/* 244 */ { dissect_pfcp_reporting_frequency }, /* Reporting Frequency Extendable / Clause 8.2.168 */
/* 245 */ { dissect_pfcp_packet_delay_thresholds }, /* Packet Delay Thresholds Extendable / Clause 8.2.169 */
/* 246 */ { dissect_pfcp_minimum_wait_time }, /* Minimum Wait Time Extendable / Clause 8.2.170 */
/* 247 */ { dissect_pfcp_qos_monitoring_report }, /* QoS Monitoring Report Extendable / Table 7.5.8.6-3 */
/* 248 */ { dissect_pfcp_qos_monitoring_measurement }, /* QoS Monitoring Measurement Extendable / Clause 8.2.171 */
/* 249 */ { dissect_pfcp_mt_edt_control_information }, /* MT-EDT Control Information Extendable / Clause 8.2.172 */
/* 250 */ { dissect_pfcp_dl_data_packets_size }, /* DL Data Packets Size Extendable / Clause 8.2.173 */
/* 251 */ { dissect_pfcp_qer_control_indications }, /* QER Control Indications Extendable / Clause 8.2.174 */
/* 252 */ { dissect_pfcp_packet_rate_status_report_ie_within_pfcp_session_deletion_response }, /* Packet Rate Status Report IE within PFCP Session Deletion Response Extendable / Table 7.5.7.1-2 */
/* 253 */ { dissect_pfcp_nf_instance_id }, /* NF Instance ID Extendable / Clause 8.2.175 */
/* 254 */ { dissect_pfcp_ethernet_context_information_within_pfcp_session_modification_request }, /* Ethernet Context Information within PFCP Session Modification Request Extendable / Table 7.5.4.21-1 */
/* 255 */ { dissect_pfcp_redundant_transmission_detection_parameters }, /* Redundant Transmission Detection Parameters Extendable / Table 7.5.2.2-5 */
/* 256 */ { dissect_pfcp_updated_pdr_ie_within_pfcp_session_modification_response }, /* Updated PDR IE within PFCP Session Modification Response Extendable / Table 7.5.5.5-1 */
/* 257 */ { dissect_pfcp_s_nssai }, /* S-NSSAI Fixed Length / Clause 8.2.176 */
/* 258 */ { dissect_pfcp_ip_version }, /* IP version Extendable / Clause 8.2.177 */
/* 259 */ { dissect_pfcp_pfcpasreq_flags }, /* PFCPASReq-Flags Extendable / Clause 8.2.178 */
/* 260 */ { dissect_pfcp_data_status }, /* Data Status Extendable / Clause 8.2.179 */
/* 261 */ { dissect_pfcp_provide_rds_configuration_information_ie_within_pfcp_session_modification_request }, /* Provide RDS Configuration Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.11-1 */
/* 262 */ { dissect_pfcp_rds_configuration_information }, /* RDS Configuration Information Extendable / Clause 8.2.180 */
/* 263 */ { dissect_pfcp_query_packet_rate_status_ie_within_pfcp_session_modification_request }, /* Query Packet Rate Status IE within PFCP Session Modification Request Extendable / Table 7.5.4.22-1 */
/* 264 */ { dissect_pfcp_query_packet_rate_status_report_ie_within_pfcp_session_modification_response }, /* Query Packet Rate Status Report IE within PFCP Session Modification Response Extendable / Table 7.5.5.4-1 */
/* 265 */ { dissect_pfcp_mptcp_application_indication }, /* MPTCP Applicable Indication Extendable / Clause 8.2.181 */
/* 266 */ { dissect_pfcp_user_plane_node_management_information_container }, /* User Plane Node Management Information Container Variable Length / Clause 8.2.182 */
/* 267 */ { dissect_pfcp_ue_ip_address_usage_information_ie_within_pfcp_association_update_request }, /* UE IP Address Usage Information IE within PFCP Association Update Request Extendable / Table 7.4.4.3.1-1 */
/* 268 */ { dissect_pfcp_number_of_ue_ip_addresses }, /* Number of UE IP Addresses Variable Length / Clause 8.2.183 */
/* 269 */ { dissect_pfcp_validity_timer }, /* Validity Timer Variable Length / Clause 8.2.183 */
/* 270 */ { dissect_pfcp_redundant_transmission_forward_parameters }, /* Redundant Transmission Forward Parameters Variable Length / Clause 8.2.184 */
/* 271 */ { dissect_pfcp_transport_dealy_reporting_ie_in_create_pdr }, /* Transport Delay Reporting IE in Create PDR IE Extendable / Table 7.5.2.2-6 */
/* 272 */ { dissect_pfcp_partial_failure_information_within_pfcp_session_establishment_response }, /* Partial Failure Information within PFCP Session Establishment Response Extendable / Table 7.5.3.1-2 */
/* 273 */ { dissect_pfcp_partial_failure_information_within_pfcp_session_modification_response }, /* Partial Failure Information within PFCP Session Modificaton Response Extendable / Table 7.5.5.1-2 */
/* 274 */ { dissect_pfcp_offending_ie_information }, /* Offending IE Information Variable Length / Clause 8.2.185 */
/* 275 */ { dissect_pfcp_rattype }, /* RAT Type Variable Length / Clause 8.2.186 */
/* 276 */ { dissect_pfcp_l2tp_tunnel_information }, /* L2TP Tunnel Information Extendable / Table 7.5.2.1-2 */
/* 277 */ { dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_request }, /* L2TP Session Information within PFCP Session Establishment Request Extendable / Table 7.5.2.1-3 */
/* 278 */ { dissect_pfcp_l2tp_user_authentication }, /* L2TP User Authentication Variable Length / Clause 8.2.187 */
/* 279 */ { dissect_pfcp_l2tp_session_information_within_pfcp_session_establishment_response }, /* L2TP Session Information within PFCP Session Establishment Response Extendable / Table 7.5.3.1-3 */
/* 280 */ { dissect_pfcp_lns_address }, /* LNS Address Variable Length / Clause 8.2.188 */
/* 281 */ { dissect_pfcp_tunnel_preference }, /* Tunnel Preference Fixed / Clause 8.2.189 */
/* 282 */ { dissect_pfcp_calling_number }, /* Calling Number Variable Length / Clause 8.2.190 */
/* 283 */ { dissect_pfcp_called_number }, /* Called Number Variable Length / Clause 8.2.191 */
/* 284 */ { dissect_pfcp_l2tp_session_indications }, /* L2TP Session Indications Extendable / Clause 8.2.192 */
/* 285 */ { dissect_pfcp_dns_sever_address }, /* DNS Server Address Variable Length / Clause 8.2.193 */
/* 286 */ { dissect_pfcp_nbns_sever_address }, /* NBNS Server Address Variable Length / Clause 8.2.194 */
/* 287 */ { dissect_pfcp_maximum_receive_unit }, /* Maximum Receive Unit Fixed / Clause 8.2.195 */
/* 288 */ { dissect_pfcp_thresholds }, /* Thresholds Variable Length / Clause 8.2.196 */
/* 289 */ { dissect_pfcp_steering_mode_indications }, /* Steering Mode Indicator Extendable / Clause 8.2.197 */
/* 290 */ { dissect_pfcp_pfcp_session_change_info }, /* PFCP Session Change Info Extendable / Table 7.4.7.1-2 */
/* 291 */ { dissect_pfcp_group_id }, /* Group ID Fixed / Clause 8.2.198 */
/* 292 */ { dissect_pfcp_cp_ip_address }, /* CP IP Address Variable Length / Clause 8.2.199 */
/* 293 */ { dissect_pfcp_ip_address_and_port_number_replacement }, /* IP Address and Port Number Replacement Variable Length / Clause 8.2.200 */
/* 294 */ { dissect_pfcp_dns_query_filter }, /* DNS Query Filter Variable Length / Clause 8.2.201 */
/* 295 */ { dissect_pfcp_direct_reporting_information }, /* Direct Reporting Information Extendable / Table 7.5.2.9-4 */
/* 296 */ { dissect_pfcp_event_notification_uri }, /* Event Notification URI Variable Length / Clause 8.2.202 */
/* 297 */ { dissect_pfcp_notification_correlation_id }, /* Notification Correlation ID Fixed / Clause 8.2.203 */
/* 298 */ { dissect_pfcp_reporting_flags }, /* Reporting Flags Extendable / Clause 8.2.204 */
/* 299 */ { dissect_pfcp_predefined_rules_name }, /* Predefined Rules Name Variable Length / Clause 8.2.205 */
/* 300 */ { dissect_pfcp_mbs_session_n4mb_control_information }, /* MBS Session N4mb Control Information Extendable / Table 7.5.2.1-5 */
/* 301 */ { dissect_pfcp_mbs_multicast_parameters }, /* MBS Multicast Parameters Extendable / Table 7.5.2.3-5 */
/* 302 */ { dissect_pfcp_add_mbs_unicast_parameters_ie_in_create_far }, /* Addd MBS Unicast Parameters IE in Create FAR Extendable / Table 7.5.2.3-6 */
/* 303 */ { dissect_pfcp_mbs_session_n4mb_information }, /* MBS Session N4mb Information Extendable / Table 7.5.3.1-4 */
/* 304 */ { dissect_pfcp_remove_mbs_unicast_parameters_ie_in_update_far },/* Remove MBS Unicast Parameters IE in Update FAR Extendable / Table 7.5.4.3-4 */
/* 305 */ { dissect_pfcp_mbs_session_identifier }, /* MBS Session Identifier Variable Length / Clause 8.2.206 */
/* 306 */ { dissect_pfcp_multicast_transport_information }, /* Multicast Transport Information Variable Length / Clause 8.2.207 */
/* 307 */ { dissect_pfcp_mbsn4mbreq_flags }, /* MBSN4mbReq Flags Extendable / Clause 8.2.208 */
/* 308 */ { dissect_pfcp_local_ingress_tunnel }, /* Local Ingress Tunnel Extendable / Clause 8.2.209 */
/* 309 */ { dissect_pfcp_mbs_unicast_parameters_id }, /* MBS Unicast Parameters ID Extendable / Clause 8.2.210 */
/* 310 */ { dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_request }, /* MBS Session N4 Control Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.1-6 */
/* 311 */ { dissect_pfcp_mbs_session_n4_control_information_ie_within_pfcp_session_establishment_response }, /* MBS Session N4 Control Information IE within PFCP Session Establishment Response Extendable / Table 7.5.3.1-5 */
/* 312 */ { dissect_pfcp_mbsn4resp_flags }, /* MBSN4Resp-Flags Extendable / Clause 8.2.211 */
/* 313 */ { dissect_pfcp_tunnel_password }, /* Tunnel Password Variable Length / Clause 8.2.212 */
/* 314 */ { dissect_pfcp_area_session_id }, /* Area Sesson ID Fixed / Clause 8.2.213 */
/* 315 */ { dissect_pfcp_peer_up_restart_report_ie_within_pfcp__node_report_request }, /* Peer UP Restart Report IE within PFCP Node Report Request Extendable / Table 7.4.5.1-7 */
/* 316 */ { dissect_pfcp_dscp_to_ppi_control_information_ie_within_pfcp_session_establishment_request }, /* DSCP to PPI Control Information IE within PFCP Session Establishment Request Extendable / Table 7.5.2.1-6 */
/* 317 */ { dissect_pfcp_dscp_to_ppi_mapping_information }, /* DSCP to PPI Mapping Information Extendable / Clause 8.2.214 */
/* 318 */ { dissect_pfcp_pfcpsdrsp_flags }, /* PFCPSDRsp-Flags Extendable / Clause 8.2.215 */
/* 319 */ { dissect_pfcp_qer_indications }, /* QER Indications Extendable / Clause 8.2.216 */
/* 320 */ { dissect_pfcp_vendor_specific_node_report_type }, /* Vendor-Specific Node Report Type Extendable / Clause 8.2.217 */
//321 to 32767 Spare. For future use.
//32768 to 65535 Vendor-specific IEs.
{ NULL }, /* End of List */
};
#define NUM_PFCP_IES (sizeof(pfcp_ies)/sizeof(pfcp_ie_t))
/* Set up the array to hold "etts" for each IE*/
gint ett_pfcp_elem[NUM_PFCP_IES-1];
static void
dissect_pfcp_ies_common(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gint offset, guint16 length, guint8 message_type, pfcp_session_args_t *args)
@ -10465,9 +10361,6 @@ dissect_pfcp_3gpp_enterprise_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
* TR-459: Control and User Plane Separation for a disaggregated BNG
*/
static void dissect_pfcp_enterprise_bbf_ppp_lcp_connectivity(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args);
static void dissect_pfcp_enterprise_bbf_l2tp_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args);
#define PFCP_IE_ENTERPRISE_BBF_UP_FUNCTION_FEATURES 0 /* 32768 */
#define PFCP_IE_ENTERPRISE_BBF_LOGICAL_PORT 1 /* 32769 */
#define PFCP_IE_ENTERPRISE_BBF_OUTER_HEADER_CREATION 2 /* 32770 */
@ -10814,6 +10707,18 @@ dissect_pfcp_enterprise_bbf_l2tp_type(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
}
static void
dissect_pfcp_enterprise_bbf_ppp_lcp_connectivity(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_bbf_l2tp_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static const pfcp_ie_t pfcp_enterprise_bbf_ies[] = {
/* 32768 */ { dissect_pfcp_enterprise_bbf_up_function_features },
/* 32769 */ { dissect_pfcp_enterprise_bbf_logical_port },
@ -10836,18 +10741,6 @@ static const pfcp_ie_t pfcp_enterprise_bbf_ies[] = {
/* Set up the array to hold "etts" for each IE*/
gint ett_pfcp_enterprise_bbf_elem[NUM_PFCP_ENTERPRISE_BBF_IES-1];
static void
dissect_pfcp_enterprise_bbf_ppp_lcp_connectivity(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_bbf_l2tp_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static int
dissect_pfcp_enterprise_bbf_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
@ -10861,11 +10754,6 @@ dissect_pfcp_enterprise_bbf_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
/* Enterprise IE decoding Travelping */
static void dissect_pfcp_enterprise_travelping_error_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args);
static void dissect_pfcp_enterprise_travelping_created_nat_binding(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args);
static void dissect_pfcp_enterprise_travelping_trace_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type, pfcp_session_args_t *args);
/* Enterprise IE decoding Travelping */
#define PFCP_IE_ENTERPRISE_TRAVELPING_PACKET_MEASUREMENT 1
#define PFCP_IE_ENTERPRISE_TRAVELPING_BUILD_ID 2
#define PFCP_IE_ENTERPRISE_TRAVELPING_NOW 3
@ -11097,6 +10985,24 @@ dissect_pfcp_enterprise_travelping_trace_state(tvbuff_t *tvb, packet_info *pinfo
}
}
static void
dissect_pfcp_enterprise_travelping_error_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_travelping_created_nat_binding(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_travelping_trace_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static const pfcp_ie_t pfcp_enterprise_travelping_ies[] = {
/* 0 */ { dissect_pfcp_reserved },
/* 1 */ { dissect_pfcp_enterprise_travelping_packet_measurement },
@ -11120,24 +11026,6 @@ static const pfcp_ie_t pfcp_enterprise_travelping_ies[] = {
/* Set up the array to hold "etts" for each IE*/
gint ett_pfcp_enterprise_travelping_elem[NUM_PFCP_ENTERPRISE_TRAVELPING_IES-1];
static void
dissect_pfcp_enterprise_travelping_error_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_travelping_created_nat_binding(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static void
dissect_pfcp_enterprise_travelping_trace_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, pfcp_session_args_t *args)
{
dissect_pfcp_grouped_ie(tvb, pinfo, tree, item, length, message_type, args);
}
static int
dissect_pfcp_enterprise_travelping_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{