20 #ifndef __NAT64_DEFS_H__ 21 #define __NAT64_DEFS_H__ 24 #include "spp_platform_common.h" 26 #include "xlat_defs.h" 34 #define NAT64_MAX_FRAG_ID_COUNTERS (256) 36 #define NAT64_MAX_NAT64_ENTRIES 500 38 #define NAT64_MAX_ID (NAT64_MAX_NAT64_ENTRIES-1) 40 #define NAT64_INVALID_ID (0) 42 #define NAT64_MAX_CFG_INSTANCES 64 44 #define NAT64_TABLE_ENTRY_DELETED 0 45 #define NAT64_TABLE_ENTRY_ACTIVE 1 46 #define NAT64_TABLE_ENTRY_DORMANT 2 47 #define NAT64_TABLE_ENTRY_INVALID_UIDB 3 49 #define NAT64_MAX_TRANSLATION_ENTRIES PLATFORM_MAX_TRANSLATION_ENTRIES 51 #define NAT64_WKP_PREFIX_LEN 96 52 #define NAT64_WKP_PREFIX_0 0x0064FF9B 53 #define NAT64_WKP_PREFIX_1 0x00000000 54 #define NAT64_WKP_PREFIX_2 0x00000000 55 #define NAT64_WKP_PREFIX_3 0x00000000 62 #define NAT64_TIMEOUT_RST(db) \ 63 if(PREDICT_TRUE(db->entry_expires !=0 )) \ 64 db->entry_expires = cnat_current_time; 277 #define NAT64_UDP_DEF 300 278 #define NAT64_TCP_TRANS_DEF 240 279 #define NAT64_TCP_EST_DEF 7200 280 #define NAT64_TCP_V4_DEF 6 281 #define NAT64_FRAG_DEF 2 282 #define NAT64_ICMP_DEF 60 329 #define IPV4_TOS_OVERRIDE_FLAG 0x1 330 #define IPV6_TOS_OVERRIDE_FLAG 0x2 331 #define NAT64_STFUL_RTSP_ALG_ENABLE 0x4 340 #define NAT64_ADDRESS_DEPENDENT_ENABLE 1 342 #define NAT64_TCP_SECURITY_FLAG_DISABLE 1 346 #define NAT64_TCP_V4_INIT_ENABLE 1 349 #define NAT64_BIB_LOG_ENABLE 0 350 #define NAT64_SESSION_LOG_ENABLE 1 352 #define NAT64_BIDIR_REFRESH 1 353 #define NAT64_UNIDIR_REFRESH 0 356 #define NAT64_BIDIR_REFRESH 1 359 #define NAT64_UDP_ZERO_CHECKSUM_DROP 1 382 #define NAT64_FRAG_ENABLE 1 383 #define NAT64_FRAG_DISABLE 0 400 spp_node_main_vector_t *nmv;
449 struct _v4_icmp_info {
461 struct _v4_udp_info {
468 struct _v4_tcp_info {
534 struct _v6_icmp_info {
545 struct _v6_udp_info {
552 struct _v6_tcp_info {
u64 v4_to_v6_udp_crc_zero_recycle_sent_count
nat64_v4_to_v6_icmp_counter_t * icmp_counter
u32 nat64_translation_create_count[NAT64_MAX_NAT64_ENTRIES]
u64 nat64_v4_frag_icmp_input_count
u64 nat64_filtering_drops
nat64_v6_to_v4_icmp_error_counter_t * icmp_error_counter
tcp_hdr_type * ipv4_tcp_header
u64 nat64_v4_frag_udp_input_count
u32 nat64_in2out_forwarding_count[NAT64_MAX_NAT64_ENTRIES]
ipv6_frag_header_t * ipv6_frag_header
u64 v4_to_v6_icmp_error_unsupported_protocol_drop_count
u64 v4_to_v6_icmp_error_no_db_drop_count
u32 nat64_num_dynamic_translations
u64 v4_to_v6_udp_frag_crc_zero_drop_count
cnat_portmap_v2_t * port_map
u64 v4_to_v6_icmp_filter_drop
u64 v6_to_v4_icmp_error_output_count
u64 v6_to_v4_options_input_count
u64 v6_to_v4_icmp_non_translatable_drop_count
u64 v4_to_v6_unsupp_proto_count
icmp_v6_t * ipv6_icmp_header
u32 nat64_translation_delete_rate[NAT64_MAX_NAT64_ENTRIES]
u32 nat64_data_path_debug_level
u64 v6_to_v4_icmp_error_unsupported_type_drop_count
nat64_options_counter_t nat64_options_counters
u64 nat64_system_limit_reached
icmp_v4_t * ipv4_icmp_header
nat64_counters_t nat64_all_counters[NAT64_MAX_NAT64_ENTRIES]
u64 v6_to_v4_tcp_non_translatable_drop_count
u64 v6_to_v4_options_no_db_drop_count
struct l4_frag_info l4_frag_info_t
u64 v4_to_v6_udp_filter_drop_count
struct nat64_common_pipeline_data_ nat64_common_pipeline_data_t
u64 v4_to_v6_icmp_qry_output_count
u64 v4_to_v6_udp_crc_zero_drop_count
nat64_options_counter_t * options_counter
u64 v4_to_v6_tcp_filter_drop_count
nat64_v6_to_v4_udp_counter_t * udp_counter
u32 nat64_out2in_forwarding_rate[NAT64_MAX_NAT64_ENTRIES]
u32 nat64_num_translations
u32 nat64_config_debug_level
u64 nat64_v4_frag_timeout_drop_count
nat64_v6_to_v4_icmp_error_counter_t v64_icmp_error_counters
u64 nat64_v4_frag_throttled_count
u64 nat64_v4_frag_drop_count
nat64_v4_to_v6_icmp_error_counter_t * icmp_error_counter
nat64_v4_key_t v4_dest_key
nat64_v4_to_v6_udp_counter_t v46_udp_counters
u64 v4_to_v6_icmp_no_db_drop_count
u64 v6_to_v4_icmp_input_count
u64 v4_to_v6_icmp_error_output_count
nat64_frag_counter_t nat64_frag_counters
u64 v4_to_v6_icmp_input_count
u64 v6_to_v4_options_drop_count
udp_hdr_type_t * ipv6_udp_header
nat64_v6_to_v4_icmp_counter_t v64_icmp_counters
u64 nat64_v6_frag_invalid_input_count
nat64_icmp_gen_counter_t nat64_icmp_gen_counters
u64 v4_to_v6_options_no_db_drop_count
u64 v6_to_v4_udp_output_count
u32 nat64_in2out_forwarding_rate[NAT64_MAX_NAT64_ENTRIES]
u32 nat64_translation_delete_count[NAT64_MAX_NAT64_ENTRIES]
u64 nat64_v6_frag_icmp_input_count
u64 v6_to_v4_tcp_no_db_drop_count
u32 version_trafficclass_flowlabel
u64 v6_to_v4_icmp_error_non_translatable_drop_count
u64 nat64_v6_frag_throttled_count
nat64_v4_to_v6_tcp_counter_t v46_tcp_counters
l4_frag_info_t * frag_info
u32 nat64_translation_create_count_old[NAT64_MAX_NAT64_ENTRIES]
u64 v4_to_v6_options_input_count
nat64_table_entry_t * nat64_entry_ptr
u64 v4_to_v6_udp_crc_zero_recycle_drop_count
u32 nat64_translation_delete_count_old[NAT64_MAX_NAT64_ENTRIES]
u64 v6_to_v4_icmp_error_no_db_drop_count
u64 nat64_v6_frag_timeout_drop_count
nat64_tcp_events tcp_event
u64 v6_to_v4_icmp_error_input_count
nat64_frag_counter_t * frag_counter
nat64_common_pipeline_data_t common_data
udp_hdr_type_t * ipv4_udp_header
u64 v6_to_v4_icmp_qry_output_count
u64 v4_to_v6_tcp_output_count
ipv6_header_t * ipv6_header
u64 v4_to_v6_udp_input_count
u64 v6_to_v4_tcp_input_count
nat64_v6_to_v4_tcp_counter_t v64_tcp_counters
u64 drops_sessiondb_limit_exceeded
ipv4_header * ipv4_header
struct nat64_v4_to_v6_pipeline_data_ nat64_v4_to_v6_pipeline_data_t
nat64_inst_gen_counter_t nat64_inst_gen_counters[NAT64_MAX_NAT64_ENTRIES]
u64 nat64_port_limit_exceeded
nat64_v4_to_v6_icmp_counter_t v46_icmp_counters
u64 v6_to_v4_unsupp_proto_count
u64 v6_to_v4_udp_input_count
nat64_table_entry_t * nat64_table_ptr
u64 v6_to_v4_icmp_error_invalid_next_hdr_drop_count
nat64_v4_to_v6_tcp_counter_t * tcp_counter
u64 nat64_no_translation_entry_drops
u64 v4_to_v6_tcp_v4_init_policy_drop_count
u64 v4_to_v6_icmp_error_input_count
u64 v4_to_v6_udp_no_db_drop_count
u64 v4_to_v6_tcp_state_drop_count
nat64_v4_to_v6_udp_counter_t * udp_counter
u64 v4_to_v6_options_drop_count
nat64_tcp_events tcp_event
u32 nat64_out2in_forwarding_count_old[NAT64_MAX_NAT64_ENTRIES]
u64 v6_to_v4_tcp_output_count
u8 nat64_refresh_both_direction
u32 nat64_out2in_forwarding_count[NAT64_MAX_NAT64_ENTRIES]
struct nat64_v6_to_v4_pipeline_data_ nat64_v6_to_v4_pipeline_data_t
u64 nat64_v4_frag_tcp_input_count
nat64_v6_to_v4_udp_counter_t v64_udp_counters
nat64_v4_to_v6_icmp_error_counter_t v46_icmp_error_counters
l4_frag_info_t * frag_info
u64 nat64_resource_depletion_drops
u64 v4_to_v6_options_forward_count
nat64_v6_to_v4_icmp_counter_t * icmp_counter
nat64_v6_key_t v6_dest_key
tcp_hdr_type * ipv6_tcp_header
u64 nat64_v4_frag_input_count
u64 nat64_v6_frag_udp_input_count
u64 v6_to_v4_udp_no_db_drop_count
u64 nat64_v6_frag_tcp_input_count
u64 v6_to_v4_options_forward_count
u64 v6_to_v4_icmp_no_db_drop_count
#define NAT64_MAX_NAT64_ENTRIES
nat64_options_counter_t * options_counter
u64 nat64_v6_frag_drop_count
nat64_v6_to_v4_tcp_counter_t * tcp_counter
u16 * nat64_frag_id_counter_ptr
nat64_icmp_gen_counter_t * icmp_gen_counter
u32 nat64_in2out_forwarding_count_old[NAT64_MAX_NAT64_ENTRIES]
u64 v6_to_v4_udp_non_translatable_drop_count
u64 v4_to_v6_tcp_input_count
nat64_frag_counter_t * frag_counter
u64 nat64_v6_frag_input_count
u32 nat64_translation_create_rate[NAT64_MAX_NAT64_ENTRIES]
u64 v4_to_v6_icmp_error_unsupported_type_drop_count
u64 nat64_v4_frag_forward_count
nat64_v4_key_t v4_src_key
u32 nat64_num_static_translations
nat64_icmp_gen_counter_t * icmp_gen_counter
u64 nat64_v6_frag_forward_count
u64 v6_to_v4_udp_checksum_zero_count
u64 v4_to_v6_tcp_no_db_drop_count
nat64_timeout_info_t timeout_info
nat64_common_pipeline_data_t common_data
u64 v4_to_v6_udp_output_count
u64 nat64_invalid_ipv6_prefix_drops
nat64_table_entry_t nat64_table_array[NAT64_MAX_NAT64_ENTRIES]
u64 v6_to_v4_tcp_state_drop_count