38 #define MAX_SOCKET_PATH_NAME (108)
39 #define MAX_FILE_NAME (255)
40 #define MAX_NB_RULES (1048576)
41 #define DYN_RESERVED_RULES (1024)
42 #define MAX_KEY_LEN (32)
43 #define NUM_OF_SYNDROMES (4)
44 #define SW_WINDOW_SIZE 64
45 #define HW_WINDOW_SIZE 128
46 #define MAX_NAME_LEN (20)
47 #define MAX_ACTIONS_MEM_SIZE (8388608 * 64)
61 struct doca_flow_pipe_entry *
entry;
75 struct doca_flow_pipe_entry *
entry;
294 struct doca_dev **connected_dev,
static struct app_gpu_cfg app_cfg
#define DOCA_DEVINFO_IFACE_NAME_SIZE
Buffer size to hold network interface name. Including a null terminator.
#define DOCA_DEVINFO_PCI_ADDR_SIZE
Buffer size to hold PCI BDF format: "XXXX:XX:XX.X". Including a null terminator.
enum doca_error doca_error_t
DOCA API return codes.
doca_flow_crypto_icv_len
doca flow crypto ICV length
doca_flow_crypto_key_type
doca flow crypto key type
doca_flow_l4_type_ext
doca flow layer 4 packet extend type
doca_flow_l3_type
doca flow layer 3 packet type
doca_error_t ipsec_security_gw_init_devices(struct ipsec_security_gw_config *app_cfg)
ipsec_security_gw_fwd_syndrome
@ IPSEC_SECURITY_GW_FWD_SYNDROME_DROP
@ IPSEC_SECURITY_GW_FWD_SYNDROME_RSS
@ IPSEC_SECURITY_GW_UDP_TRANSPORT
@ IPSEC_SECURITY_GW_TUNNEL
@ IPSEC_SECURITY_GW_TRANSPORT
doca_error_t find_port_action_type_vnf(const struct ipsec_security_gw_config *app_cfg, int port_id, struct doca_dev **connected_dev, int *idx)
doca_error_t find_port_action_type_switch(int port_id, int *idx)
ipsec_security_gw_flow_mode
@ IPSEC_SECURITY_GW_SWITCH
ipsec_security_gw_esp_offload
@ IPSEC_SECURITY_GW_ESP_OFFLOAD_ENCAP
@ IPSEC_SECURITY_GW_ESP_OFFLOAD_DECAP
@ IPSEC_SECURITY_GW_ESP_OFFLOAD_BOTH
@ IPSEC_SECURITY_GW_ESP_OFFLOAD_NONE
@ IPSEC_SECURITY_GW_PERF_NONE
@ IPSEC_SECURITY_GW_PERF_BW
@ IPSEC_SECURITY_GW_PERF_BOTH
@ IPSEC_SECURITY_GW_PERF_INSERTION_RATE
#define MAX_SOCKET_PATH_NAME
doca_error_t ipsec_security_gw_close_devices(const struct ipsec_security_gw_config *app_cfg)
struct doca_flow_pipe_entry * entry
struct security_gateway_pipe_info decrypt_ipv4_pipe
struct security_gateway_pipe_info vxlan_decap_ipv6_pipe
struct security_gateway_pipe_info marker_remove_pipe
struct security_gateway_pipe_info decrypt_ipv6_pipe
struct security_gateway_pipe_info decrypt_root
struct security_gateway_pipe_info bad_syndrome_pipe
struct security_gateway_pipe_info decap_pipe
struct security_gateway_pipe_info vxlan_decap_ipv4_pipe
enum doca_flow_l3_type inner_l3_type
enum doca_flow_l3_type l3_type
struct ipsec_security_gw_sa_attrs sa_attrs
struct bad_syndrome_entry entries[NUM_OF_SYNDROMES]
struct security_gateway_pipe_info ipv4_encrypt_pipe
struct security_gateway_pipe_info ipv6_tcp_pipe
struct security_gateway_pipe_info ipv6_src_udp_pipe
struct security_gateway_pipe_info ipv4_udp_pipe
struct security_gateway_pipe_info encrypt_root
struct security_gateway_pipe_info egress_ip_classifier
struct security_gateway_pipe_info marker_insert_pipe
struct security_gateway_pipe_info ipv6_udp_pipe
struct security_gateway_pipe_info vxlan_encap_pipe
struct security_gateway_pipe_info ipv6_src_tcp_pipe
struct security_gateway_pipe_info ipv6_encrypt_pipe
struct security_gateway_pipe_info ipv4_tcp_pipe
enum doca_flow_l4_type_ext protocol
struct ipsec_security_gw_sa_attrs sa_attrs
doca_be32_t encap_dst_ip4
struct ipsec_security_gw_ip6 ip6
enum doca_flow_l3_type encap_l3_type
doca_be32_t encap_dst_ip6[4]
struct ipsec_security_gw_ip4 ip4
enum doca_flow_l3_type l3_type
user context struct that will be used in entries process callback
enum ipsec_security_gw_mode mode
enum ipsec_security_gw_flow_mode flow_mode
struct ipsec_security_gw_rules app_rules
struct ipsec_security_gw_socket_ctx socket_ctx
enum ipsec_security_gw_fwd_syndrome syndrome_fwd
struct application_dpdk_config * dpdk_config
enum doca_flow_crypto_icv_len icv_length
char json_path[MAX_FILE_NAME]
struct rte_hash * ip6_table
enum ipsec_security_gw_perf perf_measurement
enum ipsec_security_gw_esp_offload offload
struct entries_status * secured_status
struct entries_status * unsecured_status
struct ipsec_security_gw_doca_objects objects
struct doca_dev * doca_dev
char pci_addr[DOCA_DEVINFO_PCI_ADDR_SIZE]
char iface_name[DOCA_DEVINFO_IFACE_NAME_SIZE]
struct ipsec_security_gw_dev_info unsecured_dev
struct ipsec_security_gw_dev_info secured_dev
struct decrypt_rule * decrypt_rules
struct encrypt_rule * encrypt_rules
uint32_t lifetime_threshold
uint8_t enc_key_data[MAX_KEY_LEN]
enum doca_flow_crypto_key_type key_type
char socket_path[MAX_SOCKET_PATH_NAME]
char name[MAX_NAME_LEN+1]
struct doca_flow_pipe_entry * entry
struct doca_flow_pipe * pipe
char name[MAX_NAME_LEN+1]
struct security_gateway_entry_info * entries_info
struct security_gateway_pipe_info pkt_meta_pipe
struct security_gateway_pipe_info rss_pipe