From bf8577b88cd7b545cee17fe83b8aff0d5d42bd08 Mon Sep 17 00:00:00 2001 From: Joakim Karlsson Date: Tue, 5 Jul 2022 11:47:17 +0200 Subject: [PATCH] pfcp: change to utilize proto_tree_add_bitmask_list --- epan/dissectors/packet-pfcp.c | 895 +++---------------------- epan/proto.c | 14 + epan/proto.h | 19 + packaging/debian/libwireshark0.symbols | 1 + 4 files changed, 132 insertions(+), 797 deletions(-) diff --git a/epan/dissectors/packet-pfcp.c b/epan/dissectors/packet-pfcp.c index 19355816c2..3f59231b4d 100644 --- a/epan/dissectors/packet-pfcp.c +++ b/epan/dissectors/packet-pfcp.c @@ -88,7 +88,6 @@ static int hf_pfcp_node_id_ipv4 = -1; static int hf_pfcp_node_id_ipv6 = -1; static int hf_pfcp_node_id_fqdn = -1; static int hf_pfcp_recovery_time_stamp = -1; -static int hf_pfcp_f_seid_flags = -1; static int hf_pfcp_b0_v6 = -1; static int hf_pfcp_b1_v4 = -1; static int hf_pfcp_f_seid_ipv4 = -1; @@ -96,7 +95,6 @@ static int hf_pfcp_f_seid_ipv6 = -1; static int hf_pfcp_pdr_id = -1; static int hf_pfcp_precedence = -1; static int hf_pfcp_source_interface = -1; -static int hf_pfcp_f_teid_flags = -1; static int hf_pfcp_fteid_flg_spare = -1; static int hf_pfcp_fteid_flg_b3_ch_id = -1; static int hf_pfcp_fteid_flg_b2_ch = -1; @@ -114,7 +112,6 @@ static int hf_pfcp_time_quota_mechanism_bti = -1; static int hf_pfcp_multiplier_value_digits = -1; static int hf_pfcp_multiplier_exponent = -1; -static int hf_pfcp_ue_ip_address_flags = -1; static int hf_pfcp_ue_ip_address_flag_b0_v6 = -1; static int hf_pfcp_ue_ip_address_flag_b1_v4 = -1; static int hf_pfcp_ue_ip_address_flag_b2_sd = -1; @@ -129,7 +126,6 @@ static int hf_pfcp_ue_ip_add_ipv6_prefix_length = -1; static int hf_pfcp_application_id = -1; static int hf_pfcp_application_id_str = -1; -static int hf_pfcp_sdf_filter_flags = -1; static int hf_pfcp_sdf_filter_flags_b0_fd = -1; static int hf_pfcp_sdf_filter_flags_b1_ttc = -1; static int hf_pfcp_sdf_filter_flags_b2_spi = -1; @@ -201,7 +197,6 @@ static int hf_pfcp_time_threshold = -1; static int hf_pfcp_forwarding_policy_id_len = -1; static int hf_pfcp_forwarding_policy_id = -1; -static int hf_pfcp_measurement_method_flags = -1; static int hf_pfcp_measurement_method_flags_b0_durat = -1; static int hf_pfcp_measurement_method_flags_b1_volume = -1; static int hf_pfcp_measurement_method_flags_b2_event = -1; @@ -229,7 +224,6 @@ static int hf_pfcp_reporting_triggers_o6_b0_volqu = -1; static int hf_pfcp_reporting_triggers_o7_b1_upint = -1; static int hf_pfcp_reporting_triggers_o7_b0_reemr = -1; -static int hf_pfcp_volume_threshold = -1; static int hf_pfcp_volume_threshold_b2_dlvol = -1; static int hf_pfcp_volume_threshold_b1_ulvol = -1; static int hf_pfcp_volume_threshold_b0_tovol = -1; @@ -237,7 +231,6 @@ static int hf_pfcp_volume_threshold_tovol = -1; static int hf_pfcp_volume_threshold_ulvol = -1; static int hf_pfcp_volume_threshold_dlvol = -1; -static int hf_pfcp_volume_quota = -1; static int hf_pfcp_volume_quota_b2_dlvol = -1; static int hf_pfcp_volume_quota_b1_ulvol = -1; static int hf_pfcp_volume_quota_b0_tovol = -1; @@ -245,7 +238,6 @@ static int hf_pfcp_volume_quota_tovol = -1; static int hf_pfcp_volume_quota_ulvol = -1; static int hf_pfcp_volume_quota_dlvol = -1; -static int hf_pfcp_subseq_volume_threshold = -1; static int hf_pfcp_subseq_volume_threshold_b2_dlvol = -1; static int hf_pfcp_subseq_volume_threshold_b1_ulvol = -1; static int hf_pfcp_subseq_volume_threshold_b0_tovol = -1; @@ -257,13 +249,11 @@ static int hf_pfcp_time_quota = -1; static int hf_pfcp_start_time = -1; static int hf_pfcp_end_time = -1; static int hf_pfcp_quota_holding_time = -1; -static int hf_pfcp_dropped_dl_traffic_threshold = -1; static int hf_pfcp_dropped_dl_traffic_threshold_b1_dlby = -1; static int hf_pfcp_dropped_dl_traffic_threshold_b0_dlpa = -1; static int hf_pfcp_downlink_packets = -1; static int hf_pfcp_bytes_downlink_data = -1; static int hf_pfcp_qer_correlation_id = -1; -static int hf_pfcp_gate_status = -1; static int hf_pfcp_gate_status_b0b1_dlgate = -1; static int hf_pfcp_gate_status_b3b2_ulgate = -1; static int hf_pfcp_ul_mbr = -1; @@ -271,7 +261,6 @@ static int hf_pfcp_dl_mbr = -1; static int hf_pfcp_ul_gbr = -1; static int hf_pfcp_dl_gbr = -1; -static int hf_pfcp_report_type = -1; static int hf_pfcp_report_type_b6_uisr = -1; static int hf_pfcp_report_type_b5_sesr = -1; static int hf_pfcp_report_type_b4_tmir = -1; @@ -366,7 +355,6 @@ static int hf_pfcp_usage_report_trigger_o7_b2_ipmjl = -1; static int hf_pfcp_usage_report_trigger_o7_b1_tebur = -1; static int hf_pfcp_usage_report_trigger_o7_b0_evequ = -1; -static int hf_pfcp_volume_measurement = -1; static int hf_pfcp_volume_measurement_b5_dlnop = -1; static int hf_pfcp_volume_measurement_b4_ulnop = -1; static int hf_pfcp_volume_measurement_b3_tonop = -1; @@ -391,7 +379,6 @@ static int hf_pfcp_cp_function_features_o5_b2_epfar = -1; static int hf_pfcp_cp_function_features_o5_b1_ovrl = -1; static int hf_pfcp_cp_function_features_o5_b0_load = -1; -static int hf_pfcp_usage_information = -1; static int hf_pfcp_usage_information_b3_ube = -1; static int hf_pfcp_usage_information_b2_uae = -1; static int hf_pfcp_usage_information_b1_aft = -1; @@ -400,7 +387,6 @@ static int hf_pfcp_usage_information_b0_bef = -1; static int hf_pfcp_application_instance_id = -1; static int hf_pfcp_application_instance_id_str = -1; static int hf_pfcp_flow_dir = -1; -static int hf_pfcp_packet_rate = -1; static int hf_pfcp_packet_rate_b0_ulpr = -1; static int hf_pfcp_packet_rate_b1_dlpr = -1; static int hf_pfcp_packet_rate_b2_aprc = -1; @@ -413,29 +399,24 @@ static int hf_pfcp_a_max_ul_pr = -1; static int hf_pfcp_a_dl_time_unit = -1; static int hf_pfcp_a_max_dl_pr = -1; -static int hf_pfcp_dl_flow_level_marking = -1; static int hf_pfcp_dl_flow_level_marking_b0_ttc = -1; static int hf_pfcp_dl_flow_level_marking_b1_sci = -1; static int hf_pfcp_sci = -1; static int hf_pfcp_dl_data_notification_delay = -1; static int hf_pfcp_packet_count = -1; -static int hf_pfcp_dl_data_service_inf_flags = -1; static int hf_pfcp_dl_data_service_inf_b0_ppi = -1; static int hf_pfcp_dl_data_service_inf_b1_qfii = -1; static int hf_pfcp_ppi = -1; -static int hf_pfcp_pfcpsmreq_flags = -1; static int hf_pfcp_pfcpsmreq_flags_b0_drobu = -1; static int hf_pfcp_pfcpsmreq_flags_b1_sndem = -1; static int hf_pfcp_pfcpsmreq_flags_b2_qaurr = -1; static int hf_pfcp_pfcpsmreq_flags_b3_sumpc = -1; static int hf_pfcp_pfcpsmreq_flags_b4_rumuc = -1; -static int hf_pfcp_pfcpsrrsp_flags = -1; static int hf_pfcp_pfcpsrrsp_flags_b0_drobu = -1; -static int hf_pfcp_pfd_contents_flags = -1; static int hf_pfcp_pfd_contents_flags_b7_adnp = -1; static int hf_pfcp_pfd_contents_flags_b6_aurl = -1; static int hf_pfcp_pfd_contents_flags_b5_afd = -1; @@ -462,7 +443,6 @@ static int hf_pfcp_hf_name = -1; static int hf_pfcp_hf_val_len = -1; static int hf_pfcp_hf_val = -1; -static int hf_pfcp_measurement_info = -1; static int hf_pfcp_measurement_info_b0_mbqe = -1; static int hf_pfcp_measurement_info_b1_inam = -1; static int hf_pfcp_measurement_info_b2_radi = -1; @@ -472,7 +452,6 @@ static int hf_pfcp_measurement_info_b5_sspoc = -1; static int hf_pfcp_measurement_info_b6_aspoc = -1; static int hf_pfcp_measurement_info_b7_ciam = -1; -static int hf_pfcp_node_report_type = -1; static int hf_pfcp_node_report_type_b0_upfr = -1; static int hf_pfcp_node_report_type_b1_uprr = -1; static int hf_pfcp_node_report_type_b2_ckdr = -1; @@ -480,7 +459,6 @@ static int hf_pfcp_node_report_type_b3_gpqr = -1; static int hf_pfcp_node_report_type_b4_purr = -1; static int hf_pfcp_node_report_type_b5_vsr = -1; -static int hf_pfcp_remote_gtp_u_peer_flags = -1; static int hf_pfcp_remote_gtp_u_peer_flags_b0_v6 = -1; static int hf_pfcp_remote_gtp_u_peer_flags_b1_v4 = -1; static int hf_pfcp_remote_gtp_u_peer_flags_b2_di = -1; @@ -491,13 +469,10 @@ static int hf_pfcp_remote_gtp_u_peer_length_di = -1; static int hf_pfcp_remote_gtp_u_peer_length_ni = -1; static int hf_pfcp_ur_seqn = -1; -static int hf_pfcp_oci_flags = -1; static int hf_pfcp_oci_flags_b0_aoci = -1; -static int hf_pfcp_pfcp_assoc_rel_req_flags = -1; static int hf_pfcp_pfcp_assoc_rel_req_b0_sarr = -1; -static int hf_pfcp_upiri_flags = -1; static int hf_pfcp_upiri_flags_b0_v4 = -1; static int hf_pfcp_upiri_flags_b1_v6 = -1; static int hf_pfcp_upiri_flg_b6_assosi = -1; @@ -510,7 +485,6 @@ static int hf_pfcp_upiri_ipv6 = -1; static int hf_pfcp_user_plane_inactivity_timer = -1; -static int hf_pfcp_subsequent_volume_quota = -1; static int hf_pfcp_subsequent_volume_quota_b2_dlvol = -1; static int hf_pfcp_subsequent_volume_quota_b1_ulvol = -1; static int hf_pfcp_subsequent_volume_quota_b0_tovol = -1; @@ -523,12 +497,10 @@ static int hf_pfcp_subsequent_time_quota = -1; static int hf_pfcp_rqi_flag = -1; static int hf_pfcp_qfi = -1; static int hf_pfcp_query_urr_reference = -1; -static int hf_pfcp_additional_usage_reports_information = -1; static int hf_pfcp_additional_usage_reports_information_b14_b0_number_value = -1; static int hf_pfcp_additional_usage_reports_information_b15_auri = -1; static int hf_pfcp_traffic_endpoint_id = -1; -static int hf_pfcp_mac_address_flags = -1; static int hf_pfcp_mac_address_flags_b3_udes = -1; static int hf_pfcp_mac_address_flags_b2_usou = -1; static int hf_pfcp_mac_address_flags_b1_dest = -1; @@ -538,7 +510,6 @@ static int hf_pfcp_mac_address_upper_source_mac_address = -1; static int hf_pfcp_mac_address_dest_mac_address = -1; static int hf_pfcp_mac_address_source_mac_address = -1; -static int hf_pfcp_c_tag_flags = -1; static int hf_pfcp_c_tag_flags_b2_vid = -1; static int hf_pfcp_c_tag_flags_b1_dei = -1; static int hf_pfcp_c_tag_flags_b0_pcp = -1; @@ -546,7 +517,6 @@ static int hf_pfcp_c_tag_cvid = -1; static int hf_pfcp_c_tag_dei_flag = -1; static int hf_pfcp_c_tag_pcp_value = -1; -static int hf_pfcp_s_tag_flags = -1; static int hf_pfcp_s_tag_flags_b2_vid = -1; static int hf_pfcp_s_tag_flags_b1_dei = -1; static int hf_pfcp_s_tag_flags_b0_pcp = -1; @@ -556,18 +526,15 @@ static int hf_pfcp_s_tag_pcp_value = -1; static int hf_pfcp_ethertype = -1; -static int hf_pfcp_proxying_flags = -1; static int hf_pfcp_proxying_flags_b1_ins = -1; static int hf_pfcp_proxying_flags_b0_arp = -1; static int hf_pfcp_ethertype_filter_id = -1; -static int hf_pfcp_ethertype_filter_properties_flags = -1; static int hf_pfcp_ethertype_filter_properties_flags_b0_bide = -1; static int hf_pfcp_suggested_buffering_packets_count_packet_count = -1; -static int hf_pfcp_user_id_flags = -1; static int hf_pfcp_user_id_flags_b6_peif = -1; static int hf_pfcp_user_id_flags_b5_gpsif = -1; static int hf_pfcp_user_id_flags_b4_supif = -1; @@ -588,7 +555,6 @@ static int hf_pfcp_user_id_gpsi = -1; static int hf_pfcp_user_id_length_of_pei = -1; static int hf_pfcp_user_id_pei = -1; -static int hf_pfcp_ethernet_pdu_session_information_flags = -1; static int hf_pfcp_ethernet_pdu_session_information_flags_b0_ethi = -1; static int hf_pfcp_mac_addresses_detected_number_of_mac_addresses = -1; @@ -635,10 +601,8 @@ static int hf_pfcp_apn_dnn = -1; static int hf_pfcp_tgpp_interface_type = -1; -static int hf_pfcp_pfcpsrreq_flags = -1; static int hf_pfcp_pfcpsrreq_flags_b0_psdbu = -1; -static int hf_pfcp_pfcpaureq_flags = -1; static int hf_pfcp_pfcpaureq_flags_b0_parps = -1; static int hf_pfcp_activation_time = -1; @@ -655,12 +619,10 @@ static int hf_pfcp_priority = -1; static int hf_pfcp_ue_ip_address_pool_length = -1; static int hf_pfcp_ue_ip_address_pool_identity = -1; -static int hf_pfcp_pfcp_alternative_smf_ip_address_flags = -1; static int hf_pfcp_alternative_smf_ip_address_flags_ppe = -1; static int hf_pfcp_alternative_smf_ip_address_ipv4 = -1; static int hf_pfcp_alternative_smf_ip_address_ipv6 = -1; -static int hf_pfcp_packet_replication_and_detection_carry_on_information_flags = -1; static int hf_pfcp_packet_replication_and_detection_carry_on_information_flags_b3_dcaroni = -1; static int hf_pfcp_packet_replication_and_detection_carry_on_information_flags_b2_prin6i = -1; static int hf_pfcp_packet_replication_and_detection_carry_on_information_flags_b1_prin19i = -1; @@ -670,19 +632,15 @@ static int hf_pfcp_validity_time_value = -1; static int hf_pfcp_number_of_reports = -1; -static int hf_pfcp_pfcpasrsp_flags_flags = -1; static int hf_pfcp_pfcpasrsp_flags_flags_b1_uupsi = -1; static int hf_pfcp_pfcpasrsp_flags_flags_b0_psrei = -1; -static int hf_pfcp_cp_pfcp_entity_ip_address_flags = -1; static int hf_pfcp_cp_pfcp_entity_ip_address_ipv4 = -1; static int hf_pfcp_cp_pfcp_entity_ip_address_ipv6 = -1; -static int hf_pfcp_pfcpsereq_flags_flags = -1; static int hf_pfcp_pfcpsereq_flags_flags_b1_sumpc = -1; static int hf_pfcp_pfcpsereq_flags_flags_b0_resti = -1; -static int hf_pfcp_ip_multicast_address_flags = -1; static int hf_pfcp_ip_multicast_address_flags_b3_any = -1; static int hf_pfcp_ip_multicast_address_flags_b2_range = -1; static int hf_pfcp_ip_multicast_address_start_ipv4 = -1; @@ -690,13 +648,11 @@ static int hf_pfcp_ip_multicast_address_start_ipv6 = -1; static int hf_pfcp_ip_multicast_address_end_ipv4 = -1; static int hf_pfcp_ip_multicast_address_end_ipv6 = -1; -static int hf_pfcp_source_ip_address_flags = -1; static int hf_pfcp_source_ip_address_flags_b2_mpl = -1; static int hf_pfcp_source_ip_address_ipv4 = -1; static int hf_pfcp_source_ip_address_ipv6 = -1; static int hf_pfcp_source_ip_address_mask_prefix_lengt = -1; -static int hf_pfcp_packet_rate_status_flags = -1; static int hf_pfcp_packet_rate_status_flags_b2_apr = -1; static int hf_pfcp_packet_rate_status_flags_b1_dl = -1; static int hf_pfcp_packet_rate_status_flags_b0_ul = -1; @@ -706,20 +662,17 @@ static int hf_pfcp_packet_rate_status_apr_ul = -1; static int hf_pfcp_packet_rate_status_apr_dl = -1; static int hf_pfcp_packet_rate_status_validity_time = -1; -static int hf_pfcp_create_bridge_info_for_tsc_flags = -1; static int hf_pfcp_create_bridge_info_for_tsc_flags_b0_bii = -1; static int hf_pfcp_ds_tt_port_number = -1; static int hf_pfcp_nw_tt_port_number = -1; -static int hf_pfcp_5gs_user_plane_node_flags = -1; static int hf_pfcp_5gs_user_plane_node_flags_b0_bid = -1; static int hf_pfcp_5gs_user_plane_node_value = -1; static int hf_pfcp_port_management_information = -1; -static int hf_pfcp_requested_clock_drift_control_information_flags = -1; static int hf_pfcp_requested_clock_drift_control_information_flags_b1_rrcr = -1; static int hf_pfcp_requested_clock_drift_control_information_flags_b0_rrto = -1; @@ -735,25 +688,20 @@ static int hf_pfcp_cumulative_rate_ratio_measurement = -1; static int hf_pfcp_srr_id = -1; -static int hf_pfcp_requested_access_availability_control_information_flags = -1; static int hf_pfcp_requested_access_availability_control_information_flags_b0_rrca = -1; static int hf_pfcp_availability_status = -1; static int hf_pfcp_availability_type = -1; -static int hf_pfcp_mptcp_control_information_flags = -1; static int hf_pfcp_mptcp_control_information_flags_b0_tci = -1; -static int hf_pfcp_atsss_ll_control_information_flags = -1; static int hf_pfcp_atsss_ll_control_information_flags_b0_lli = -1; -static int hf_pfcp_pmf_control_information_flags = -1; static int hf_pfcp_pmf_control_information_flags_b2_pqpm = -1; static int hf_pfcp_pmf_control_information_flags_b1_drtti = -1; static int hf_pfcp_pmf_control_information_flags_b0_pmfi = -1; static int hf_pfcp_pmf_control_information_number_of_qfi = -1; -static int hf_pfcp_mptcp_address_information_flags = -1; static int hf_pfcp_mptcp_address_information_flags_b1_v6 = -1; static int hf_pfcp_mptcp_address_information_flags_b0_v4 = -1; static int hf_pfcp_mptcp_proxy_type = -1; @@ -761,7 +709,6 @@ static int hf_pfcp_mptcp_proxy_port = -1; static int hf_pfcp_mptcp_proxy_ip_address_ipv4 = -1; static int hf_pfcp_mptcp_proxy_ip_address_ipv6 = -1; -static int hf_pfcp_ue_link_specific_ip_address_flags = -1; static int hf_pfcp_ue_link_specific_ip_address_flags_b3_nv6 = -1; static int hf_pfcp_ue_link_specific_ip_address_flags_b2_nv4 = -1; static int hf_pfcp_ue_link_specific_ip_address_flags_b1_v6 = -1; @@ -771,7 +718,6 @@ static int hf_pfcp_ue_link_specific_ip_address_3gpp_ipv6 = -1; static int hf_pfcp_ue_link_specific_ip_address_non3gpp_ipv4 = -1; static int hf_pfcp_ue_link_specific_ip_address_non3gpp_ipv6 = -1; -static int hf_pfcp_pmf_address_information_flags = -1; static int hf_pfcp_pmf_address_information_flags_b2_mac = -1; static int hf_pfcp_pmf_address_information_flags_b1_v6 = -1; static int hf_pfcp_pmf_address_information_flags_b0_v4 = -1; @@ -782,34 +728,28 @@ static int hf_pfcp_pmf_port_non3gpp = -1; static int hf_pfcp_pmf_mac_address_3gpp = -1; static int hf_pfcp_pmf_mac_address_non3gpp = -1; -static int hf_pfcp_atsss_ll_information_flags = -1; static int hf_pfcp_atsss_ll_information_flags_b0_lli = -1; static int hf_pfcp_data_network_access_identifier = -1; static int hf_pfcp_packet_delay_milliseconds = -1; -static int hf_pfcp_qos_report_trigger_flags = -1; static int hf_pfcp_qos_report_trigger_flags_b2_ire = -1; static int hf_pfcp_qos_report_trigger_flags_b1_thr = -1; static int hf_pfcp_qos_report_trigger_flags_b0_per = -1; -static int hf_pfcp_gtp_u_path_interface_type_flags = -1; static int hf_pfcp_gtp_u_path_interface_type_flags_b1_n3 = -1; static int hf_pfcp_gtp_u_path_interface_type_flags_b0_n9 = -1; -static int hf_pfcp_requested_qos_monitoring_flags = -1; static int hf_pfcp_requested_qos_monitoring_flags_b3_gtpupm = -1; static int hf_pfcp_requested_qos_monitoring_flags_b2_rp = -1; static int hf_pfcp_requested_qos_monitoring_flags_b1_ul = -1; static int hf_pfcp_requested_qos_monitoring_flags_b0_dl = -1; -static int hf_pfcp_reporting_frequency_flags = -1; static int hf_pfcp_reporting_frequency_flags_b2_sesrl = -1; static int hf_pfcp_reporting_frequency_flags_b1_perio = -1; static int hf_pfcp_reporting_frequency_flags_b0_evett = -1; -static int hf_pfcp_packet_delay_thresholds_flags = -1; static int hf_pfcp_packet_delay_thresholds_flags_b2_rp = -1; static int hf_pfcp_packet_delay_thresholds_flags_b1_ul = -1; static int hf_pfcp_packet_delay_thresholds_flags_b0_dl = -1; @@ -819,8 +759,6 @@ static int hf_pfcp_packet_delay_thresholds_roundtrip = -1; static int hf_pfcp_minimum_wait_time_seconds = -1; - -static int hf_pfcp_qos_monitoring_measurement_flags = -1; static int hf_pfcp_qos_monitoring_measurement_flags_b3_plmf = -1; static int hf_pfcp_qos_monitoring_measurement_flags_b2_rp = -1; static int hf_pfcp_qos_monitoring_measurement_flags_b1_ul = -1; @@ -829,7 +767,6 @@ static int hf_pfcp_qos_monitoring_measurement_downlink = -1; static int hf_pfcp_qos_monitoring_measurement_uplink = -1; static int hf_pfcp_qos_monitoring_measurement_roundtrip = -1; -static int hf_pfcp_mt_edt_control_information_flags = -1; static int hf_pfcp_mt_edt_control_information_flags_b0_rdsi = -1; static int hf_pfcp_dl_data_packets_size = -1; @@ -841,26 +778,20 @@ static int hf_pfcp_nf_instance_id = -1; static int hf_pfcp_s_nssai_sst = -1; static int hf_pfcp_s_nssai_sd = -1; -static int hf_pfcp_ip_version_flags = -1; static int hf_pfcp_ip_version_flags_b1_v6 = -1; static int hf_pfcp_ip_version_flags_b0_v4 = -1; -static int hf_pfcp_pfcpasreq_flags_flags = -1; static int hf_pfcp_pfcpasreq_flags_flags_b0_uupsi = -1; -static int hf_pfcp_data_status_flags = -1; static int hf_pfcp_data_status_flags_b1_buff = -1; static int hf_pfcp_data_status_flags_b0_drop = -1; -static int hf_pfcp_rds_configuration_information_flags = -1; static int hf_pfcp_rds_configuration_information_flags_b0_rds = -1; -static int hf_pfcp_mptcp_application_indication_flags = -1; static int hf_pfcp_mptcp_application_indication_flags_b0_mai = -1; static int hf_pfcp_user_plane_nodemanagement_information_container = -1; -static int hf_pfcp_number_of_ue_ip_addresses_flags = -1; static int hf_pfcp_number_of_ue_ip_addresses_b1_ipv6 = -1; static int hf_pfcp_number_of_ue_ip_addresses_b0_ipv4 = -1; static int hf_pfcp_number_of_ue_ip_addresses_ipv6 = -1; @@ -871,7 +802,6 @@ static int hf_pfcp_validity_timer = -1; static int hf_pfcp_rattype = -1; static int hf_pfcp_l2tp_user_authentication_proxy_authen_type_value = -1; -static int hf_pfcp_l2tp_user_authentication_flags = -1; static int hf_pfcp_l2tp_user_authentication_b3_pai = -1; static int hf_pfcp_l2tp_user_authentication_b2_par = -1; static int hf_pfcp_l2tp_user_authentication_b1_pac = -1; @@ -898,7 +828,6 @@ static int hf_pfcp_l2tp_session_indications_o5_b0_reuia = -1; static int hf_pfcp_maximum_receive_unit = -1; -static int hf_pfcp_thresholds_flags = -1; static int hf_pfcp_thresholds_flags_b1_plr = -1; static int hf_pfcp_thresholds_flags_b0_rtt = -1; static int hf_pfcp_thresholds_rtt = -1; @@ -909,11 +838,9 @@ static int hf_pfcp_l2tp_steering_mode_indications_o5_b0_albi = -1; static int hf_pfcp_group_id = -1; -static int hf_pfcp_cp_ip_address_flags = -1; static int hf_pfcp_cp_ip_address_ipv4 = -1; static int hf_pfcp_cp_ip_address_ipv6 = -1; -static int hf_pfcp_ip_address_and_port_number_replacement_flags = -1; static int hf_pfcp_ip_address_and_port_number_replacement_flag_b0_v4 = -1; static int hf_pfcp_ip_address_and_port_number_replacement_flag_b1_v6 = -1; static int hf_pfcp_ip_address_and_port_number_replacement_flag_b2_dpn = -1; @@ -936,7 +863,6 @@ static int hf_pfcp_notification_correlation_id = -1; static int hf_pfcp_reporting_flags_o5_b0_dupl = -1; -static int hf_pfcp_mbs_session_identifier_flags = -1; static int hf_pfcp_mbs_session_identifier_flag_b0_tmgi = -1; static int hf_pfcp_mbs_session_identifier_flag_b1_ssmi = -1; static int hf_pfcp_mbs_session_identifier_flag_b2_nidi = -1; @@ -961,7 +887,6 @@ static int hf_pfcp_mbsn4mbreq_flags_o5_b2_mbs_resti = -1; static int hf_pfcp_mbsn4mbreq_flags_o5_b1_jmbssm = -1; static int hf_pfcp_mbsn4mbreq_flags_o5_b0_pllssm = -1; -static int hf_pfcp_local_ingress_tunnel_flags = -1; static int hf_pfcp_local_ingress_tunnel_flags_b2_ch = -1; static int hf_pfcp_local_ingress_tunnel_flags_b1_v6 = -1; static int hf_pfcp_local_ingress_tunnel_flags_b0_v4 = -1; @@ -982,14 +907,10 @@ static int hf_pfcp_area_session_id_value = -1; static int hf_pfcp_dscp_to_ppi_mapping_info_ppi_value = -1; static int hf_pfcp_dscp_to_ppi_mapping_info_dscp_value = -1; -static int hf_pfcp_pfcpsdrsp_flags = -1; static int hf_pfcp_pfcpsdrsp_flags_b0_puru = -1; -static int hf_pfcp_qer_indications_flags = -1; static int hf_pfcp_qer_indications_flags_b0_iqfis = -1; -static int hf_pfcp_vendor_specific_node_report_type_flags = -1; - /* Enterprise IEs */ /* BBF */ @@ -1065,92 +986,17 @@ static int ett_pfcp = -1; static int ett_pfcp_flags = -1; static int ett_pfcp_ie = -1; static int ett_pfcp_grouped_ie = -1; -static int ett_pfcp_f_seid_flags = -1; -static int ett_f_teid_flags = -1; -static int ett_pfcp_ue_ip_address_flags = -1; -static int ett_pfcp_sdf_filter_flags = -1; -static int ett_pfcp_measurement_method_flags = -1; static int ett_pfcp_reporting_triggers = -1; -static int ett_pfcp_volume_threshold = -1; -static int ett_pfcp_volume_quota = -1; -static int ett_pfcp_subseq_volume_threshold = -1; -static int ett_pfcp_dropped_dl_traffic_threshold = -1; -static int ett_pfcp_gate_status = -1; -static int ett_pfcp_report_type = -1; static int ett_pfcp_up_function_features = -1; static int ett_pfcp_report_trigger = -1; -static int ett_pfcp_volume_measurement = -1; -static int ett_pfcp_usage_information = -1; -static int ett_pfcp_packet_rate = -1; -static int ett_pfcp_pfcp_dl_flow_level_marking = -1; -static int ett_pfcp_dl_data_service_inf = -1; -static int ett_pfcp_pfcpsmreq = -1; -static int ett_pfcp_pfcpsrrsp = -1; -static int ett_pfcp_measurement_info = -1; -static int ett_pfcp_node_report_type = -1; -static int ett_pfcp_remote_gtp_u_peer = -1; -static int ett_pfcp_oci_flags = -1; -static int ett_pfcp_assoc_rel_req_flags = -1; -static int ett_pfcp_upiri_flags = -1; static int ett_pfcp_flow_desc = -1; static int ett_pfcp_tos = -1; static int ett_pfcp_spi = -1; static int ett_pfcp_flow_label = -1; static int ett_pfcp_sdf_filter_id = -1; -static int ett_pfcp_subsequent_volume_quota = -1; -static int ett_pfcp_additional_usage_reports_information = -1; -static int ett_pfcp_mac_address = -1; -static int ett_pfcp_c_tag = -1; -static int ett_pfcp_s_tag = -1; -static int ett_pfcp_proxying = -1; -static int ett_pfcp_ethernet_filter_properties = -1; -static int ett_pfcp_user_id = -1; -static int ett_pfcp_ethernet_pdu_session_information = -1; static int ett_pfcp_adf = -1; static int ett_pfcp_aurl = -1; static int ett_pfcp_adnp = -1; -static int ett_pfcp_pfcpsrreq = -1; -static int ett_pfcp_pfcpaureq = -1; -static int ett_pfcp_alternative_smf_ip_address_flags = -1; -static int ett_pfcp_packet_replication_and_detection_carry_on_information = -1; -static int ett_pfcp_pfcpasrsp_flags = -1; -static int ett_pfcp_cp_pfcp_entity_ip_address_flags = -1; -static int ett_pfcp_pfcpsereq_flags = -1; -static int ett_pfcp_ip_multicast_address_flags = -1; -static int ett_pfcp_source_ip_address_flags = -1; -static int ett_pfcp_packet_rate_status = -1; -static int ett_pfcp_create_bridge_info_for_tsc = -1; -static int ett_pfcp_5gs_user_plane_node = -1; -static int ett_pfcp_requested_clock_drift_control_information = -1; -static int ett_pfcp_requested_access_availability_control_information = -1; -static int ett_pfcp_mptcp_control_information = -1; -static int ett_pfcp_atsss_ll_control_information = -1; -static int ett_pfcp_pmf_control_information = -1; -static int ett_pfcp_mptcp_entity_ip_address_information = -1; -static int ett_pfcp_ue_link_specific_entity_ip_address = -1; -static int ett_pfcp_pmf_address_information = -1; -static int ett_pfcp_atsss_ll_information = -1; -static int ett_pfcp_qos_report_trigger = -1; -static int ett_pfcp_gtp_u_path_interface_type = -1; -static int ett_pfcp_requested_qos_monitoring = -1; -static int ett_pfcp_reporting_frequency = -1; -static int ett_pfcp_packet_delay_thresholds = -1; -static int ett_pfcp_qos_monitoring_measurement = -1; -static int ett_pfcp_monitoring_measurement = -1; -static int ett_pfcp_ip_version = -1; -static int ett_pfcp_pfcpasreq_flags = -1; -static int ett_pfcp_data_status_flags = -1; -static int ett_pfcp_rds_configuration_information_flags = -1; -static int ett_pfcp_number_of_ue_ip_addresses_flags = -1; -static int ett_pfcp_l2tp_user_authentication_flags = -1; -static int ett_pfcp_thresholds = -1; -static int ett_pfcp_cp_ip_address_flags = -1; -static int ett_pfcp_ip_address_and_port_number_replacement_flags = -1; -static int ett_pfcp_mbs_session_identifier_flags = -1; -static int ett_pfcp_local_ingress_tunnel_flags = -1; -static int ett_pfcp_pfcpsdrsp = -1; -static int ett_pfcp_qer_indications = -1; -static int ett_pfcp_vendor_specific_node_report_type = -1; static int ett_pfcp_enterprise_travelping_packet_measurement = -1; static int ett_pfcp_enterprise_travelping_error_report = -1; @@ -2157,8 +2003,7 @@ static int decode_pfcp_c_tag(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * NULL }; /* Octet 5 Spare VID DEI PCP */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_c_tag_flags, - ett_pfcp_c_tag, pfcp_c_tag_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_c_tag_flags, ENC_BIG_ENDIAN); offset += 1; // Octet 8 7 6 5 4 3 2 1 @@ -2188,8 +2033,7 @@ static int decode_pfcp_s_tag(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * NULL }; /* Octet 5 Spare VID DEI PCP */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_s_tag_flags, - ett_pfcp_s_tag, pfcp_s_tag_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_s_tag_flags, ENC_BIG_ENDIAN); offset += 1; // Octet 8 7 6 5 4 3 2 1 @@ -2309,8 +2153,7 @@ dissect_pfcp_f_teid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_i NULL }; /* Octet 5 Spare Spare Spare Spare CHID CH V6 V4*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_f_teid_flags, - ett_f_teid_flags, pfcp_fteid_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &fteid_flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_fteid_flags, ENC_BIG_ENDIAN, &fteid_flags_val); offset += 1; /* The following flags are coded within Octet 5: * Bit 1 - V4: If this bit is set to "1" and the CH bit is not set, then the IPv4 address field shall be present, @@ -2441,8 +2284,7 @@ dissect_pfcp_sdf_filter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pro NULL }; /* Octet 5 Spare FL SPI TTC FD*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_sdf_filter_flags, - ett_pfcp_sdf_filter_flags, pfcp_sdf_filter_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_sdf_filter_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* Octet 6 Spare*/ proto_tree_add_item(tree, hf_pfcp_spare, tvb, offset, 1, ENC_BIG_ENDIAN); @@ -2549,8 +2391,7 @@ dissect_pfcp_gate_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pr NULL }; /* Octet 5 Spare UL Gate DL Gate */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_gate_status, - ett_pfcp_gate_status, pfcp_gate_status_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_gate_status_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -2706,8 +2547,7 @@ dissect_pfcp_volume_threshold(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre NULL }; /* Octet 5 Spare DLVOL ULVOL TOVOL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_volume_threshold, - ett_pfcp_volume_threshold, pfcp_volume_threshold_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_volume_threshold_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer value. @@ -2802,8 +2642,7 @@ dissect_pfcp_subseq_volume_threshold(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare DLVOL ULVOL TOVOL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_subseq_volume_threshold, - ett_pfcp_subseq_volume_threshold, pfcp_subseq_volume_threshold_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_subseq_volume_threshold_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer value. @@ -3023,8 +2862,7 @@ dissect_pfcp_report_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pr NULL }; /* Octet 5 Spare UISR SESR TMIR UPIR ERIR USAR DLDR */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_report_type, - ett_pfcp_report_type, pfcp_report_type_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_report_type_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -3312,8 +3150,7 @@ dissect_pfcp_dl_data_service_inf(tvbuff_t *tvb, packet_info *pinfo, proto_tree * NULL }; /* Octet 5 Spare QFII PPI */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_dl_data_service_inf_flags, - ett_pfcp_dl_data_service_inf, pfcp_dl_data_service_inf_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_dl_data_service_inf_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* The PPI flag in octet 5 indicates whether the Paging Policy Indication value in octet 'm' shall be present */ @@ -3454,8 +3291,7 @@ dissect_pfcp_pfcpsmreq_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare Spare Spare RUMUC SUMPC QAURR SNDEM DROBU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpsmreq_flags, - ett_pfcp_pfcpsmreq, pfcp_pfcpsmreq_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpsmreq_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -3477,8 +3313,7 @@ dissect_pfcp_pfcpsrrsp_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare Spare Spare Spare Spare Spare Spare DROBU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpsrrsp_flags, - ett_pfcp_pfcpsrrsp, pfcp_pfcpsrrsp_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpsrrsp_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -3619,8 +3454,7 @@ dissect_pfcp_f_seid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_i NULL }; /* Octet 5 Spare Spare Spare Spare Spare Spare V4 V6*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_f_seid_flags, - ett_pfcp_f_seid_flags, pfcp_f_seid_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &f_seid_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_f_seid_flags, ENC_BIG_ENDIAN, &f_seid_flags); offset += 1; if ((f_seid_flags & 0x3) == 0) { @@ -3791,8 +3625,7 @@ dissect_pfcp_pfd_contents(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, p NULL }; /* Octet 5 ADNP AURL AFD DNP CP DN URL FD */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_pfd_contents_flags, - ett_pfcp_measurement_method_flags, pfcp_pfd_contents_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_pfd_contents_flags, ENC_BIG_ENDIAN, &flags); offset += 1; // Octet 6 Spare Octet @@ -3982,8 +3815,7 @@ dissect_pfcp_measurement_method(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t NULL }; /* Octet 5 Spare Spare Spare Spare Spare EVENT VOLUM DURAT */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_measurement_method_flags, - ett_pfcp_measurement_method_flags, pfcp_measurement_method_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_measurement_method_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -4177,8 +4009,7 @@ dissect_pfcp_volume_measurement(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t NULL }; /* Octet 5 Spare DLNOP ULNOP TONOP DLVOL ULVOL TOVOL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_volume_measurement, - ett_pfcp_volume_measurement, pfcp_volume_measurement_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_volume_measurement_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* Bit 1 - TOVOL: If this bit is set to "1", then the Total Volume field shall be present*/ @@ -4320,8 +4151,7 @@ dissect_pfcp_dropped_dl_traffic_threshold(tvbuff_t *tvb, packet_info *pinfo, pro NULL }; /* Octet 5 Spare DLBY DLPA*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_dropped_dl_traffic_threshold, - ett_pfcp_dropped_dl_traffic_threshold, pfcp_dropped_dl_traffic_threshold_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_dropped_dl_traffic_threshold_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; if ((flags_val & 0x1) == 1) { @@ -4361,8 +4191,7 @@ dissect_pfcp_volume_quota(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, p NULL }; /* Octet 5 Spare DLVOL ULVOL TOVOL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_volume_quota, - ett_pfcp_volume_quota, pfcp_volume_quota_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_volume_quota_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer value. @@ -4700,8 +4529,7 @@ dissect_pfcp_usage_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr NULL }; /* Octet 5 Spare UBE UAE AFT BEF */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_usage_information, - ett_pfcp_usage_information, pfcp_usage_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_usage_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -4796,8 +4624,7 @@ dissect_pfcp_ue_ip_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NULL }; /* Octet 5 Spare IPV6PL CHV6 CHV4 IPv6D S/D V4 V6*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_ue_ip_address_flags, - ett_pfcp_ue_ip_address_flags, pfcp_ue_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &ue_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_ue_ip_address_flags, ENC_BIG_ENDIAN, &ue_ip_address_flags); offset += 1; /* IPv4 address (if present)*/ @@ -4852,8 +4679,7 @@ dissect_pfcp_packet_rate(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pr NULL }; /* Octet 5 Spare DLPR ULPR */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_packet_rate, - ett_pfcp_packet_rate, pfcp_packet_rate_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_packet_rate_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* Bit 1 - ULPR (Uplink Packet Rate): If this bit is set to "1", then octets m to (m+2) shall be present */ @@ -4985,8 +4811,7 @@ dissect_pfcp_dl_flow_level_marking(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ NULL }; /* Octet 5 Spare SCI TTC*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_dl_flow_level_marking, - ett_pfcp_pfcp_dl_flow_level_marking, pfcp_dl_flow_level_marking_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_dl_flow_level_marking_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* Bit 1 - TTC (ToS/Traffic Class): If this bit is set to "1", @@ -5084,8 +4909,7 @@ dissect_pfcp_measurement_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre NULL }; /* Octet 5 CIAM ASPOC SSPOC MNOP ISTM INAM MBQE */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_measurement_info, - ett_pfcp_measurement_info, pfcp_measurement_info_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_measurement_info_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -5112,8 +4936,7 @@ dissect_pfcp_node_report_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre NULL }; /* Octet 5 Spare VSR PURR GPQR CKDR UPRR MBQE */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_node_report_type, - ett_pfcp_node_report_type, pfcp_node_report_type_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_node_report_type_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -5140,8 +4963,7 @@ dissect_pfcp_remote_gtp_u_peer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr NULL }; /* Octet 5 Spare NI DI V4 V6*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_remote_gtp_u_peer_flags, - ett_pfcp_remote_gtp_u_peer, pfcp_remote_gtp_u_peer_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_remote_gtp_u_peer_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* IPv4 address (if present)*/ @@ -5319,8 +5141,7 @@ dissect_pfcp_oci_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, prot NULL }; /* Octet 5 Spare AOCI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_oci_flags, - ett_pfcp_oci_flags, pfcp_oci_flags_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_oci_flags_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -5343,8 +5164,7 @@ dissect_pfcp_pfcp_assoc_rel_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t NULL }; /* Octet 5 Spare SARR */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcp_assoc_rel_req_flags, - ett_pfcp_assoc_rel_req_flags, pfcp_pfcp_assoc_rel_req_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcp_assoc_rel_req_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -5589,8 +5409,7 @@ dissect_pfcp_user_plane_ip_resource_infomation(tvbuff_t *tvb, packet_info *pinfo NULL }; /* Octet 5 Spare ASSOSI ASSONI TEIDRI TEIDRI TEIDRI V6 V4*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_upiri_flags, - ett_pfcp_upiri_flags, pfcp_upiri_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &upiri_flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_upiri_flags, ENC_BIG_ENDIAN, &upiri_flags_val); /* The following flags are coded within Octet 5: * Bit 1 - V4: If this bit is set to "1" and the CH bit is not set, then the IPv4 address field shall be present, @@ -5716,8 +5535,7 @@ dissect_pfcp_subsequent_volume_quota(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare DLVOL ULVOL TOVOL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_subsequent_volume_quota, - ett_pfcp_subsequent_volume_quota, pfcp_subsequent_volume_quota_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_subsequent_volume_quota_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* The Total Volume, Uplink Volume and Downlink Volume fields shall be encoded as an Unsigned64 binary integer value. @@ -5863,8 +5681,7 @@ dissect_pfcp_additional_usage_reports_information(tvbuff_t *tvb, packet_info *pi &hf_pfcp_additional_usage_reports_information_b14_b0_number_value, NULL }; - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_additional_usage_reports_information, - ett_pfcp_additional_usage_reports_information, pfcp_additional_usage_reports_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 2, pfcp_additional_usage_reports_information_flags, ENC_BIG_ENDIAN); offset += 2; if (offset < length) { @@ -5905,8 +5722,7 @@ static void dissect_pfcp_mac_address(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare EDES USOU DEST SOUR */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_mac_address_flags, - ett_pfcp_mac_address, pfcp_mac_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_mac_address_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; // Octets "m to (m+5)" or "n to (n+5)" and "o to (o+5)" or "p to (p+5)", if present, @@ -6010,8 +5826,7 @@ static void dissect_pfcp_proxying(tvbuff_t *tvb, packet_info *pinfo, proto_tree NULL }; /* Octet 5 Spare INS ARP */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_proxying_flags, - ett_pfcp_proxying, pfcp_proxying_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_proxying_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; if (offset < length) { @@ -6050,8 +5865,7 @@ static void dissect_pfcp_ethernet_filter_properties(tvbuff_t *tvb, packet_info * NULL }; /* Octet 5 Spare BIDE */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_ethertype_filter_properties_flags, - ett_pfcp_ethernet_filter_properties, pfcp_ethernet_filter_properties_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_ethernet_filter_properties_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; if (offset < length) { @@ -6100,8 +5914,7 @@ static void dissect_pfcp_user_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree * NULL }; /* Octet 5 Spare IMEIF IMSIF */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_user_id_flags, - ett_pfcp_user_id, pfcp_user_id_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_user_id_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; /* Bit 1 - IMSIF: If this bit is set to "1", then the Length of IMSI and IMSI fields shall be present */ @@ -6198,8 +6011,7 @@ static void dissect_pfcp_ethernet_pdu_session_information(tvbuff_t *tvb, packet_ NULL }; /* Octet 5 Spare ETHI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_ethernet_pdu_session_information_flags, - ett_pfcp_ethernet_pdu_session_information, pfcp_ethernet_pdu_session_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_ethernet_pdu_session_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -6670,8 +6482,7 @@ dissect_pfcp_pfcpsrreq_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare Spare Spare Spare Spare Spare Spare PSDBU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpsrreq_flags, - ett_pfcp_pfcpsrreq, pfcp_pfcpsrreq_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpsrreq_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -6694,8 +6505,7 @@ dissect_pfcp_pfcpaureq_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare Spare Spare Spare Spare Spare Spare PSDBU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpaureq_flags, - ett_pfcp_pfcpaureq, pfcp_pfcpaureq_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpaureq_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -6905,8 +6715,7 @@ dissect_pfcp_alternative_smf_ip_address(tvbuff_t *tvb, packet_info *pinfo, proto NULL }; /* Octet 5 Spare PPE V4 V6 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_pfcp_alternative_smf_ip_address_flags, - ett_pfcp_alternative_smf_ip_address_flags, pfcp_alternative_smf_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &alternative_smf_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_alternative_smf_ip_address_flags, ENC_BIG_ENDIAN, &alternative_smf_ip_address_flags); offset += 1; /* IPv4 address (if present) */ @@ -6944,8 +6753,7 @@ dissect_pfcp_packet_replication_and_detection_carry_on_information(tvbuff_t *tvb NULL }; /* Octet 5 Spare Spare Spare Spare DCARONI PRIN6I PRIN19I PRIUEAI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_packet_replication_and_detection_carry_on_information_flags, - ett_pfcp_packet_replication_and_detection_carry_on_information, pfcp_packet_replication_and_detection_carry_on_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_packet_replication_and_detection_carry_on_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7021,8 +6829,7 @@ dissect_pfcp_pfcpasrsp_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare UUPSI PSREI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpasrsp_flags_flags, - ett_pfcp_pfcpasrsp_flags, pfcp_pfcpasrsp_flags_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpasrsp_flags_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7046,8 +6853,7 @@ dissect_pfcp_cp_pfcp_entity_ip_address(tvbuff_t *tvb, packet_info *pinfo, proto_ NULL }; /* Octet 5 Spare V4 V6 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_cp_pfcp_entity_ip_address_flags, - ett_pfcp_cp_pfcp_entity_ip_address_flags, pfcp_cp_pfcp_entity_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &cp_pfcp_entity_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_cp_pfcp_entity_ip_address_flags, ENC_BIG_ENDIAN, &cp_pfcp_entity_ip_address_flags); offset += 1; /* IPv4 address (if present) */ @@ -7083,8 +6889,7 @@ dissect_pfcp_pfcpsereq_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare SUMPC RESTI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpsereq_flags_flags, - ett_pfcp_pfcpsereq_flags, pfcp_pfcpsereq_flags_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpsereq_flags_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7110,8 +6915,7 @@ dissect_pfcp_ip_multicast_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree NULL }; /* Octet 5 Spare A(Any) R(Range) V4 V6 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_ip_multicast_address_flags, - ett_pfcp_ip_multicast_address_flags, pfcp_ip_multicast_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &ip_multicast_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_ip_multicast_address_flags, ENC_BIG_ENDIAN, &ip_multicast_address_flags); offset += 1; /* Any: If this bit is set to "1", this indicates any IP multicast address; in this case, no IP address field shall be included. */ @@ -7163,8 +6967,7 @@ dissect_pfcp_source_ip_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr NULL }; /* Octet 5 Spare V4 V6 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_source_ip_address_flags, - ett_pfcp_source_ip_address_flags, pfcp_source_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &source_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_source_ip_address_flags, ENC_BIG_ENDIAN, &source_ip_address_flags); offset += 1; /* IPv4 address (if present) */ @@ -7209,8 +7012,7 @@ dissect_pfcp_packet_rate_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t NULL }; /* Octet 5 Spare APR DL UL*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_packet_rate_status_flags, - ett_pfcp_packet_rate_status, pfcp_packet_rate_status_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_packet_rate_status_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; @@ -7260,8 +7062,7 @@ dissect_pfcp_create_bridge_info_for_tsc(tvbuff_t *tvb, packet_info *pinfo, proto NULL }; /* Octet 5 Spare BII */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_create_bridge_info_for_tsc_flags, - ett_pfcp_create_bridge_info_for_tsc, pfcp_create_bridge_info_for_tsc_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_create_bridge_info_for_tsc_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7310,8 +7111,7 @@ dissect_pfcp_5gs_user_plane_node(tvbuff_t *tvb, packet_info *pinfo, proto_tree * NULL }; /* Octet 5 Spare BID */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_5gs_user_plane_node_flags, - ett_pfcp_5gs_user_plane_node, pfcp_5gs_user_plane_node_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_5gs_user_plane_node_flags, ENC_BIG_ENDIAN, &flags_val); offset += 1; // Bit 1 – BID: If this bit is set to "1", then the Use Plane value field shall be present, @@ -7351,8 +7151,7 @@ dissect_pfcp_requested_clock_drift_control_information(tvbuff_t *tvb, packet_inf NULL }; /* Octet 5 Spare BII */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_requested_clock_drift_control_information_flags, - ett_pfcp_requested_clock_drift_control_information, pfcp_requested_clock_drift_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_requested_clock_drift_control_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7478,8 +7277,7 @@ dissect_pfcp_requested_access_availability_control_information(tvbuff_t *tvb, pa NULL }; /* Octet 5 Spare RRCA */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_requested_access_availability_control_information_flags, - ett_pfcp_requested_access_availability_control_information, pfcp_requested_access_availability_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_requested_access_availability_control_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7533,8 +7331,7 @@ dissect_pfcp_mptcp_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_ NULL }; /* Octet 5 Spare RRCA */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_mptcp_control_information_flags, - ett_pfcp_mptcp_control_information, pfcp_mptcp_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_mptcp_control_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7556,8 +7353,7 @@ dissect_pfcp_atsss_ll_control_information(tvbuff_t *tvb, packet_info *pinfo, pro NULL }; /* Octet 5 Spare RRCA */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_atsss_ll_control_information_flags, - ett_pfcp_atsss_ll_control_information, pfcp_atsss_ll_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_atsss_ll_control_information_flags, ENC_BIG_ENDIAN); offset += 1; @@ -7584,8 +7380,7 @@ dissect_pfcp_pmf_control_information(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare PQPM DRTTI RRCA */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_pmf_control_information_flags, - ett_pfcp_pmf_control_information, pfcp_pmf_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_pmf_control_information_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* QFI */ @@ -7622,8 +7417,7 @@ dissect_pfcp_mptcp_address_information(tvbuff_t *tvb, packet_info *pinfo, proto_ NULL }; /* Octet 5 Spare V6 V4 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_mptcp_address_information_flags, - ett_pfcp_mptcp_entity_ip_address_information, pfcp_mptcp_ip_address_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &mptcp_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_mptcp_ip_address_information_flags, ENC_BIG_ENDIAN, &mptcp_address_flags); offset += 1; /* Octet 6 MPTCP Proxy Type */ @@ -7670,8 +7464,7 @@ dissect_pfcp_ue_link_specific_ip_address(tvbuff_t *tvb, packet_info *pinfo, prot NULL }; /* Octet 5 Spare NV6 NV4 V6 V4 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_ue_link_specific_ip_address_flags, - ett_pfcp_ue_link_specific_entity_ip_address, pfcp_ue_link_specific_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &ue_link_specific_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_ue_link_specific_ip_address_flags, ENC_BIG_ENDIAN, &ue_link_specific_ip_address_flags); offset += 1; /* UE Link-Specific IPv4 Address for 3GPP Access (if present) */ @@ -7717,8 +7510,7 @@ dissect_pfcp_pmf_address_information(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare MAC V6 V4 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_pmf_address_information_flags, - ett_pfcp_pmf_address_information, pfcp_pmf_address_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &pmf_address_information_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_pmf_address_information_flags, ENC_BIG_ENDIAN, &pmf_address_information_flags); offset += 1; /* p to (p+3) PMF IPv4 address (if present) */ @@ -7770,8 +7562,7 @@ dissect_pfcp_atsss_ll_information(tvbuff_t *tvb, packet_info *pinfo, proto_tree NULL }; /* Octet 5 Spare LLI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_atsss_ll_information_flags, - ett_pfcp_atsss_ll_information, pfcp_atsss_ll_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_atsss_ll_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7860,8 +7651,7 @@ dissect_pfcp_qos_report_trigger(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t NULL }; /* Octet 5 Spare IRE THR PER */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_qos_report_trigger_flags, - ett_pfcp_qos_report_trigger, pfcp_qos_report_trigger_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_qos_report_trigger_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7884,8 +7674,7 @@ dissect_pfcp_gtp_u_path_interface_type(tvbuff_t *tvb, packet_info *pinfo, proto_ NULL }; /* Octet 5 Spare N3 N9 */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_gtp_u_path_interface_type_flags, - ett_pfcp_gtp_u_path_interface_type, pfcp_gtp_u_path_interface_type_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_gtp_u_path_interface_type_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7910,8 +7699,7 @@ dissect_pfcp_requested_qos_monitoring(tvbuff_t *tvb, packet_info *pinfo, proto_t NULL }; /* Octet 5 Spare GTPUPM RP Ul DL */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_requested_qos_monitoring_flags, - ett_pfcp_requested_qos_monitoring, pfcp_requested_qos_monitoring_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_requested_qos_monitoring_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7935,8 +7723,7 @@ dissect_pfcp_reporting_frequency(tvbuff_t *tvb, packet_info *pinfo, proto_tree * NULL }; /* Octet 5 Spare RP Ul DL */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_reporting_frequency_flags, - ett_pfcp_reporting_frequency, pfcp_reporting_frequency_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_reporting_frequency_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -7961,8 +7748,7 @@ dissect_pfcp_packet_delay_thresholds(tvbuff_t *tvb, packet_info *pinfo, proto_tr NULL }; /* Octet 5 Spare RP Ul DL */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_packet_delay_thresholds_flags, - ett_pfcp_packet_delay_thresholds, pfcp_packet_delay_thresholds_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &packet_delay_thresholds_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_packet_delay_thresholds_flags, ENC_BIG_ENDIAN, &packet_delay_thresholds_flags); offset += 1; /* m to (m+3) Downlink packet delay threshold */ @@ -8023,8 +7809,7 @@ dissect_pfcp_qos_monitoring_measurement(tvbuff_t *tvb, packet_info *pinfo, proto NULL }; /* Octet 5 Spare RP Ul DL */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_qos_monitoring_measurement_flags, - ett_pfcp_qos_monitoring_measurement, pfcp_qos_monitoring_measurement_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &qos_monitoring_measurement_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_qos_monitoring_measurement_flags, ENC_BIG_ENDIAN, &qos_monitoring_measurement_flags); offset += 1; /* m to (m+3) Downlink packet delay threshold */ @@ -8064,8 +7849,7 @@ dissect_pfcp_mt_edt_control_information(tvbuff_t *tvb, packet_info *pinfo, proto NULL }; /* Octet 5 Spare RDSI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_mt_edt_control_information_flags, - ett_pfcp_monitoring_measurement, pfcp_mt_edt_control_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_mt_edt_control_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8161,8 +7945,7 @@ dissect_pfcp_ip_version(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pro NULL }; /* Octet 5 Spare V6 V4 */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_ip_version_flags, - ett_pfcp_ip_version, pfcp_ip_version_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_ip_version_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8184,8 +7967,7 @@ dissect_pfcp_pfcpasreq_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare UUPSI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpasreq_flags_flags, - ett_pfcp_pfcpasreq_flags, pfcp_pfcpasreq_flags_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpasreq_flags_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8208,8 +7990,7 @@ dissect_pfcp_data_status(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pr NULL }; /* Octet 5 Spare BUFF DROP */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_data_status_flags, - ett_pfcp_data_status_flags, pfcp_data_status_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_data_status_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8231,8 +8012,7 @@ dissect_pfcp_rds_configuration_information(tvbuff_t *tvb, packet_info *pinfo, pr NULL }; /* Octet 5 Spare RDS */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_rds_configuration_information_flags, - ett_pfcp_rds_configuration_information_flags, pfcp_rds_configuration_information_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_rds_configuration_information_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8254,8 +8034,7 @@ dissect_pfcp_mptcp_application_indication(tvbuff_t *tvb, packet_info *pinfo, pro NULL }; /* Octet 5 Spare MAI */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_mptcp_application_indication_flags, - ett_pfcp_rds_configuration_information_flags, pfcp_mptcp_application_indication_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_mptcp_application_indication_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -8292,8 +8071,7 @@ dissect_pfcp_number_of_ue_ip_addresses(tvbuff_t *tvb, packet_info *pinfo, proto_ NULL }; /* Octet 5 Spare Spare Spare Spare Spare Spare IPv6 IPv4*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_number_of_ue_ip_addresses_flags, - ett_pfcp_number_of_ue_ip_addresses_flags, pfcp_number_of_ue_ip_addresses_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &number_of_ue_ip_addresses_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_number_of_ue_ip_addresses_flags, ENC_BIG_ENDIAN, &number_of_ue_ip_addresses_flags); offset += 1; /* a to (a+3) Number of UE IPv4 Addresses */ @@ -8410,8 +8188,7 @@ dissect_pfcp_l2tp_user_authentication(tvbuff_t *tvb, packet_info *pinfo _U_, pro offset += 2; /* Octet 7 Spare PAI PAR PAC PAN */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_l2tp_user_authentication_flags, - ett_pfcp_l2tp_user_authentication_flags, pfcp_l2tp_user_authentication_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &l2tp_user_authentication_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_l2tp_user_authentication_flags, ENC_BIG_ENDIAN, &l2tp_user_authentication_flags); offset += 1; /* Proxy Authen Name */ @@ -8590,8 +8367,7 @@ dissect_pfcp_thresholds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pro NULL }; /* Octet 5 Spare PLR RTT */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_thresholds_flags, - ett_pfcp_thresholds, pfcp_thresholds_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT, &flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_thresholds_flags, ENC_BIG_ENDIAN, &flags); offset += 1; /* RTT */ @@ -8663,8 +8439,7 @@ dissect_pfcp_cp_ip_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NULL }; /* Octet 5 Spare V4 V6 */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_cp_ip_address_flags, - ett_pfcp_cp_ip_address_flags, pfcp_cp_ip_address_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &cp_ip_address_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_cp_ip_address_flags, ENC_BIG_ENDIAN, &cp_ip_address_flags); offset += 1; /* IPv4 address (if present) */ @@ -8705,8 +8480,7 @@ dissect_pfcp_ip_address_and_port_number_replacement(tvbuff_t *tvb, packet_info * NULL }; /* Octet 5 Spare SPN SIPV6 SIPV4 DPN V6 V4*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_ip_address_and_port_number_replacement_flags, - ett_pfcp_ip_address_and_port_number_replacement_flags, pfcp_ip_address_and_port_number_replacement_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &ip_address_and_port_number_replacement_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_ip_address_and_port_number_replacement_flags, ENC_BIG_ENDIAN, &ip_address_and_port_number_replacement_flags); offset += 1; /* Destination IPv4 address (if present)*/ @@ -8842,8 +8616,7 @@ dissect_pfcp_mbs_session_identifier(tvbuff_t *tvb, packet_info *pinfo, proto_tre NULL }; /* Octet 5 Spare NIDI SMI TMGI */ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_mbs_session_identifier_flags, - ett_pfcp_mbs_session_identifier_flags, pfcp_mbs_session_identifier_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &mbs_session_identifier_flags); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_mbs_session_identifier_flags, ENC_BIG_ENDIAN, &mbs_session_identifier_flags); offset += 1; /* TMGI (if present)*/ @@ -8986,8 +8759,7 @@ dissect_pfcp_local_ingress_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree NULL }; /* Octet 5 Spare CH V6 V4*/ - proto_tree_add_bitmask_with_flags_ret_uint64(tree, tvb, offset, hf_pfcp_local_ingress_tunnel_flags, - ett_pfcp_local_ingress_tunnel_flags, pfcp_local_ingress_tunnel_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT | BMT_NO_TFS, &local_ingress_tunnel_flags_val); + proto_tree_add_bitmask_list_ret_uint64(tree, tvb, offset, 1, pfcp_local_ingress_tunnel_flags, ENC_BIG_ENDIAN, &local_ingress_tunnel_flags_val); offset += 1; /* Bit 3 – CH (CHOOSE): If this bit is set to "1", then the UDP Port, IPv4 address and IPv6 address fields shall not be present */ @@ -9117,8 +8889,7 @@ dissect_pfcp_pfcpsdrsp_flags(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare PURU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_pfcpsdrsp_flags, - ett_pfcp_pfcpsdrsp, pfcp_pfcpsdrsp_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_pfcpsdrsp_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -9140,8 +8911,7 @@ dissect_pfcp_qer_indications(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree NULL }; /* Octet 5 Spare PURU */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_qer_indications_flags, - ett_pfcp_qer_indications, pfcp_qer_indications_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_qer_indications_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -9173,8 +8943,7 @@ dissect_pfcp_vendor_specific_node_report_type(tvbuff_t *tvb, packet_info *pinfo, NULL }; /* Octet 5 Spare */ - proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_pfcp_vendor_specific_node_report_type_flags, - ett_pfcp_vendor_specific_node_report_type, pfcp_vendor_specific_node_report_type_flags, ENC_BIG_ENDIAN, BMT_NO_FALSE | BMT_NO_INT); + proto_tree_add_bitmask_list(tree, tvb, offset, 1, pfcp_vendor_specific_node_report_type_flags, ENC_BIG_ENDIAN); offset += 1; if (offset < length) { @@ -11684,11 +11453,6 @@ proto_register_pfcp(void) FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_f_seid_flags, - { "Flags", "pfcp.f_seid_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_b0_v6, { "V6 (IPv6)", "pfcp.f_seid_flags.v6", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -11724,11 +11488,6 @@ proto_register_pfcp(void) FT_UINT8, BASE_DEC, VALS(pfcp_source_interface_vals), 0x0f, NULL, HFILL } }, - { &hf_pfcp_f_teid_flags, - { "Flags", "pfcp.f_teid_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_fteid_flg_spare, { "Spare", "pfcp.fteid_flg.spare", FT_UINT8, BASE_DEC, NULL, 0xf0, @@ -11809,11 +11568,6 @@ proto_register_pfcp(void) FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_ue_ip_address_flags, - { "Flags", "pfcp.ue_ip_address_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ue_ip_address_flag_b0_v6, { "V6 (IPv6)", "pfcp.ue_ip_address_flag.v6", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -11879,11 +11633,6 @@ proto_register_pfcp(void) FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_sdf_filter_flags, - { "Flags", "pfcp.sdf_filter_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_sdf_filter_flags_b0_fd, { "FD (Flow Description)", "pfcp.sdf_filter.fd", FT_BOOLEAN, 8, NULL, 0x01, @@ -12206,11 +11955,6 @@ proto_register_pfcp(void) FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_measurement_method_flags, - { "Flags", "pfcp.measurement_method_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_measurement_method_flags_b0_durat, { "DURAT (Duration)", "pfcp.measurement_method_flags.durat", FT_BOOLEAN, 8, NULL, 0x01, @@ -12442,11 +12186,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_volume_threshold, - { "Flags", "pfcp.volume_threshold", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_volume_threshold_b0_tovol, { "TOVOL", "pfcp.volume_threshold_flags.tovol", FT_BOOLEAN, 8, NULL, 0x01, @@ -12477,11 +12216,6 @@ proto_register_pfcp(void) FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_volume_quota, - { "Flags", "pfcp.volume_quota", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_volume_quota_b0_tovol, { "TOVOL", "pfcp.volume_quota_flags.tovol", FT_BOOLEAN, 8, NULL, 0x01, @@ -12512,11 +12246,6 @@ proto_register_pfcp(void) FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_subseq_volume_threshold, - { "Flags", "pfcp.subseq_volume_threshold", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_subseq_volume_threshold_b0_tovol, { "TOVOL", "pfcp.subseq_volume_threshold.tovol_flg", FT_BOOLEAN, 8, NULL, 0x01, @@ -12567,11 +12296,6 @@ proto_register_pfcp(void) FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_dropped_dl_traffic_threshold, - { "Flags", "pfcp.dropped_dl_traffic_threshold", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_dropped_dl_traffic_threshold_b0_dlpa, { "DLPA", "pfcp.dropped_dl_traffic_threshold.dlpa_flg", FT_BOOLEAN, 8, NULL, 0x01, @@ -12597,11 +12321,6 @@ proto_register_pfcp(void) FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_gate_status, - { "Flags", "pfcp.gate_status", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_gate_status_b0b1_dlgate, { "DL Gate", "pfcp.gate_status.dlgate", FT_UINT8, BASE_DEC, VALS(pfcp_gate_status_vals), 0x03, @@ -12632,11 +12351,6 @@ proto_register_pfcp(void) FT_UINT40, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_report_type, - { "Flags", "pfcp.report_type", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_report_type_b6_uisr, { "UISR (UP Initiated Session Request)", "pfcp.report_type.uisr", FT_BOOLEAN, 8, NULL, 0x40, @@ -12974,11 +12688,6 @@ proto_register_pfcp(void) FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, - { &hf_pfcp_volume_measurement, - { "Flags", "pfcp.volume_measurement", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_volume_measurement_b0_tovol, { "TOVOL", "pfcp.volume_measurement_flags.tovol", FT_BOOLEAN, 8, NULL, 0x01, @@ -13090,11 +12799,6 @@ proto_register_pfcp(void) "CP function supports the Peer GTP-U Entity Restart Reporting", HFILL } }, - { &hf_pfcp_usage_information, - { "Flags", "pfcp.usage_information", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_usage_information_b0_bef, { "BEF (Before)", "pfcp.usage_information.bef", FT_BOOLEAN, 8, NULL, 0x01, @@ -13130,11 +12834,6 @@ proto_register_pfcp(void) FT_UINT8, BASE_DEC, VALS(pfcp_flow_dir_vals), 0x07, NULL, HFILL } }, - { &hf_pfcp_packet_rate, - { "Flags", "pfcp.packet_rate", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_packet_rate_b0_ulpr, { "ULPR (Uplink Packet Rate)", "pfcp.packet_rate.ulpr", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13190,11 +12889,6 @@ proto_register_pfcp(void) FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_dl_flow_level_marking, - { "Flags", "pfcp.dl_flow_level_marking", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_dl_flow_level_marking_b0_ttc, { "TTC (ToS/Traffic Class)", "pfcp.dl_flow_level_marking.ttc", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13220,11 +12914,6 @@ proto_register_pfcp(void) FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_dl_data_service_inf_flags, - { "Flags", "pfcp.dl_data_service_inf_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_dl_data_service_inf_b0_ppi, { "PPI(Paging Policy Indication)", "pfcp.dl_data_service_inf.ppi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13240,11 +12929,6 @@ proto_register_pfcp(void) FT_UINT16, BASE_DEC, NULL, 0x7f, NULL, HFILL } }, - { &hf_pfcp_pfcpsmreq_flags, - { "Flags", "pfcp.smreq_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpsmreq_flags_b0_drobu, { "DROBU (Drop Buffered Packets)", "pfcp.smreq_flags.drobu", FT_BOOLEAN, 8, NULL, 0x01, @@ -13270,21 +12954,11 @@ proto_register_pfcp(void) FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL } }, - { &hf_pfcp_pfcpsrrsp_flags, - { "Flags", "pfcp.srrsp_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpsrrsp_flags_b0_drobu, { "DROBU (Drop Buffered Packets)", "pfcp.srrsp_flags.drobu", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_pfd_contents_flags, - { "Flags", "pfcp.pfd_contents_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfd_contents_flags_b0_fd, { "FD (Flow Description)", "pfcp.pfd_contents_flags.fd", FT_BOOLEAN, 8, NULL, 0x01, @@ -13406,11 +13080,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_measurement_info, - { "Flags", "pfcp.measurement_info", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_measurement_info_b0_mbqe, { "MBQE (Measurement Before QoS Enforcement)", "pfcp.measurement_info.fd", FT_BOOLEAN, 8, NULL, 0x01, @@ -13451,11 +13120,6 @@ proto_register_pfcp(void) FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL } }, - { &hf_pfcp_node_report_type, - { "Flags", "pfcp.node_report_type", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_node_report_type_b0_upfr, { "UPFR (User Plane Path Failure Report)", "pfcp.node_report_type.upfr", FT_BOOLEAN, 8, NULL, 0x01, @@ -13487,11 +13151,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_remote_gtp_u_peer_flags, - { "Flags", "pfcp.remote_gtp_u_peer_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_remote_gtp_u_peer_flags_b0_v6, { "V6 (IPv6)", "pfcp.remote_gtp_u_peer_flags.v6", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13537,31 +13196,16 @@ proto_register_pfcp(void) FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_oci_flags, - { "Flags", "pfcp.oci_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_oci_flags_b0_aoci, { "AOCI: Associate OCI with Node ID", "pfcp.oci_flags.aoci", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_pfcp_assoc_rel_req_flags, - { "Flags", "pfcp.assoc_rel_req", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcp_assoc_rel_req_b0_sarr, { "SARR (PFCP Association Release Request)", "pfcp.assoc_rel_req.sarr", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_upiri_flags, - { "Flags", "pfcp.upiri_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_upiri_flg_b6_assosi, { "ASSOSI (Associated Source Instance)", "pfcp.upiri_flags.assosi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x40, @@ -13613,11 +13257,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_subsequent_volume_quota, - { "Flags", "pfcp.subsequent_volume_quota", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_subsequent_volume_quota_b0_tovol, { "TOVOL", "pfcp.subsequent_volume_quota_flags.tovol", FT_BOOLEAN, 8, NULL, 0x01, @@ -13670,11 +13309,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_additional_usage_reports_information, - { "Additional Usage Reports Information", "pfcp.additional_usage_reports_information", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_additional_usage_reports_information_b15_auri, { "AURI (Additional Usage Reports Indication)", "pfcp.additional_usage_reports_information_auri", FT_BOOLEAN, 16, NULL, 0x8000, @@ -13691,11 +13325,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_mac_address_flags, - { "Flags", "pfcp.mac_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mac_address_flags_b0_sour, { "SOUR", "pfcp.mac_address.flags.sour", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13737,11 +13366,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_c_tag_flags, - { "Flags", "pfcp.c_tag.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_c_tag_flags_b0_pcp, { "PCP", "pfcp.c_tag.flags.pcp", FT_BOOLEAN, 8, NULL, 0x01, @@ -13773,11 +13397,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_s_tag_flags, - { "Flags", "pfcp.s_tag.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_s_tag_flags_b0_pcp, { "PCP", "pfcp.s_tag.flags.pcp", FT_BOOLEAN, 8, NULL, 0x01, @@ -13815,11 +13434,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_proxying_flags, - { "Flags", "pfcp.proxying.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_proxying_flags_b0_arp, { "ARP", "pfcp.proxying.flags.arp", FT_BOOLEAN, 8, NULL, 0x01, @@ -13837,11 +13451,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_ethertype_filter_properties_flags, - { "Flags", "pfcp.ethertype_filter_properties.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ethertype_filter_properties_flags_b0_bide, { "BIDE", "pfcp.ethertype_filter_properties.flags.bide", FT_BOOLEAN, 8, NULL, 0x01, @@ -13854,11 +13463,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_user_id_flags, - { "Flags", "pfcp.user_id.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_user_id_flags_b0_imsif, { "IMSIF", "pfcp.user_id.flags.imsif", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -13956,12 +13560,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_ethernet_pdu_session_information_flags, - { "Flags", "pfcp.ethernet_pdu_session_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ethernet_pdu_session_information_flags_b0_ethi, { "IMSIF", "pfcp.ethernet_pdu_session_information.flags.ethi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14130,22 +13728,12 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pfcpsrreq_flags, - { "Flags", "pfcp.srreq_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpsrreq_flags_b0_psdbu, { "PSDBU (PFCP Session Deleted By the UP function)", "pfcp.srreq_flags.psdbu", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_pfcpaureq_flags, - { "Flags", "pfcp.aureq_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpaureq_flags_b0_parps, { "PARPBS (PFCP Association Release Preparation Start)", "pfcp.aureq_flags.parps", FT_BOOLEAN, 8, NULL, 0x01, @@ -14202,12 +13790,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_pfcp_alternative_smf_ip_address_flags, - { "Flags", "pfcp.alternative_smf_ip_address", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_alternative_smf_ip_address_flags_ppe, { "PPE (Preferred PFCP Entity)", "pfcp.alternative_smf_ip_address_flags.ppe", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x04, @@ -14224,11 +13806,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_packet_replication_and_detection_carry_on_information_flags, - { "Flags", "pfcp.hf_pfcp_packet_replication_and_detection_carry_on_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_packet_replication_and_detection_carry_on_information_flags_b0_priueai, { "PRIUEAI (Packet Replication Information – UE/PDU Session Address Indication)", "pfcp.packet_replication_and_detection_carry_on_information.flags.priueai", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14262,11 +13839,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pfcpasrsp_flags_flags, - { "Flags", "pfcp.pfcpasrsp_flags.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpasrsp_flags_flags_b0_psrei, { "PSREI (PFCP Session Retained Indication)", "pfcp.asrsp_flags.flags.psrei", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14278,11 +13850,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_cp_pfcp_entity_ip_address_flags, - { "Flags", "pfcp.cp_pfcp_entity_ip_address", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_cp_pfcp_entity_ip_address_ipv4, { "IPv4 address", "pfcp.cp_pfcp_entity_ip_address.ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, @@ -14294,11 +13861,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pfcpsereq_flags_flags, - { "Flags", "pfcp.pfcpsereq_flags.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpsereq_flags_flags_b0_resti, { "RESTI (Restoration Indication)", "pfcp.sereq_flags.flags.resti", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14310,11 +13872,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_ip_multicast_address_flags, - { "Flags", "pfcp.ip_multicast_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ip_multicast_address_flags_b2_range, { "RANGE", "pfcp.ip_multicast_address.flags.range", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x04, @@ -14346,11 +13903,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_source_ip_address_flags, - { "Flags", "pfcp.source_ip_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_source_ip_address_flags_b2_mpl, { "MPL (Mask/Prefix Length)", "pfcp.source_ip_address.flags.mpl", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x04, @@ -14372,11 +13924,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_packet_rate_status_flags, - { "Flags", "pfcp.packet_rate_status.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_packet_rate_status_flags_b0_ul, { "UL", "pfcp.packet_rate_status.flags.ul", FT_BOOLEAN, 8, NULL, 0x01, @@ -14418,11 +13965,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_create_bridge_info_for_tsc_flags, - { "Flags", "pfcp.create_bridge_info_for_tsc.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_create_bridge_info_for_tsc_flags_b0_bii, { "BII (Bridge Information Indication)", "pfcp.create_bridge_info_for_tsc.flags.bii", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14441,11 +13983,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_5gs_user_plane_node_flags, - { "Flags", "pfcp.5gs_user_plane_node.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_5gs_user_plane_node_flags_b0_bid, { "BID", "pfcp.5gs_user_plane_node.flags.sour", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14463,11 +14000,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_requested_clock_drift_control_information_flags, - { "Flags", "pfcp.requested_clock_drift_control_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_requested_clock_drift_control_information_flags_b0_rrto, { "RRTO (Request to Report Time Offset)", "pfcp.requested_clock_drift_control_information.flags.rrto", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14516,11 +14048,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_requested_access_availability_control_information_flags, - { "Flags", "pfcp.requested_access_availability_control_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_requested_access_availability_control_information_flags_b0_rrca, { "RRCA (Request to Report Change in Access availability)", "pfcp.requested_access_availability_control_information.flags.rrca", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14538,33 +14065,18 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_mptcp_control_information_flags, - { "Flags", "pfcp.mptcp_control_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mptcp_control_information_flags_b0_tci, { "TCI (Transport Converter Indication)", "pfcp.mptcp_control_information.flags.tci", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, NULL, HFILL } }, - { &hf_pfcp_atsss_ll_control_information_flags, - { "Flags", "pfcp.atsss_ll_control_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_atsss_ll_control_information_flags_b0_lli, { "LLI: ATSSS-LL steering functionality is required", "pfcp.atsss_ll_control_information.flags.lli", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, NULL, HFILL } }, - { &hf_pfcp_pmf_control_information_flags, - { "Flags", "pfcp.atsss_ll_control_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pmf_control_information_flags_b0_pmfi, { "PMFI (PMF functionality is required)", "pfcp.pmf_control_information.flags.pmfi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14586,11 +14098,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_mptcp_address_information_flags, - { "Flags", "pfcp.mptcp_ip_address_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mptcp_address_information_flags_b0_v4, { "V4", "pfcp.mptcp_ip_address_information.flags.v4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14622,11 +14129,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_ue_link_specific_ip_address_flags, - { "Flags", "pfcp.ue_link_specific_ip_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ue_link_specific_ip_address_flags_b0_v4, { "V4", "pfcp.ue_link_specific_ip_address.flags.v4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14668,11 +14170,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pmf_address_information_flags, - { "Flags", "pfcp.pmf_address_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pmf_address_information_flags_b0_v4, { "V4", "pfcp.pmf_address_information.flags.v4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14719,11 +14216,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_atsss_ll_information_flags, - { "Flags", "pfcp.atsss_ll_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_atsss_ll_information_flags_b0_lli, { "LLI: ATSSS-LL steering functionality have been allocated", "pfcp.atsss_ll_information.flags.lli", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14742,11 +14234,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_qos_report_trigger_flags, - { "Flags", "pfcp.qos_report_trigger.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_qos_report_trigger_flags_b0_per, { "PER (Periodic Reporting)", "pfcp.qos_report_trigger.flags.v4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14763,12 +14250,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_gtp_u_path_interface_type_flags, - { "Flags", "pfcp.gtp_u_path_interface_type.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_gtp_u_path_interface_type_flags_b0_n9, { "N9", "pfcp.qos_report_trigtp_u_path_interface_typegger.flags.n9", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14780,11 +14261,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_requested_qos_monitoring_flags, - { "Flags", "pfcp.requested_qos_monitoring.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_requested_qos_monitoring_flags_b0_dl, { "DL (Downlink)", "pfcp.requested_qos_monitoring.flags.dl", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14806,11 +14282,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_reporting_frequency_flags, - { "Flags", "pfcp.reporting_frequency.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_reporting_frequency_flags_b0_evett, { "EVETT (Event Triggered QoS monitoring reporting)", "pfcp.reporting_frequency.flags.evett", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14827,11 +14298,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_packet_delay_thresholds_flags, - { "Flags", "pfcp.packet_delay_thresholds.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_packet_delay_thresholds_flags_b0_dl, { "DL (Downlink)", "pfcp.packet_delay_thresholds.flags.dl", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14869,12 +14335,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_qos_monitoring_measurement_flags, - { "Flags", "pfcp.qos_monitoring_measurement.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_qos_monitoring_measurement_flags_b0_dl, { "DL (Downlink)", "pfcp.qos_monitoring_measurement.flags.dl", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14911,11 +14371,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_mt_edt_control_information_flags, - { "Flags", "pfcp.reporting_frequency.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mt_edt_control_information_flags_b0_rdsi, { "RDSI (Reporting DL data packets Size Indication)", "pfcp.mt_edt_control_information.flags.rdsi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14951,11 +14406,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_ip_version_flags, - { "Flags", "pfcp.ip_version.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ip_version_flags_b1_v6, { "V6 (IPv6)", "pfcp.ip_version.v6", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x02, @@ -14967,22 +14417,12 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pfcpasreq_flags_flags, - { "Flags", "pfcp.pfcpasreq_flags.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpasreq_flags_flags_b0_uupsi, { "UUPSI (UPF configured for IPUPS indication)", "pfcp.asreq_flags.flags.uupsi", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, NULL, HFILL } }, - { &hf_pfcp_data_status_flags, - { "Flags", "pfcp.data_status.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_data_status_flags_b0_drop, { "DROP (First DL packet is discared by UP function)", "pfcp.data_status.flags.drop", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -14994,22 +14434,12 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_rds_configuration_information_flags, - { "Flags", "pfcp.rds_configuration_information.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_rds_configuration_information_flags_b0_rds, { "RDS (Reliable Data Service)", "pfcp.rds_configuration_information.flags.rds", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, NULL, HFILL } }, - { &hf_pfcp_mptcp_application_indication_flags, - { "Flags", "pfcp.mptcp_application_indication.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mptcp_application_indication_flags_b0_mai, { "MAI (MPTCP Applicable Indication)", "pfcp.mptcp_application_indication.flags.mai", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -15022,12 +14452,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_number_of_ue_ip_addresses_flags, - { "Flags", "pfcp.number_of_ue_ip_addresses.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_number_of_ue_ip_addresses_b0_ipv4, { "IPv4", "pfcp.number_of_ue_ip_addresses.v4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -15066,11 +14490,6 @@ proto_register_pfcp(void) FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, - { &hf_pfcp_l2tp_user_authentication_flags, - { "Flags", "pfcp.l2tp_user_authentication.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_l2tp_user_authentication_b0_pan, { "PAN (Proxy Authen Name)", "pfcp.l2tp_user_authentication.flags.pan", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -15177,11 +14596,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_thresholds_flags, - { "Flags", "pfcp.thresholds.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_thresholds_flags_b0_rtt, { "RTT", "pfcp.thresholds.flags.rtt", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -15220,11 +14634,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_cp_ip_address_flags, - { "Flags", "pfcp.cp_ip_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_cp_ip_address_ipv4, { "IPv4 address", "pfcp.cp_ip_address.ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, @@ -15236,11 +14645,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_ip_address_and_port_number_replacement_flags, - { "Flags", "pfcp.ip_address_and_port_number_replacement.flag", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_ip_address_and_port_number_replacement_flag_b0_v4, { "DIPV4", "pfcp.ip_address_and_port_number_replacement.flag.dipv4", FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01, @@ -15332,12 +14736,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_mbs_session_identifier_flags, - { "Flags", "pfcp.cp_ip_address.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_mbs_session_identifier_flag_b0_tmgi, { "TGMI", "pfcp.session_identifier.flag.tmgi", FT_BOOLEAN, 8, NULL, 0x01, @@ -15446,12 +14844,6 @@ proto_register_pfcp(void) NULL, HFILL } }, - - { &hf_pfcp_local_ingress_tunnel_flags, - { "Flags", "pfcp.local_ingress_tunnel.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_local_ingress_tunnel_flags_b2_ch, { "CH (CHOOSE)", "pfcp.local_ingress_tunnel.flags.ch", FT_BOOLEAN, 8, NULL, 0x04, @@ -15529,34 +14921,18 @@ proto_register_pfcp(void) NULL, HFILL } }, - { &hf_pfcp_pfcpsdrsp_flags, - { "Flags", "pfcp.pfcpsdrsp_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_pfcpsdrsp_flags_b0_puru, { "PURU (Pending Usage Reports Unacknowledged)", "pfcp.pfcpsdrsp_flags.puru", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_qer_indications_flags, - { "Flags", "pfcp.qer_indications_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, { &hf_pfcp_qer_indications_flags_b0_iqfis, { "IQFIS (Insert DL MBS QFI SN)", "pfcp.qer_indications_flags.iqfis", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL } }, - { &hf_pfcp_vendor_specific_node_report_type_flags, - { "Flags", "pfcp.vendor_specific_node_report_type_flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - /* Enterprise IEs */ /* BBF */ @@ -15841,7 +15217,7 @@ proto_register_pfcp(void) }; /* Setup protocol subtree array */ -#define NUM_INDIVIDUAL_ELEMS_PFCP 99 +#define NUM_INDIVIDUAL_ELEMS_PFCP 24 gint *ett[NUM_INDIVIDUAL_ELEMS_PFCP + (NUM_PFCP_IES - 1) + (NUM_PFCP_ENTERPRISE_BBF_IES - 1) + @@ -15851,104 +15227,29 @@ proto_register_pfcp(void) ett[1] = &ett_pfcp_flags; ett[2] = &ett_pfcp_ie; ett[3] = &ett_pfcp_grouped_ie; - ett[4] = &ett_pfcp_f_seid_flags; - ett[5] = &ett_f_teid_flags; - ett[6] = &ett_pfcp_ue_ip_address_flags; - ett[7] = &ett_pfcp_sdf_filter_flags; - ett[8] = &ett_pfcp_measurement_method_flags; - ett[9] = &ett_pfcp_reporting_triggers; - ett[10] = &ett_pfcp_volume_threshold; - ett[11] = &ett_pfcp_volume_quota; - ett[12] = &ett_pfcp_subseq_volume_threshold; - ett[13] = &ett_pfcp_dropped_dl_traffic_threshold; - ett[14] = &ett_pfcp_gate_status; - ett[15] = &ett_pfcp_report_type; - ett[16] = &ett_pfcp_up_function_features; - ett[17] = &ett_pfcp_report_trigger; - ett[18] = &ett_pfcp_volume_measurement; - ett[19] = &ett_pfcp_usage_information; - ett[20] = &ett_pfcp_packet_rate; - ett[21] = &ett_pfcp_pfcp_dl_flow_level_marking; - ett[22] = &ett_pfcp_dl_data_service_inf; - ett[23] = &ett_pfcp_pfcpsmreq; - ett[24] = &ett_pfcp_pfcpsrrsp; - ett[25] = &ett_pfcp_measurement_info; - ett[26] = &ett_pfcp_node_report_type; - ett[27] = &ett_pfcp_remote_gtp_u_peer; - ett[28] = &ett_pfcp_oci_flags; - ett[29] = &ett_pfcp_assoc_rel_req_flags; - ett[30] = &ett_pfcp_upiri_flags; - ett[31] = &ett_pfcp_flow_desc; - ett[32] = &ett_pfcp_tos; - ett[33] = &ett_pfcp_spi; - ett[34] = &ett_pfcp_flow_label; - ett[35] = &ett_pfcp_subsequent_volume_quota; - ett[36] = &ett_pfcp_additional_usage_reports_information; - ett[37] = &ett_pfcp_mac_address; - ett[38] = &ett_pfcp_c_tag; - ett[39] = &ett_pfcp_s_tag; - ett[40] = &ett_pfcp_proxying; - ett[41] = &ett_pfcp_ethernet_filter_properties; - ett[42] = &ett_pfcp_user_id; - ett[43] = &ett_pfcp_ethernet_pdu_session_information; - ett[44] = &ett_pfcp_sdf_filter_id; - ett[45] = &ett_pfcp_adf; - ett[46] = &ett_pfcp_aurl; - ett[47] = &ett_pfcp_adnp; - ett[48] = &ett_pfcp_pfcpsrreq; - ett[49] = &ett_pfcp_pfcpaureq; - ett[50] = &ett_pfcp_alternative_smf_ip_address_flags; - ett[51] = &ett_pfcp_packet_replication_and_detection_carry_on_information; - ett[52] = &ett_pfcp_pfcpasrsp_flags; - ett[53] = &ett_pfcp_cp_pfcp_entity_ip_address_flags; - ett[54] = &ett_pfcp_pfcpsereq_flags; - ett[55] = &ett_pfcp_ip_multicast_address_flags; - ett[56] = &ett_pfcp_source_ip_address_flags; - ett[57] = &ett_pfcp_packet_rate_status; - ett[58] = &ett_pfcp_create_bridge_info_for_tsc; - ett[59] = &ett_pfcp_5gs_user_plane_node; - ett[60] = &ett_pfcp_requested_clock_drift_control_information; - ett[61] = &ett_pfcp_requested_access_availability_control_information; - ett[62] = &ett_pfcp_mptcp_control_information; - ett[63] = &ett_pfcp_atsss_ll_control_information; - ett[64] = &ett_pfcp_pmf_control_information; - ett[65] = &ett_pfcp_mptcp_entity_ip_address_information; - ett[66] = &ett_pfcp_ue_link_specific_entity_ip_address; - ett[67] = &ett_pfcp_pmf_address_information; - ett[68] = &ett_pfcp_atsss_ll_information; - ett[69] = &ett_pfcp_qos_report_trigger; - ett[70] = &ett_pfcp_gtp_u_path_interface_type; - ett[71] = &ett_pfcp_requested_qos_monitoring; - ett[72] = &ett_pfcp_reporting_frequency; - ett[73] = &ett_pfcp_packet_delay_thresholds; - ett[74] = &ett_pfcp_qos_monitoring_measurement; - ett[75] = &ett_pfcp_monitoring_measurement; - ett[76] = &ett_pfcp_ip_version; - ett[77] = &ett_pfcp_pfcpasreq_flags; - ett[78] = &ett_pfcp_data_status_flags; - ett[79] = &ett_pfcp_rds_configuration_information_flags; - ett[80] = &ett_pfcp_number_of_ue_ip_addresses_flags; - ett[81] = &ett_pfcp_l2tp_user_authentication_flags; - ett[82] = &ett_pfcp_thresholds; - ett[83] = &ett_pfcp_cp_ip_address_flags; - ett[84] = &ett_pfcp_ip_address_and_port_number_replacement_flags; - ett[85] = &ett_pfcp_mbs_session_identifier_flags; - ett[86] = &ett_pfcp_local_ingress_tunnel_flags; - ett[87] = &ett_pfcp_pfcpsdrsp; - ett[88] = &ett_pfcp_qer_indications; - ett[89] = &ett_pfcp_vendor_specific_node_report_type; + ett[4] = &ett_pfcp_reporting_triggers; + ett[5] = &ett_pfcp_up_function_features; + ett[6] = &ett_pfcp_report_trigger; + ett[7] = &ett_pfcp_flow_desc; + ett[8] = &ett_pfcp_tos; + ett[9] = &ett_pfcp_spi; + ett[10] = &ett_pfcp_flow_label; + ett[11] = &ett_pfcp_sdf_filter_id; + ett[12] = &ett_pfcp_adf; + ett[13] = &ett_pfcp_aurl; + ett[14] = &ett_pfcp_adnp; /* Enterprise */ /* Travelping */ - ett[90] = &ett_pfcp_enterprise_travelping_packet_measurement; - ett[91] = &ett_pfcp_enterprise_travelping_error_report; - ett[92] = &ett_pfcp_enterprise_travelping_created_nat_binding; - ett[93] = &ett_pfcp_enterprise_travelping_trace_info; + ett[15] = &ett_pfcp_enterprise_travelping_packet_measurement; + ett[16] = &ett_pfcp_enterprise_travelping_error_report; + ett[17] = &ett_pfcp_enterprise_travelping_created_nat_binding; + ett[18] = &ett_pfcp_enterprise_travelping_trace_info; /* BBF */ - ett[94] = &ett_pfcp_bbf_ppp_protocol_flags; - ett[95] = &ett_pfcp_bbf_l2tp_endp_flags; - ett[96] = &ett_pfcp_bbf_l2tp_type_flags; - ett[97] = &ett_pfcp_bbf_ppp_lcp_connectivity; - ett[98] = &ett_pfcp_bbf_l2tp_tunnel; + ett[19] = &ett_pfcp_bbf_ppp_protocol_flags; + ett[20] = &ett_pfcp_bbf_l2tp_endp_flags; + ett[21] = &ett_pfcp_bbf_l2tp_type_flags; + ett[22] = &ett_pfcp_bbf_ppp_lcp_connectivity; + ett[23] = &ett_pfcp_bbf_l2tp_tunnel; static ei_register_info ei[] = { { &ei_pfcp_ie_reserved,{ "pfcp.ie_id_reserved", PI_PROTOCOL, PI_ERROR, "Reserved IE value used", EXPFILL } }, diff --git a/epan/proto.c b/epan/proto.c index 2a39c66065..a85f7a873e 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -12157,6 +12157,20 @@ proto_tree_add_bitmask_list(proto_tree *tree, tvbuff_t *tvb, const guint offset, } } +WS_DLL_PUBLIC void +proto_tree_add_bitmask_list_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const guint offset, + const int len, int * const *fields, const guint encoding, guint64 *retval) +{ + guint64 value; + + if (tree) { + value = get_uint64_value(tree, tvb, offset, len, encoding); + proto_item_add_bitmask_tree(NULL, tvb, offset, len, -1, fields, + BMT_NO_APPEND, FALSE, TRUE, tree, value); + *retval = value; + } +} + WS_DLL_PUBLIC void proto_tree_add_bitmask_list_value(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int * const *fields, const guint64 value) diff --git a/epan/proto.h b/epan/proto.h index 9a85872a67..210ba45017 100644 --- a/epan/proto.h +++ b/epan/proto.h @@ -2987,6 +2987,25 @@ WS_DLL_PUBLIC void proto_tree_add_bitmask_list(proto_tree *tree, tvbuff_t *tvb, const guint offset, const int len, int * const *fields, const guint encoding); +/** This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask_list(), + but with a return value + @param tree the tree to append this item to + @param tvb the tv buffer of the current data + @param offset start of data in tvb + @param len number of bytes of data + @param fields an array of pointers to int that lists all the fields of the + bitmask. These fields can be either of the type FT_BOOLEAN for flags + or another integer of the same type/size as hf_hdr with a mask specified. + This array is terminated by a NULL entry. + FT_BOOLEAN bits that are set to 1 will have the name added to the expansion. + FT_integer fields that have a value_string attached will have the + matched string displayed on the expansion line. + @param encoding big or little endian byte representation (ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN/ENC_HOST_ENDIAN) + @param return_value if a pointer is passed here the value is returned. */ +WS_DLL_PUBLIC void +proto_tree_add_bitmask_list_ret_uint64(proto_tree *tree, tvbuff_t *tvb, const guint offset, + const int len, int * const *fields, const guint encoding, guint64 *retval); + /** This function will dissect a value that describe a bitmask. Similar to proto_tree_add_bitmask_list(), but with a passed in value (presumably because it can't be retrieved directly from tvb) @param tree the tree to append this item to diff --git a/packaging/debian/libwireshark0.symbols b/packaging/debian/libwireshark0.symbols index 47d6397b87..a053ea85e8 100644 --- a/packaging/debian/libwireshark0.symbols +++ b/packaging/debian/libwireshark0.symbols @@ -1239,6 +1239,7 @@ libwireshark.so.0 libwireshark0 #MINVER# proto_tree_add_bitmask@Base 1.9.1 proto_tree_add_bitmask_len@Base 1.9.1 proto_tree_add_bitmask_list@Base 1.99.4 + proto_tree_add_bitmask_list_ret_uint64@Base 3.7.1 proto_tree_add_bitmask_list_value@Base 2.1.0 proto_tree_add_bitmask_ret_uint64@Base 2.1.0 proto_tree_add_bitmask_text@Base 1.9.1