diff options
author | Joris Peeraer <joris.peeraer@nokia.com> | 2023-01-05 11:03:43 +0100 |
---|---|---|
committer | Joris Peeraer <joris.peeraer@nokia.com> | 2023-01-09 10:28:35 +0100 |
commit | b5fc7ff3bc359d88b9df4a3d8b5e6d93b6ebb9e4 (patch) | |
tree | efcf024dd5d615a54f9c9e26ac0567975e3f7d56 /epan/dissectors/packet-pfcp.c | |
parent | bf071e39d98bfb32c84548b47e626b7f54aaa1df (diff) |
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.
Diffstat (limited to 'epan/dissectors/packet-pfcp.c')
-rw-r--r-- | epan/dissectors/packet-pfcp.c | 850 |
1 files changed, 369 insertions, 481 deletions
diff --git a/epan/dissectors/packet-pfcp.c b/epan/dissectors/packet-pfcp.c index 2bebceef31..f5067c1b17 100644 --- a/epan/dissectors/packet-pfcp.c +++ b/epan/dissectors/packet-pfcp.c @@ -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) { |