3. Data Structures
Here are the data structures with brief descriptions:
- doca_data
- Convenience type for representing opaque data
- doca_dpa_dev_buf
- Doca dpa device buf declaration
- doca_dpa_dev_buf_arr
- Doca dpa device buf array declaration
- doca_flow_action_desc
- Action description
- doca_flow_action_descs
- Action descriptor array
- doca_flow_actions
- Doca flow actions information
- doca_flow_crypto_action
- Doca flow crypto action information
- doca_flow_crypto_encap_action
- Doca flow crypto encap action information
- doca_flow_crypto_key_cfg
- Doca flow crypto key configuration
- doca_flow_ct_actions
- doca_flow_ct_aging_conn
- CT aging connection info
- doca_flow_ct_aging_conn_event
- CT aging user plugin connection event
- doca_flow_ct_aging_conn_update_info
- Connection update information
- doca_flow_ct_aging_counter
- Counter statistics
- doca_flow_ct_aging_counter_state
- CT aging counter state
- doca_flow_ct_aging_ctx
- CT aging user plugin context
- doca_flow_ct_aging_ops
- CT aging user plugin callbacks
- doca_flow_ct_cfg
- Doca flow ct global configuration
- doca_flow_ct_direction_cfg
- doca_flow_ct_ip4
- doca_flow_ct_ip6
- doca_flow_ct_match
- Doca flow CT match pattern
- doca_flow_ct_match4
- Doca flow CT IPv4 match pattern
- doca_flow_ct_match6
- Doca flow CT IPv6 match pattern
- doca_flow_ct_meta
- CT packet meta data
- doca_flow_ct_pkt
- doca_flow_ct_worker_callbacks
- doca_flow_desc_field
- Action descriptor field
- doca_flow_encap_action
- Doca flow encap data information
- doca_flow_entropy_format
- Doca flow header format for entropy
- doca_flow_fwd
- Forwarding configuration
- doca_flow_geneve_option
- Doca flow GENEVE option single DW
- doca_flow_header_eth
- Doca flow eth header
- doca_flow_header_eth_vlan
- Doca flow vlan header
- doca_flow_header_format
- Doca flow packet format
- doca_flow_header_geneve
- Doca flow GENEVE header
- doca_flow_header_icmp
- Doca flow icmp header in match data
- doca_flow_header_ip4
- Doca flow ipv4 header in match data
- doca_flow_header_ip6
- Doca flow ipv6 header in match data
- doca_flow_header_l4_port
- Doca flow tcp or udp port header in match data
- doca_flow_header_mpls
- Doca flow MPLS header
- doca_flow_header_psp
- Doca flow psp header in match data and modify/encap actions
- doca_flow_header_tcp
- Doca flow tcp header in match data
- doca_flow_header_udp
- Doca flow udp header in match data
- doca_flow_ip_addr
- Doca flow ip address
- doca_flow_match
- Doca flow matcher information
- doca_flow_match_condition
- Doca flow match condition information
- doca_flow_meta
- Doca flow meta data
- doca_flow_mirror_target
- Doca flow mirror target
- doca_flow_monitor
- Doca monitor action configuration
- doca_flow_nat64_action
- Doca flow nat64 action
- doca_flow_ordered_list
- doca_flow_parser_geneve_opt_cfg
- User configuration structure using to create parser for single GENEVE TLV option
- doca_flow_parser_meta
- Doca flow parser meta data
- doca_flow_push_action
- Doca flow push data information
- doca_flow_resource_decap_cfg
- Doca flow decap resource configuration
- doca_flow_resource_encap_cfg
- Doca flow encap resource configuration
- doca_flow_resource_ipsec_sa_cfg
- Doca flow ipsec SA resource configuration
- doca_flow_resource_meter_cfg
- Doca flow meter resource configuration
- doca_flow_resource_mirror_cfg
- Doca flow mirror resource configuration
- doca_flow_resource_psp_cfg
- Doca flow psp resource configuration
- doca_flow_resource_query
- Flow resource query
- doca_flow_resource_rss_cfg
- Doca flow rss resource configuration
- doca_flow_shared_resource_cfg
- Doca flow shared resource configuration
- doca_flow_tun
- Doca flow tunnel information
- doca_flow_tune_server_kpi_res
- DOCA Flow Tune Server KPI result
- doca_flow_tune_server_shared_resources_kpi_res
- DOCA Flow Tune Server shared resources
- doca_gather_list
- Struct to represent a gather list
- doca_log_registrator
- Registers log source on program start
- doca_pcc_dev_algo_meta_data
- This struct provides meta data for a pcc user algo
- doca_pcc_np_dev_response_packet
- Structure for response packet
- doca_rdma_gid
- doca_rmax_in_stream_result
- Result returned by input stream describing the incoming packets
- doca_rmax_stream_error
- Detailed error information
- doca_urom_domain_oob_coll
- Out-of-band communication descriptor for Domain creation
- doca_urom_service_plugin_info
- urom_domain_lookups_iface
- UROM Worker domain lookups interface
- urom_plugin_iface
- UROM Worker plugin interface
- urom_worker_cmd
- UROM Worker command structure
- urom_worker_cmd_desc
- UROM Worker command descriptor structure
- urom_worker_ctx
- UROM worker context
- urom_worker_notif_desc
- UROM Worker notification descriptor structure
- urom_worker_notify
- UROM Worker notification structure
[DOCA DPA Device - Buffer]
User of this struct should relate to it as an opaque and not access its fields, but rather use relevant API for it
Public Variables
- uintptr_t addr
- uint64_t len
- doca_dpa_dev_mmap_t mmap
- unsigned char reserved[12]
Variables
- uintptr_t doca_dpa_dev_buf::addr [inherited]
address held by doca dpa device buf
- uint64_t doca_dpa_dev_buf::len [inherited]
length of doca dpa device buf
- doca_dpa_dev_mmap_tdoca_dpa_dev_buf::mmap [inherited]
the mmap associated with the doca dpa device buf
- unsigned char doca_dpa_dev_buf::reserved[12] [inherited]
reserved field
[DOCA DPA Device - Buffer]
User of this struct should relate to it as an opaque and not access its fields, but rather use relevant API for it
Public Variables
- doca_dpa_dev_buf * bufs
- unsigned char reserved[20]
Variables
- doca_dpa_dev_buf * doca_dpa_dev_buf_arr::bufs [inherited]
doca dpa device bufs
- unsigned char doca_dpa_dev_buf_arr::reserved[20] [inherited]
reserved field
[DOCA Flow]
Public Variables
Variables
- enumdoca_flow_action_typedoca_flow_action_desc::type [inherited]
type
[DOCA Flow]
Public Variables
- doca_flow_action_desc * desc_array
- uint8_t nb_action_desc
Variables
- doca_flow_action_desc * doca_flow_action_descs::desc_array [inherited]
action descriptor array pointer.
- uint8_t doca_flow_action_descs::nb_action_desc [inherited]
maximum number of action descriptor array.
[DOCA Flow]
Public Variables
- uint8_t action_idx
- struct doca_flow_crypto_action crypto
- struct doca_flow_crypto_encap_action crypto_encap
- struct doca_flow_resource_decap_cfg decap_cfg
- enumdoca_flow_resource_type decap_type
- struct doca_flow_resource_encap_cfg encap_cfg
- enumdoca_flow_resource_type encap_type
- uint32_t flags
- bool has_crypto_encap
- bool has_push
- struct doca_flow_meta meta
- struct doca_flow_nat64_action nat64
- struct doca_flow_header_format outer
- struct doca_flow_parser_meta parser_meta
- bool pop
- struct doca_flow_push_action push
- uint32_t shared_decap_id
- uint32_t shared_encap_id
- struct doca_flow_tun tun
Variables
- uint8_t doca_flow_actions::action_idx [inherited]
index according to place provided on creation
- struct doca_flow_crypto_actiondoca_flow_actions::crypto [inherited]
crypto action information
- struct doca_flow_crypto_encap_actiondoca_flow_actions::crypto_encap [inherited]
header/trailer reformat data information
- struct doca_flow_resource_decap_cfgdoca_flow_actions::decap_cfg [inherited]
config for non_shared decap
- enumdoca_flow_resource_typedoca_flow_actions::decap_type [inherited]
type of decap
- struct doca_flow_resource_encap_cfgdoca_flow_actions::encap_cfg [inherited]
config for non_shared encap
- enumdoca_flow_resource_typedoca_flow_actions::encap_type [inherited]
type of encap
- uint32_t doca_flow_actions::flags [inherited]
action flags
- bool doca_flow_actions::has_crypto_encap [inherited]
when true, do crypto reformat header/trailer
- bool doca_flow_actions::has_push [inherited]
when true, push header
- struct doca_flow_metadoca_flow_actions::meta [inherited]
modify meta data, pipe action as mask
- struct doca_flow_nat64_actiondoca_flow_actions::nat64 [inherited]
nat64 action
- struct doca_flow_header_formatdoca_flow_actions::outer [inherited]
modify outer headers
- struct doca_flow_parser_metadoca_flow_actions::parser_meta [inherited]
copy from read-only meta data, pipe action as mask
- bool doca_flow_actions::pop [inherited]
when true, pop header
- struct doca_flow_push_actiondoca_flow_actions::push [inherited]
push header data information
- uint32_t doca_flow_actions::shared_decap_id [inherited]
action for shared decap
- uint32_t doca_flow_actions::shared_encap_id [inherited]
action for shared encap
- struct doca_flow_tundoca_flow_actions::tun [inherited]
modify tunnel headers
[DOCA Flow]
Public Variables
- enumdoca_flow_crypto_action_type action_type
- uint32_t crypto_id
- enumdoca_flow_crypto_resource_type resource_type
- bool sn_en
Variables
- enumdoca_flow_crypto_action_typedoca_flow_crypto_action::action_type [inherited]
crypto action type - none/encrypt/decrypt
- uint32_t doca_flow_crypto_action::crypto_id [inherited]
shared resource id represents session
- enumdoca_flow_crypto_resource_typedoca_flow_crypto_action::resource_type [inherited]
crypto action resource - none/ipsec_sa/psp
- bool doca_flow_crypto_action::sn_en [inherited]
Enable SN/ESN generation on egress and antireplay on ingress
[DOCA Flow]
Public Variables
- enumdoca_flow_crypto_encap_action_type action_type
- uint16_t data_size
- uint8_t encap_data[DOCA_FLOW_CRYPTO_HEADER_LEN_MAX]
- uint16_t icv_size
- enumdoca_flow_crypto_encap_net_type net_type
Variables
- enumdoca_flow_crypto_encap_action_typedoca_flow_crypto_encap_action::action_type [inherited]
action type - encap or decap
- uint16_t doca_flow_crypto_encap_action::data_size [inherited]
reformat header length in bytes
- uint8_t doca_flow_crypto_encap_action::encap_data[DOCA_FLOW_CRYPTO_HEADER_LEN_MAX] [inherited]
reformat header data to insert
- uint16_t doca_flow_crypto_encap_action::icv_size [inherited]
trailer size in bytes
- enumdoca_flow_crypto_encap_net_typedoca_flow_crypto_encap_action::net_type [inherited]
network type - mode, protocol, header
[Doca Flow Crypto]
Public Variables
- uint32_t * key
- enumdoca_flow_crypto_key_type key_type
Variables
- uint32_t * doca_flow_crypto_key_cfg::key [inherited]
Key data based on key type
- enumdoca_flow_crypto_key_typedoca_flow_crypto_key_cfg::key_type [inherited]
key type - 128/256
[Doca Flow CT]
doca flow CT action
Public Variables
- uint32_t action_handle
- uint8_t action_idx
- struct doca_flow_ct_ip4 ip4
- struct doca_flow_ct_ip6 ip6
- struct doca_flow_header_l4_port l4_port
- struct doca_flow_meta meta
- enumdoca_flow_resource_type resource_type
Variables
- uint32_t doca_flow_ct_actions::action_handle [inherited]
handle of a predefined shared action
- uint8_t doca_flow_ct_actions::action_idx [inherited]
action template index
- struct doca_flow_ct_ip4doca_flow_ct_actions::ip4 [inherited]
source and destination ipv4 addresses
- struct doca_flow_ct_ip6doca_flow_ct_actions::ip6 [inherited]
source and destination ipv6 addresses
- struct doca_flow_header_l4_portdoca_flow_ct_actions::l4_port [inherited]
UDP or TCP source and destination port
- struct doca_flow_metadoca_flow_ct_actions::meta [inherited]
modify meta
- enumdoca_flow_resource_typedoca_flow_ct_actions::resource_type [inherited]
shared/non-shared
[Doca Flow CT]
Public Variables
- uint32_t conn_version
- uint32_t ctr_origin
- uint32_t ctr_reply
- uint32_t ctr_shared
- uint32_t is_tcp
- uint32_t timeout
- uint32_t v
- uint32_t valid
Variables
- uint32_t doca_flow_ct_aging_conn::conn_version [inherited]
+1 on connection reuse
- uint32_t doca_flow_ct_aging_conn::ctr_origin [inherited]
Need origin direction counter
- uint32_t doca_flow_ct_aging_conn::ctr_reply [inherited]
Need reply direction counter
- uint32_t doca_flow_ct_aging_conn::ctr_shared [inherited]
Need shared counter for both direction
- uint32_t doca_flow_ct_aging_conn::is_tcp [inherited]
Connection is TCP, default to UDP
- uint32_t doca_flow_ct_aging_conn::timeout [inherited]
Timeout in seconds
- uint32_t doca_flow_ct_aging_conn::v [inherited]
Union value, changed on connection change or reused
- uint32_t doca_flow_ct_aging_conn::valid [inherited]
< Connection detail Connection is valid
[Doca Flow CT]
Public Variables
- uint32_t aging_conn_id
- union doca_flow_ct_aging_conn conn
- enumdoca_flow_entry_op op
Variables
- uint32_t doca_flow_ct_aging_conn_event::aging_conn_id [inherited]
aging global connection ID
- union doca_flow_ct_aging_conndoca_flow_ct_aging_conn_event::conn [inherited]
Connection info
- enumdoca_flow_entry_opdoca_flow_ct_aging_conn_event::op [inherited]
Callback type: add, delete or update
[Doca Flow CT]
Public Variables
- uint32_t aging_conn_id
- union doca_flow_ct_aging_conn conn_info
- uint32_t ctr_origin_id
- uint32_t ctr_reply_id
Variables
- uint32_t doca_flow_ct_aging_conn_update_info::aging_conn_id [inherited]
Aging global connection ID
- union doca_flow_ct_aging_conndoca_flow_ct_aging_conn_update_info::conn_info [inherited]
Connection info
- uint32_t doca_flow_ct_aging_conn_update_info::ctr_origin_id [inherited]
Origin direction counter ID, UINT32_MAX to disable counter
- uint32_t doca_flow_ct_aging_conn_update_info::ctr_reply_id [inherited]
Reply direction counter ID, UINT32_MAX to disable counter
[Doca Flow CT]
Public Variables
- uint32_t ctr_id
- uint16_t last_hit_s
- uint64_t total_bytes
- uint64_t total_pkts
Variables
- uint32_t doca_flow_ct_aging_counter::ctr_id [inherited]
Counter ID
- uint16_t doca_flow_ct_aging_counter::last_hit_s [inherited]
Last hit time in seconds
- uint64_t doca_flow_ct_aging_counter::total_bytes [inherited]
Total bytes the counter received
- uint64_t doca_flow_ct_aging_counter::total_pkts [inherited]
Total packets the counter received
[Doca Flow CT]
Public Variables
Variables
- uint32_t doca_flow_ct_aging_counter_state::ctr_id [inherited]
Counter global ID
- bool doca_flow_ct_aging_counter_state::inuse [inherited]
Counter in use
[Doca Flow CT]
Public Variables
- uint32_t n_total_conns
- uint32_t n_total_counters
- void * user_ctx
Variables
- uint32_t doca_flow_ct_aging_ctx::n_total_conns [inherited]
Total connections
- uint32_t doca_flow_ct_aging_ctx::n_total_counters [inherited]
Total allocated counters
- void * doca_flow_ct_aging_ctx::user_ctx [inherited]
User set context
[Doca Flow CT]
Public Variables
- doca_error_t ( *aging_init_cb )( doca_flow_ct_aging_ctx* ctx )
- void ( *aging_shutdown_cb )( doca_flow_ct_aging_ctx* ctx )
- void ( *aging_timer_cb )( doca_flow_ct_aging_ctx* ctx, uint64_t current_time_s )
- void ( *conn_sync_cb )( doca_flow_ct_aging_ctx* ctx, doca_flow_ct_aging_conn_event* conn, uint32_t n )
Variables
- doca_error_t ( *doca_flow_ct_aging_ops::aging_init_cb )( doca_flow_ct_aging_ctx* ctx )
Plugin init callback
- void ( *doca_flow_ct_aging_ops::aging_shutdown_cb )( doca_flow_ct_aging_ctx* ctx )
Plugin shutdown callback
- void ( *doca_flow_ct_aging_ops::aging_timer_cb )( doca_flow_ct_aging_ctx* ctx, uint64_t current_time_s )
Callback to check timeout connections based on counter statistics
- void ( *doca_flow_ct_aging_ops::conn_sync_cb )( doca_flow_ct_aging_ctx* ctx, doca_flow_ct_aging_conn_event* conn, uint32_t n )
Before timer, Connection sync callback for changed connections
[Doca Flow CT]
Public Variables
- uint16_t aging_core
- doca_flow_ct_aging_ops * aging_ops
- uint16_t aging_query_delay_s
- uint32_t base_core_id
- struct doca_flow_ct_direction_cfg direction[2]
- uint32_t dup_filter_sz
- uint32_t entry_user_ctx_size
- uint32_t flags
- doca_flow_ct_flow_log_cb flow_log_cb
- enumdoca_flow_ct_hash_type hash_type
- uint32_t meta_action_bits
- uint32_t meta_user_bits
- doca_flow_meta * meta_zone_mask
- uint32_t n_conn_counter_asymmetric
- uint32_t nb_arm_queues
- uint32_t nb_arm_sessions[DOCA_FLOW_CT_SESSION_MAX]
- uint32_t nb_ctrl_queues
- uint32_t nb_user_actions
- uint16_t queue_depth
- uint16_t tcp_session_del_s
- uint16_t tcp_timeout_s
- enumdoca_flow_tun_type tunnel_type
- uint16_t udp_timeout_s
- uint16_t vxlan_dst_port
- struct doca_flow_ct_worker_callbacks worker_cb
Variables
- uint16_t doca_flow_ct_cfg::aging_core [inherited]
CT aging thread bind to CPU core.
- doca_flow_ct_aging_ops * doca_flow_ct_cfg::aging_ops [inherited]
Aging plugin callbacks
- uint16_t doca_flow_ct_cfg::aging_query_delay_s [inherited]
CT aging query delay
- uint32_t doca_flow_ct_cfg::base_core_id [inherited]
Base core id for the workers
- struct doca_flow_ct_direction_cfgdoca_flow_ct_cfg::direction[2] [inherited]
Configuration of each direction
- uint32_t doca_flow_ct_cfg::dup_filter_sz [inherited]
Number of connections to cache in duplication filter
- uint32_t doca_flow_ct_cfg::entry_user_ctx_size [inherited]
user entry context size
- uint32_t doca_flow_ct_cfg::flags [inherited]
CT behavior flags
- doca_flow_ct_flow_log_cbdoca_flow_ct_cfg::flow_log_cb [inherited]
Flow log callback function
- enumdoca_flow_ct_hash_typedoca_flow_ct_cfg::hash_type [inherited]
Connection hash table type.
- uint32_t doca_flow_ct_cfg::meta_action_bits [inherited]
User action data bits carried by identified connection packet Mask to indicate which field/bits user used to set zone information
- uint32_t doca_flow_ct_cfg::meta_user_bits [inherited]
User data bits ignored by worker
- doca_flow_meta * doca_flow_ct_cfg::meta_zone_mask [inherited]
Mask to indicate which field/bits to modify so user can read after CT pipe
- uint32_t doca_flow_ct_cfg::n_conn_counter_asymmetric [inherited]
Number of connections with asymmetric counter
- uint32_t doca_flow_ct_cfg::nb_arm_queues [inherited]
number of ARM CT queues(thread).
- uint32_t doca_flow_ct_cfg::nb_arm_sessions[DOCA_FLOW_CT_SESSION_MAX] [inherited]
number of ARM CT sessions.
- uint32_t doca_flow_ct_cfg::nb_ctrl_queues [inherited]
number of control queues.
- uint32_t doca_flow_ct_cfg::nb_user_actions [inherited]
number of user actions (shared & non-shared)
- uint16_t doca_flow_ct_cfg::queue_depth [inherited]
hardware Queue depth, default 512
- uint16_t doca_flow_ct_cfg::tcp_session_del_s [inherited]
time to delay or kill TCP session after RST/FIN.
- uint16_t doca_flow_ct_cfg::tcp_timeout_s [inherited]
TCP timeout in second.
- enumdoca_flow_tun_typedoca_flow_ct_cfg::tunnel_type [inherited]
Tunnel type
- uint16_t doca_flow_ct_cfg::udp_timeout_s [inherited]
UDP timeout in second.
- uint16_t doca_flow_ct_cfg::vxlan_dst_port [inherited]
outer UDP destination port for VxLAN traffic. BE
- struct doca_flow_ct_worker_callbacksdoca_flow_ct_cfg::worker_cb [inherited]
callbacks for autonomous mode with shared actions
[Doca Flow CT]
Direction config
Public Variables
Variables
- bool doca_flow_ct_direction_cfg::match_inner [inherited]
match packet inner layer
- doca_flow_meta * doca_flow_ct_direction_cfg::meta_modify_mask [inherited]
meta mask to modify
- doca_flow_meta * doca_flow_ct_direction_cfg::zone_match_mask [inherited]
Zone mask to match
[Doca Flow Net]
doca flow CT ipV4
Public Variables
Variables
- doca_be32_tdoca_flow_ct_ip4::dst_ip [inherited]
ip dst address
- doca_be32_tdoca_flow_ct_ip4::src_ip [inherited]
ip src address
[Doca Flow Net]
doca flow CT ipV6
Public Variables
- doca_be32_t dst_ip[4]
- doca_be32_t src_ip[4]
Variables
- doca_be32_tdoca_flow_ct_ip6::dst_ip[4] [inherited]
ip dst address
- doca_be32_tdoca_flow_ct_ip6::src_ip[4] [inherited]
ip src address
[Doca Flow CT]
Public Variables
- struct doca_flow_ct_match4 ipv4
- struct doca_flow_ct_match6 ipv6
Variables
- struct doca_flow_ct_match4doca_flow_ct_match::ipv4 [inherited]
IPv4 match pattern
- struct doca_flow_ct_match6doca_flow_ct_match::ipv6 [inherited]
IPv6 match pattern
[Doca Flow CT]
Public Variables
- doca_be32_t dst_ip
- struct doca_flow_header_l4_port l4_port
- uint32_t metadata
- uint8_t next_proto
- doca_be32_t src_ip
Variables
- doca_be32_tdoca_flow_ct_match4::dst_ip [inherited]
ip dst address
- struct doca_flow_header_l4_portdoca_flow_ct_match4::l4_port [inherited]
UDP or TCP source and destination port
- uint32_t doca_flow_ct_match4::metadata [inherited]
metadata
- uint8_t doca_flow_ct_match4::next_proto [inherited]
ip next protocol
- doca_be32_tdoca_flow_ct_match4::src_ip [inherited]
ip src address
[Doca Flow CT]
Public Variables
- doca_be32_t dst_ip[4]
- struct doca_flow_header_l4_port l4_port
- uint32_t metadata
- uint8_t next_proto
- doca_be32_t src_ip[4]
Variables
- doca_be32_tdoca_flow_ct_match6::dst_ip[4] [inherited]
ip dst address
- struct doca_flow_header_l4_portdoca_flow_ct_match6::l4_port [inherited]
UDP or TCP source and destination port
- uint32_t doca_flow_ct_match6::metadata [inherited]
metadata
- uint8_t doca_flow_ct_match6::next_proto [inherited]
ip next protocol
- doca_be32_tdoca_flow_ct_match6::src_ip[4] [inherited]
ip src address
[Doca Flow CT]
Public Variables
Variables
- uint32_t doca_flow_ct_meta::data [inherited]
Combination of reserved, zone, user action data and user data.
- uint32_t doca_flow_ct_meta::hairpin [inherited]
Subject to forward using hairpin.
- uint32_t doca_flow_ct_meta::src [inherited]
Source port in multi-port E-Switch mode
- uint32_t doca_flow_ct_meta::type [inherited]
Refer to doca_flow_ct_meta_type.
- uint32_t doca_flow_ct_meta::u32 [inherited]
CPU endian.
[Doca Flow CT]
ct packet sent to user via pkt_callback
Public Variables
- void * buf
- uint32_t conn_id
- uint32_t data_sz_be
- uint32_t is_ipv6
- uint32_t is_last
- uint32_t is_tcp
- union doca_flow_ct_meta meta
- uint32_t offset
Variables
- void * doca_flow_ct_pkt::buf [inherited]
packet buffer, should not be changed by the user
- uint32_t doca_flow_ct_pkt::conn_id [inherited]
connection id
- uint32_t doca_flow_ct_pkt::data_sz_be [inherited]
packet size, may be changed by the user (if packet change)
- uint32_t doca_flow_ct_pkt::is_ipv6 [inherited]
indication for ipv6
- uint32_t doca_flow_ct_pkt::is_last [inherited]
indication for last packet in burst
- uint32_t doca_flow_ct_pkt::is_tcp [inherited]
indication for tcp packet
- union doca_flow_ct_metadoca_flow_ct_pkt::meta [inherited]
metadata in CPU endian
- uint32_t doca_flow_ct_pkt::offset [inherited]
packet buffer start sending offset (changed by the user)
[Doca Flow CT]
set of callbacks used for using shared-actions in autonomous mode
Public Variables
- doca_flow_ct_rule_pkt_cb rule_pkt
- doca_flow_ct_sync_acquire_cb worker_init
- doca_flow_ct_sync_release_cb worker_release
Variables
- doca_flow_ct_rule_pkt_cbdoca_flow_ct_worker_callbacks::rule_pkt [inherited]
called on first packet of a flow
- doca_flow_ct_sync_acquire_cbdoca_flow_ct_worker_callbacks::worker_init [inherited]
called at start of worker thread to sync with user context
- doca_flow_ct_sync_release_cbdoca_flow_ct_worker_callbacks::worker_release [inherited]
called at the end of a worker thread
[DOCA Flow]
Field based on a string that is composed out of struct members separated by a dot.
The 1st segment determines the field location in packet "outer", "inner", "tunnel". The 2nd segment determines the protocol. The 3rd segment determines the field.
E.g. "outer.eth.src_mac" "tunnel.gre.protocol" "inner.ipv4.next_proto"
Public Variables
- uint32_t bit_offset
- const char * field_string
Variables
- uint32_t doca_flow_desc_field::bit_offset [inherited]
Field bit offset.
- const char * doca_flow_desc_field::field_string [inherited]
Field selection by string.
[DOCA Flow]
Public Variables
- struct doca_flow_header_format outer
- struct doca_flow_tun tun
Variables
- struct doca_flow_header_formatdoca_flow_encap_action::outer [inherited]
outer header format
- struct doca_flow_tundoca_flow_encap_action::tun [inherited]
tunnel info
[DOCA Flow]
Public Variables
- struct doca_flow_header_ip4 ip4
- struct doca_flow_header_ip6 ip6
- enumdoca_flow_l3_type l3_type
- enumdoca_flow_l4_type_ext l4_type_ext
- struct doca_flow_header_l4_port transport
Variables
- struct doca_flow_header_ip4doca_flow_entropy_format::ip4 [inherited]
ipv4 head
- struct doca_flow_header_ip6doca_flow_entropy_format::ip6 [inherited]
ipv6 head
- enumdoca_flow_l3_typedoca_flow_entropy_format::l3_type [inherited]
layer 3 protocol type
- enumdoca_flow_l4_type_extdoca_flow_entropy_format::l4_type_ext [inherited]
l4 layer extend type
- struct doca_flow_header_l4_portdoca_flow_entropy_format::transport [inherited]
transport layer source and destination port
[DOCA Flow]
Public Variables
- uint32_t idx
- doca_flow_pipe * next_pipe
- int num_of_queues
- doca_flow_fwd::@33::@41 ordered_list_pipe
- doca_flow_pipe * pipe
- uint16_t port_id
- enumdoca_flow_rss_hash_function rss_hash_func
- uint32_t rss_inner_flags
- uint32_t rss_outer_flags
- uint16_t * rss_queues
- uint32_t shared_rss_id
- doca_flow_target * target
- enumdoca_flow_fwd_type type
Variables
- uint32_t doca_flow_fwd::idx [inherited]
Index of the ordered list pipe entry.
- doca_flow_pipe * doca_flow_fwd::next_pipe [inherited]
next pipe pointer
- int doca_flow_fwd::num_of_queues [inherited]
number of queues
- doca_flow_fwd::@33::@41 doca_flow_fwd::ordered_list_pipe [inherited]
next ordered list pipe configuration
- doca_flow_pipe * doca_flow_fwd::pipe [inherited]
Ordered list pipe to select an entry from.
- uint16_t doca_flow_fwd::port_id [inherited]
destination port id
- enumdoca_flow_rss_hash_functiondoca_flow_fwd::rss_hash_func [inherited]
hash function
- uint32_t doca_flow_fwd::rss_inner_flags [inherited]
rss offload inner types
- uint32_t doca_flow_fwd::rss_outer_flags [inherited]
rss offload outer types
- uint16_t * doca_flow_fwd::rss_queues [inherited]
rss queues array
- uint32_t doca_flow_fwd::shared_rss_id [inherited]
shared rss id, only for pipe's fwd is NULL
- doca_flow_target * doca_flow_fwd::target [inherited]
pointer to target handler
- enumdoca_flow_fwd_typedoca_flow_fwd::type [inherited]
indicate the forwarding type
[Doca Flow Net]
This object describes single DW (4-bytes) from GENEVE option header. It describes either the first DW in the option including class, type and length or any other data DW.
Public Variables
- doca_be16_t class_id
- doca_be32_t data
- uint8_t type
Variables
- doca_be16_tdoca_flow_geneve_option::class_id [inherited]
option class
- doca_be32_tdoca_flow_geneve_option::data [inherited]
4 bytes of option data.
- uint8_t doca_flow_geneve_option::type [inherited]
option type
[Doca Flow Net]
Public Variables
- uint8_t dst_mac[DOCA_FLOW_ETHER_ADDR_LEN]
- uint8_t src_mac[DOCA_FLOW_ETHER_ADDR_LEN]
- doca_be16_t type
Variables
- uint8_t doca_flow_header_eth::dst_mac[DOCA_FLOW_ETHER_ADDR_LEN] [inherited]
destination mac address
- uint8_t doca_flow_header_eth::src_mac[DOCA_FLOW_ETHER_ADDR_LEN] [inherited]
source mac address
- doca_be16_tdoca_flow_header_eth::type [inherited]
eth type
[Doca Flow Net]
Public Variables
Variables
- doca_be16_tdoca_flow_header_eth_vlan::tci [inherited]
vlan tci
[DOCA Flow]
Public Variables
- struct doca_flow_header_eth eth
- struct doca_flow_header_eth_vlan eth_vlan[DOCA_FLOW_VLAN_MAX]
- struct doca_flow_header_icmp icmp
- struct doca_flow_header_ip4 ip4
- struct doca_flow_header_ip6 ip6
- uint16_t l2_valid_headers
- enumdoca_flow_l3_type l3_type
- enumdoca_flow_l4_type_ext l4_type_ext
- struct doca_flow_header_tcp tcp
- struct doca_flow_header_l4_port transport
- struct doca_flow_header_udp udp
Variables
- struct doca_flow_header_ethdoca_flow_header_format::eth [inherited]
ether head
- struct doca_flow_header_eth_vlandoca_flow_header_format::eth_vlan[DOCA_FLOW_VLAN_MAX] [inherited]
vlan header array
- struct doca_flow_header_icmpdoca_flow_header_format::icmp [inherited]
icmp header
- struct doca_flow_header_ip4doca_flow_header_format::ip4 [inherited]
ipv4 head
- struct doca_flow_header_ip6doca_flow_header_format::ip6 [inherited]
ipv6 head
- uint16_t doca_flow_header_format::l2_valid_headers [inherited]
indicate which headers are valid
- enumdoca_flow_l3_typedoca_flow_header_format::l3_type [inherited]
layer 3 protocol type
- enumdoca_flow_l4_type_extdoca_flow_header_format::l4_type_ext [inherited]
l4 layer extend type
- struct doca_flow_header_tcpdoca_flow_header_format::tcp [inherited]
tcp header
- struct doca_flow_header_l4_portdoca_flow_header_format::transport [inherited]
transport layer source and destination port
- struct doca_flow_header_udpdoca_flow_header_format::udp [inherited]
udp header
[Doca Flow Net]
Public Variables
- doca_be16_t next_proto
- uint8_t o_c
- uint8_t ver_opt_len
- doca_be32_t vni
Variables
- doca_be16_tdoca_flow_header_geneve::next_proto [inherited]
next protocol
- uint8_t doca_flow_header_geneve::o_c [inherited]
OAM packet (1) + critical options present (1) + reserved (6).
- uint8_t doca_flow_header_geneve::ver_opt_len [inherited]
version (2) + options length (6).
- doca_be32_tdoca_flow_header_geneve::vni [inherited]
geneve vni (24) + reserved (8).
[Doca Flow Net]
Public Variables
- uint8_t code
- doca_be16_t ident
- uint8_t type
Variables
- uint8_t doca_flow_header_icmp::code [inherited]
icmp code.
- doca_be16_tdoca_flow_header_icmp::ident [inherited]
icmp identifier.
- uint8_t doca_flow_header_icmp::type [inherited]
icmp type
[Doca Flow Net]
Public Variables
- uint8_t dscp_ecn
- doca_be32_t dst_ip
- doca_be16_t flags_fragment_offset
- doca_be16_t identification
- uint8_t next_proto
- doca_be32_t src_ip
- doca_be16_t total_len
- uint8_t ttl
- uint8_t version_ihl
Variables
- uint8_t doca_flow_header_ip4::dscp_ecn [inherited]
dscp and ecn
- doca_be32_tdoca_flow_header_ip4::dst_ip [inherited]
ip dst address
- doca_be16_tdoca_flow_header_ip4::flags_fragment_offset [inherited]
ip fragment flags (3) + ip fragment offset (13)
- doca_be16_tdoca_flow_header_ip4::identification [inherited]
ip fragment identification
- uint8_t doca_flow_header_ip4::next_proto [inherited]
ip next protocol
- doca_be32_tdoca_flow_header_ip4::src_ip [inherited]
ip src address
- doca_be16_tdoca_flow_header_ip4::total_len [inherited]
packet total length
- uint8_t doca_flow_header_ip4::ttl [inherited]
time to live
- uint8_t doca_flow_header_ip4::version_ihl [inherited]
version and internet header length
[Doca Flow Net]
Public Variables
- doca_be32_t dst_ip[4]
- doca_be32_t flow_label
- uint8_t hop_limit
- uint8_t next_proto
- doca_be16_t payload_len
- doca_be32_t src_ip[4]
- uint8_t traffic_class
Variables
- doca_be32_tdoca_flow_header_ip6::dst_ip[4] [inherited]
ip dst address
- doca_be32_tdoca_flow_header_ip6::flow_label [inherited]
reserved (12) + flow label (20)
- uint8_t doca_flow_header_ip6::hop_limit [inherited]
hop limit
- uint8_t doca_flow_header_ip6::next_proto [inherited]
ip next protocol
- doca_be16_tdoca_flow_header_ip6::payload_len [inherited]
payload length
- doca_be32_tdoca_flow_header_ip6::src_ip[4] [inherited]
ip src address
- uint8_t doca_flow_header_ip6::traffic_class [inherited]
traffic class
[Doca Flow Net]
Public Variables
Variables
- doca_be16_tdoca_flow_header_l4_port::dst_port [inherited]
destination port
- doca_be16_tdoca_flow_header_l4_port::src_port [inherited]
source port
[Doca Flow Net]
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Public Variables
Variables
- doca_be32_tdoca_flow_header_mpls::label [inherited]
MPLS label.
[Doca Flow Net]
Public Variables
- uint8_t hdrextlen
- doca_be64_t iv
- uint8_t nexthdr
- uint8_t res_cryptofst
- uint8_t s_d_ver_v
- doca_be32_t spi
- doca_be64_t vc
Variables
- uint8_t doca_flow_header_psp::hdrextlen [inherited]
header extension length
- doca_be64_tdoca_flow_header_psp::iv [inherited]
psp initialization vector
- uint8_t doca_flow_header_psp::nexthdr [inherited]
next header IP protocol number
- uint8_t doca_flow_header_psp::res_cryptofst [inherited]
reserved:2, crypto offset:6
- uint8_t doca_flow_header_psp::s_d_ver_v [inherited]
Sample bit, drop bit, version:4, V bit
- doca_be32_tdoca_flow_header_psp::spi [inherited]
psp session parameter index
- doca_be64_tdoca_flow_header_psp::vc [inherited]
psp virtualization cookie
[Doca Flow Net]
Public Variables
- uint8_t data_offset
- uint8_t flags
- struct doca_flow_header_l4_port l4_port
Variables
- uint8_t doca_flow_header_tcp::data_offset [inherited]
tcp data offset
- uint8_t doca_flow_header_tcp::flags [inherited]
tcp flags
- struct doca_flow_header_l4_portdoca_flow_header_tcp::l4_port [inherited]
tcp source and destination port
[Doca Flow Net]
Public Variables
- struct doca_flow_header_l4_port l4_port
Variables
- struct doca_flow_header_l4_portdoca_flow_header_udp::l4_port [inherited]
udp source and destination port
[Doca Flow Net]
Public Variables
Variables
- doca_be32_tdoca_flow_ip_addr::ipv4_addr [inherited]
ipv4 address if type is ipv4
- doca_be32_tdoca_flow_ip_addr::ipv6_addr[4] [inherited]
ipv6 address if type is ipv6
- enumdoca_flow_l3_typedoca_flow_ip_addr::type [inherited]
ip address type
[DOCA Flow]
Public Variables
- uint32_t flags
- struct doca_flow_header_format inner
- struct doca_flow_meta meta
- struct doca_flow_header_format outer
- struct doca_flow_parser_meta parser_meta
- struct doca_flow_tun tun
Variables
- uint32_t doca_flow_match::flags [inherited]
match items which are no value
- struct doca_flow_header_formatdoca_flow_match::inner [inherited]
inner layer header format
- struct doca_flow_metadoca_flow_match::meta [inherited]
Programmable meta data.
- struct doca_flow_header_formatdoca_flow_match::outer [inherited]
outer layer header format
- struct doca_flow_parser_metadoca_flow_match::parser_meta [inherited]
Read-only meta data.
- struct doca_flow_tundoca_flow_match::tun [inherited]
tunnel info
[DOCA Flow]
Public Variables
- struct doca_flow_desc_field a
- struct doca_flow_desc_field b
- enumdoca_flow_compare_op operation
- uint32_t width
Variables
- struct doca_flow_desc_fielddoca_flow_match_condition::a [inherited]
Field descriptor A.
- struct doca_flow_desc_fielddoca_flow_match_condition::b [inherited]
Field descriptor B.
- enumdoca_flow_compare_opdoca_flow_match_condition::operation [inherited]
Condition compare operation.
- uint32_t doca_flow_match_condition::width [inherited]
Field width.
[DOCA Flow]
Meta data known as scratch data can be used to match or modify within pipes. Meta data can be set with value in previous pipes and match in later pipes. User can customize meta data structure as long as overall size doesn't exceed limit. To match meta data, mask must be specified when creating pipe. Struct must be aligned to 32 bits. No initial value for Meta data, must match after setting value.
Public Variables
Variables
- uint32_t doca_flow_meta::mark [inherited]
Mark id.
- uint32_t doca_flow_meta::pkt_meta [inherited]
Shared with application via packet.
- uint32_t doca_flow_meta::u32[DOCA_FLOW_META_SCRATCH_PAD_MAX] [inherited]
Programmable user data.
[DOCA Flow]
Public Variables
- struct doca_flow_encap_action encap
- struct doca_flow_fwd fwd
- bool has_encap
Variables
- struct doca_flow_encap_actiondoca_flow_mirror_target::encap [inherited]
Encap data.
- struct doca_flow_fwddoca_flow_mirror_target::fwd [inherited]
Mirror target, must be filled.
- bool doca_flow_mirror_target::has_encap [inherited]
Encap mirrored packets.
[DOCA Flow]
Public Variables
- uint32_t aging_sec
- uint64_t cbs
- uint64_t cir
- enumdoca_flow_resource_type counter_type
- enumdoca_flow_meter_limit_type limit_type
- enum doca_flow_meter_color meter_init_color
- enumdoca_flow_resource_type meter_type
- uint32_t shared_counter_id
- uint32_t shared_meter_id
- uint32_t shared_mirror_id
Variables
- uint32_t doca_flow_monitor::aging_sec [inherited]
aging time in seconds.
- uint64_t doca_flow_monitor::cbs [inherited]
Committed Burst Size (bytes).
- uint64_t doca_flow_monitor::cir [inherited]
Committed Information Rate (bytes/second).
- enumdoca_flow_resource_typedoca_flow_monitor::counter_type [inherited]
Type of counter configuration.
- enumdoca_flow_meter_limit_typedoca_flow_monitor::limit_type [inherited]
Meter rate limit type: bytes / packets per second
- enum doca_flow_meter_color doca_flow_monitor::meter_init_color [inherited]
meter initial color
- enumdoca_flow_resource_typedoca_flow_monitor::meter_type [inherited]
Type of meter configuration.
- uint32_t doca_flow_monitor::shared_counter_id [inherited]
shared counter id
- uint32_t doca_flow_monitor::shared_meter_id [inherited]
shared meter id
- uint32_t doca_flow_monitor::shared_mirror_id [inherited]
shared mirror id.
[DOCA Flow]
Public Variables
Variables
- enumdoca_flow_l3_typedoca_flow_nat64_action::original_l3_type [inherited]
original header's layer 3 type
[DOCA Flow]
Ordered list configuration.
Public Variables
Variables
- const * doca_flow_ordered_list::elements [inherited]
An array of DOCA flow structure pointers, depending on types.
- uint32_t doca_flow_ordered_list::idx [inherited]
List index among the lists of the pipe. At pipe creation, it must match the list position in the array of lists. At entry insertion, it determines which list to use.
- uint32_t doca_flow_ordered_list::size [inherited]
Number of elements in the list.
[DOCA Flow]
Public Variables
- doca_be32_t data_mask[DOCA_FLOW_GENEVE_DATA_OPTION_LEN_MAX]
- enumdoca_flow_parser_geneve_opt_mode match_on_class_mode
- doca_be16_t option_class
- uint8_t option_len
- uint8_t option_type
Variables
- doca_be32_tdoca_flow_parser_geneve_opt_cfg::data_mask[DOCA_FLOW_GENEVE_DATA_OPTION_LEN_MAX] [inherited]
Data mask describing which DWs should be sampled.
- enumdoca_flow_parser_geneve_opt_modedoca_flow_parser_geneve_opt_cfg::match_on_class_mode [inherited]
Indicator about class field role in this option.
- doca_be16_tdoca_flow_parser_geneve_opt_cfg::option_class [inherited]
The class of the GENEVE TLV option.
- uint8_t doca_flow_parser_geneve_opt_cfg::option_len [inherited]
The length of the GENEVE TLV option data in DW granularity.
- uint8_t doca_flow_parser_geneve_opt_cfg::option_type [inherited]
The type of the GENEVE TLV option.
[DOCA Flow]
Parser meta data known as read-only hardware data that can be used to match.
Public Variables
- uint8_t inner_ip4_checksum_ok
- uint8_t inner_ip_fragmented
- enumdoca_flow_l2_meta inner_l2_type
- uint8_t inner_l3_ok
- enumdoca_flow_l3_meta inner_l3_type
- uint8_t inner_l4_checksum_ok
- uint8_t inner_l4_ok
- enumdoca_flow_l4_meta inner_l4_type
- uint8_t ipsec_syndrome
- enum doca_flow_meter_color meter_color
- uint8_t outer_ip4_checksum_ok
- uint8_t outer_ip_fragmented
- enumdoca_flow_l2_meta outer_l2_type
- uint8_t outer_l3_ok
- enumdoca_flow_l3_meta outer_l3_type
- uint8_t outer_l4_checksum_ok
- uint8_t outer_l4_ok
- enumdoca_flow_l4_meta outer_l4_type
- uint32_t port_meta
- uint8_t psp_syndrome
- uint16_t random
Variables
- uint8_t doca_flow_parser_meta::inner_ip4_checksum_ok [inherited]
Whether inner IPv4 checksum is valid.
- uint8_t doca_flow_parser_meta::inner_ip_fragmented [inherited]
Whether inner IP packet is fragmented.
- enumdoca_flow_l2_metadoca_flow_parser_meta::inner_l2_type [inherited]
Innermost L2 packet type.
- uint8_t doca_flow_parser_meta::inner_l3_ok [inherited]
Whether inner L3 layer is valid without checksum.
- enumdoca_flow_l3_metadoca_flow_parser_meta::inner_l3_type [inherited]
Innermost L3 packet type.
- uint8_t doca_flow_parser_meta::inner_l4_checksum_ok [inherited]
Whether inner L4 checksum is valid.
- uint8_t doca_flow_parser_meta::inner_l4_ok [inherited]
Whether inner L4 layer is valid including checksum.
- enumdoca_flow_l4_metadoca_flow_parser_meta::inner_l4_type [inherited]
Innermost L4 packet type.
- uint8_t doca_flow_parser_meta::ipsec_syndrome [inherited]
IPsec decrypt/authentication syndrome.
- enum doca_flow_meter_color doca_flow_parser_meta::meter_color [inherited]
Meter colors: Green, Yellow, Red.
- uint8_t doca_flow_parser_meta::outer_ip4_checksum_ok [inherited]
Whether outer IPv4 checksum is valid.
- uint8_t doca_flow_parser_meta::outer_ip_fragmented [inherited]
Whether outer IP packet is fragmented.
- enumdoca_flow_l2_metadoca_flow_parser_meta::outer_l2_type [inherited]
Outermost L2 packet type.
- uint8_t doca_flow_parser_meta::outer_l3_ok [inherited]
Whether outer L3 layer is valid without checksum.
- enumdoca_flow_l3_metadoca_flow_parser_meta::outer_l3_type [inherited]
Outermost L3 packet type.
- uint8_t doca_flow_parser_meta::outer_l4_checksum_ok [inherited]
Whether outer L4 checksum is valid.
- uint8_t doca_flow_parser_meta::outer_l4_ok [inherited]
Whether outer L4 layer is valid including checksum.
- enumdoca_flow_l4_metadoca_flow_parser_meta::outer_l4_type [inherited]
Outermost L4 packet type.
- uint32_t doca_flow_parser_meta::port_meta [inherited]
Programmable source vport.
- uint8_t doca_flow_parser_meta::psp_syndrome [inherited]
PSP decrypt/authentication syndrome.
- uint16_t doca_flow_parser_meta::random [inherited]
Matches a random value. This value is not based on the packet data/headers. Application shouldn't assume that this value is kept during the packet lifetime.
[DOCA Flow]
Public Variables
Variables
- enumdoca_flow_push_action_typedoca_flow_push_action::type [inherited]
header type to push
[DOCA Flow]
Public Variables
- struct doca_flow_header_eth eth
- struct doca_flow_header_eth_vlan eth_vlan[DOCA_FLOW_VLAN_MAX]
- bool is_l2
- uint16_t l2_valid_headers
Variables
- struct doca_flow_header_ethdoca_flow_resource_decap_cfg::eth [inherited]
ether head for is_l2 is false
- struct doca_flow_header_eth_vlandoca_flow_resource_decap_cfg::eth_vlan[DOCA_FLOW_VLAN_MAX] [inherited]
vlan header array for is_l2 is false
- bool doca_flow_resource_decap_cfg::is_l2 [inherited]
L2 or L3 tunnel flavor
- uint16_t doca_flow_resource_decap_cfg::l2_valid_headers [inherited]
indicate which headers are valid
[DOCA Flow]
Public Variables
- struct doca_flow_encap_action encap
- bool is_l2
Variables
- struct doca_flow_encap_actiondoca_flow_resource_encap_cfg::encap [inherited]
Encap data
- bool doca_flow_resource_encap_cfg::is_l2 [inherited]
L2 or L3 tunnel flavor
[DOCA Flow]
Public Variables
- bool esn_en
- enumdoca_flow_crypto_icv_len icv_len
- uint64_t implicit_iv
- struct doca_flow_crypto_key_cfg key_cfg
- uint32_t lifetime_threshold
- uint32_t salt
- uint64_t sn_initial
- enumdoca_flow_crypto_sn_offload_type sn_offload_type
- enumdoca_flow_crypto_replay_win_size win_size
Variables
- bool doca_flow_resource_ipsec_sa_cfg::esn_en [inherited]
Enable extended sequence number
- enumdoca_flow_crypto_icv_lendoca_flow_resource_ipsec_sa_cfg::icv_len [inherited]
ICV value
- uint64_t doca_flow_resource_ipsec_sa_cfg::implicit_iv [inherited]
implicit IV value
- struct doca_flow_crypto_key_cfgdoca_flow_resource_ipsec_sa_cfg::key_cfg [inherited]
IPSec key configuration
- uint32_t doca_flow_resource_ipsec_sa_cfg::lifetime_threshold [inherited]
When SN reaches this threshold, all passing packets will return a relevant syndrome
- uint32_t doca_flow_resource_ipsec_sa_cfg::salt [inherited]
salt value
- uint64_t doca_flow_resource_ipsec_sa_cfg::sn_initial [inherited]
Initial sequence number
- enumdoca_flow_crypto_sn_offload_typedoca_flow_resource_ipsec_sa_cfg::sn_offload_type [inherited]
SN offload type - increment or anti-replay
- enumdoca_flow_crypto_replay_win_sizedoca_flow_resource_ipsec_sa_cfg::win_size [inherited]
Anti-replay window size - only valid when using DOCA_FLOW_CRYPTO_SN_OFFLOAD_AR
[DOCA Flow]
Public Variables
- enumdoca_flow_meter_algorithm_type alg
- uint64_t cbs
- uint64_t cir
- enumdoca_flow_meter_color_mode color_mode
- uint64_t ebs
- uint64_t eir
- enumdoca_flow_meter_limit_type limit_type
- uint64_t pbs
- uint64_t pir
Variables
- enumdoca_flow_meter_algorithm_typedoca_flow_resource_meter_cfg::alg [inherited]
Meter algorithm by RFCs
- uint64_t doca_flow_resource_meter_cfg::cbs [inherited]
Committed Burst Size (bytes or packets).
- uint64_t doca_flow_resource_meter_cfg::cir [inherited]
Committed Information Rate (bytes or packets per second).
- enumdoca_flow_meter_color_modedoca_flow_resource_meter_cfg::color_mode [inherited]
Meter color mode: blind / aware
- uint64_t doca_flow_resource_meter_cfg::ebs [inherited]
Excess Burst Size (EBS) (bytes or packets).
- uint64_t doca_flow_resource_meter_cfg::eir [inherited]
Excess Information Rate (bytes or packets per seconds).
- enumdoca_flow_meter_limit_typedoca_flow_resource_meter_cfg::limit_type [inherited]
Meter rate limit type: bytes / packets per second
- uint64_t doca_flow_resource_meter_cfg::pbs [inherited]
Peak Burst Size (bytes or packets).
- uint64_t doca_flow_resource_meter_cfg::pir [inherited]
Peak Information Rate (bytes or packets per seconds).
[DOCA Flow]
Public Variables
- struct doca_flow_fwd fwd
- int nr_targets
- doca_flow_mirror_target * target
Variables
- struct doca_flow_fwddoca_flow_resource_mirror_cfg::fwd [inherited]
Original packet dst, can be filled optional.
- int doca_flow_resource_mirror_cfg::nr_targets [inherited]
Mirror target number.
- doca_flow_mirror_target * doca_flow_resource_mirror_cfg::target [inherited]
Mirror target pointer.
[DOCA Flow]
Public Variables
- struct doca_flow_crypto_key_cfg key_cfg
Variables
- struct doca_flow_crypto_key_cfgdoca_flow_resource_psp_cfg::key_cfg [inherited]
PSP key configuration
[DOCA Flow]
Public Variables
- uint64_t current_sn
- uint64_t total_bytes
- uint64_t total_pkts
Variables
- uint64_t doca_flow_resource_query::current_sn [inherited]
Current SN for encrypt, lower bound of AR window for decrypt
- uint64_t doca_flow_resource_query::total_bytes [inherited]
total bytes hit this flow
- uint64_t doca_flow_resource_query::total_pkts [inherited]
total packets hit this flow
[DOCA Flow]
Public Variables
- uint32_t inner_flags
- int nr_queues
- uint32_t outer_flags
- uint16_t * queues_array
- enumdoca_flow_rss_hash_function rss_hash_func
Variables
- uint32_t doca_flow_resource_rss_cfg::inner_flags [inherited]
rss offload inner types
- int doca_flow_resource_rss_cfg::nr_queues [inherited]
number of queues
- uint32_t doca_flow_resource_rss_cfg::outer_flags [inherited]
rss offload outer types
- uint16_t * doca_flow_resource_rss_cfg::queues_array [inherited]
rss queues array
- enumdoca_flow_rss_hash_functiondoca_flow_resource_rss_cfg::rss_hash_func [inherited]
hash function
[DOCA Flow]
Public Variables
Variables
- enumdoca_flow_pipe_domaindoca_flow_shared_resource_cfg::domain [inherited]
Shared resource steering domain
[Doca Flow Net]
Public Variables
- doca_be32_t esp_sn
- doca_be32_t esp_spi
- struct doca_flow_header_geneve geneve
- union doca_flow_geneve_option geneve_options[DOCA_FLOW_GENEVE_OPT_LEN_MAX]
- doca_be32_t gre_key
- doca_be32_t gtp_teid
- bool key_present
- struct doca_flow_header_mpls mpls[DOCA_FLOW_MPLS_LABELS_MAX]
- uint8_t nvgre_flow_id
- doca_be32_t nvgre_vs_id
- doca_be16_t protocol
- enumdoca_flow_tun_type type
- doca_be16_t vxlan_group_policy_id
- uint8_t vxlan_next_protocol
- doca_be32_t vxlan_tun_id
- uint8_t vxlan_tun_rsvd1
- enumdoca_flow_tun_ext_vxlan_type vxlan_type
Variables
- doca_be32_tdoca_flow_tun::esp_sn [inherited]
ipsec sequence number
- doca_be32_tdoca_flow_tun::esp_spi [inherited]
ipsec session parameter index
- struct doca_flow_header_genevedoca_flow_tun::geneve [inherited]
geneve header
- union doca_flow_geneve_optiondoca_flow_tun::geneve_options[DOCA_FLOW_GENEVE_OPT_LEN_MAX] [inherited]
geneve options as array of doca_be32_t
- doca_be32_tdoca_flow_tun::gre_key [inherited]
gre key
- doca_be32_tdoca_flow_tun::gtp_teid [inherited]
gtp teid
- bool doca_flow_tun::key_present [inherited]
gre key is present
- struct doca_flow_header_mplsdoca_flow_tun::mpls[DOCA_FLOW_MPLS_LABELS_MAX] [inherited]
mpls labels
- uint8_t doca_flow_tun::nvgre_flow_id [inherited]
nvgre flow id.
- doca_be32_tdoca_flow_tun::nvgre_vs_id [inherited]
nvgre virtual subnet id(24) + reserved (8).
- doca_be16_tdoca_flow_tun::protocol [inherited]
next protocol
- enumdoca_flow_tun_typedoca_flow_tun::type [inherited]
tunnel type
- doca_be16_tdoca_flow_tun::vxlan_group_policy_id [inherited]
vxlan gbp group policy id
- uint8_t doca_flow_tun::vxlan_next_protocol [inherited]
vxlan gpe next protocol
- doca_be32_tdoca_flow_tun::vxlan_tun_id [inherited]
vxlan vni(24) + unused (8).
- uint8_t doca_flow_tun::vxlan_tun_rsvd1 [inherited]
vxlan last reserved byte.
- enumdoca_flow_tun_ext_vxlan_typedoca_flow_tun::vxlan_type [inherited]
vxlan ext-type, standard, gpe, gbp
[DOCA Flow Tune Server]
Public Variables
- struct doca_flow_tune_server_shared_resources_kpi_res shared_resources_kpi
- enumdoca_flow_tune_server_kpi_type type
- uint64_t val
Variables
- struct doca_flow_tune_server_shared_resources_kpi_resdoca_flow_tune_server_kpi_res::shared_resources_kpi [inherited]
Shared resources KPI result
- enumdoca_flow_tune_server_kpi_typedoca_flow_tune_server_kpi_res::type [inherited]
KPI result type
- uint64_t doca_flow_tune_server_kpi_res::val [inherited]
KPI result value
[DOCA Flow Tune Server]
Public Variables
- uint64_t nr_counter
- uint64_t nr_decap
- uint64_t nr_encap
- uint64_t nr_meter
- uint64_t nr_mirror
- uint64_t nr_psp
- uint64_t nr_rss
Variables
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_counter [inherited]
Total number of shared counters
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_decap [inherited]
Total number of shared decap
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_encap [inherited]
Total number of shared encap
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_meter [inherited]
Total number of shared meters
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_mirror [inherited]
Total number of shared mirrors
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_psp [inherited]
Total number of shared psp
- uint64_t doca_flow_tune_server_shared_resources_kpi_res::nr_rss [inherited]
Total number of shared rss
[DOCA Types]
Public Variables
- void * addr
- uint64_t len
- doca_gather_list * next
Variables
- void * doca_gather_list::addr [inherited]
Address of buffer in the list
- uint64_t doca_gather_list::len [inherited]
Length of current buffer in bytes
- doca_gather_list * doca_gather_list::next [inherited]
Pointer to next buffer in the list
[DOCA Logging Management]
Should be used to register the log source. For example:
DOCA_LOG_REGISTER(dpi)
void foo { DOCA_LOG_INFO("Message"); }
The macro also takes care of the dtor() logic on teardown.
[DOCA PCC Device Algorithm Access]
Public Variables
- uint64_t algo_desc_addr
- uint32_t algo_desc_size
- uint32_t algo_id
- uint32_t algo_major_version
- uint32_t algo_minor_version
Variables
- uint64_t doca_pcc_dev_algo_meta_data::algo_desc_addr [inherited]
pointer to description string
- uint32_t doca_pcc_dev_algo_meta_data::algo_desc_size [inherited]
size of description string (null terminated)
- uint32_t doca_pcc_dev_algo_meta_data::algo_id [inherited]
algo unique identifier
- uint32_t doca_pcc_dev_algo_meta_data::algo_major_version [inherited]
algo major version
- uint32_t doca_pcc_dev_algo_meta_data::algo_minor_version [inherited]
algo minor version
[DOCA PCC Device Notification Point]
Public Variables
Variables
- uint8_t * doca_pcc_np_dev_response_packet::data [inherited]
data buffer for user to fill
- size_t doca_pcc_np_dev_response_packet::size [inherited]
size of data buffer
[DOCA RDMA]
gid struct
Public Variables
- uint8_t raw[DOCA_GID_BYTE_LENGTH]
Variables
- uint8_t doca_rdma_gid::raw[DOCA_GID_BYTE_LENGTH] [inherited]
The raw value of the GID
[DOCA RMAX Engine]
Input stream starts to receive packets right after start and attaching any flow.
Public Variables
- uint32_t elements_count
- * memblk_ptr_arr
- uint32_t memblk_ptr_arr_len
- uint32_t seqn_first
- uint64_t ts_first
- uint64_t ts_last
Variables
- uint32_t doca_rmax_in_stream_result::elements_count [inherited]
Number of packets received
- * doca_rmax_in_stream_result::memblk_ptr_arr [inherited]
Array of pointers to the beginning of the memory block as configured by input stream create step. The offset between packets inside memory block can be queried by doca_rmax_in_stream_get_memblk_stride_size
- uint32_t doca_rmax_in_stream_result::memblk_ptr_arr_len [inherited]
Number of memory blocks placed in memblk_ptr_arr. See doca_rmax_in_stream_get_memblks_count.
- uint32_t doca_rmax_in_stream_result::seqn_first [inherited]
Sequence number of the first packet
- uint64_t doca_rmax_in_stream_result::ts_first [inherited]
Time of arrival of the first packet
- uint64_t doca_rmax_in_stream_result::ts_last [inherited]
Time of arrival of the last packet
[DOCA RMAX Engine]
Public Variables
Variables
- int doca_rmax_stream_error::code [inherited]
Raw Rivermax error code
- const char * doca_rmax_stream_error::message [inherited]
Human-readable error
[DOCA UROM (Unified Resource and Offload Manager)DOCA UROM Domains]
Public Variables
- doca_urom_domain_allgather_cb_t allgather
- void * coll_info
- uint32_t n_oob_indexes
- uint32_t oob_index
- doca_urom_domain_req_free_cb_t req_free
- doca_urom_domain_req_test_cb_t req_test
Variables
- doca_urom_domain_allgather_cb_tdoca_urom_domain_oob_coll::allgather [inherited]
Non-blocking Allgather callback
- void * doca_urom_domain_oob_coll::coll_info [inherited]
Context or meta data required by the OOB collective
- uint32_t doca_urom_domain_oob_coll::n_oob_indexes [inherited]
Number of endpoints participating in the oob operation (e.g., number of client processes representing a domain workers)
- uint32_t doca_urom_domain_oob_coll::oob_index [inherited]
Integer value that represents the position of the calling processes in the given oob op: the data specified by "src_buf" will be placed at the offset "oob_index*size" in the "recv_buf". oob_index must be unique at every calling process and should be in the range [0:n_oob_indexes).
- doca_urom_domain_req_free_cb_tdoca_urom_domain_oob_coll::req_free [inherited]
Request free callback
- doca_urom_domain_req_test_cb_tdoca_urom_domain_oob_coll::req_test [inherited]
Request test callback
[DOCA UROM Plugins]
UROM plugin info structure
Public Variables
- uint64_t id
- char plugin_name[DOCA_UROM_PLUGIN_NAME_MAX_LEN]
- uint64_t version
Variables
- uint64_t doca_urom_service_plugin_info::id [inherited]
Unique ID to send commands to the plugin
- char doca_urom_service_plugin_info::plugin_name[DOCA_UROM_PLUGIN_NAME_MAX_LEN] [inherited]
The .so plugin file name, without ".so"
- uint64_t doca_urom_service_plugin_info::version [inherited]
Plugin version
[DOCA UROM Plugins]
Public Variables
- doca_error_t ( *addr_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, void* *addr )
- doca_error_t ( *memh_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, int seg, size_t* len, void* *memh )
- doca_error_t ( *mkey_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, int seg, size_t* len, void* *rkey )
- doca_error_t ( *seg_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, uint64_t va, int* seg )
Variables
- doca_error_t ( *urom_domain_lookups_iface::addr_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, void* *addr )
Domain address lookup function.
- doca_error_t ( *urom_domain_lookups_iface::memh_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, int seg, size_t* len, void* *memh )
Domain memory handle lookup function.
- doca_error_t ( *urom_domain_lookups_iface::mkey_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, int seg, size_t* len, void* *rkey )
Domain memory key lookup function.
- doca_error_t ( *urom_domain_lookups_iface::seg_lookup )( urom_worker_ctx* ctx, uint64_t domain_id, uint64_t va, int* seg )
Domain memory segment lookup function.
[DOCA UROM Plugins]
Public Variables
- DOCA_STRUCT_START
- doca_error_t ( *addr )( urom_worker_ctx* ctx, void* addr, size_t* addr_len )
- void ( *close )( urom_worker_ctx* ctx )
- doca_error_t ( *notif_pack )( urom_worker_notify* notif, size_t* packed_notif_len, void* packed_notif )
- doca_error_t ( *open )( urom_worker_ctx* ctx )
- doca_error_t ( *progress )( urom_worker_ctx* ctx, ucs_list_link_t* notif_list )
- doca_error_t ( *worker_cmd )( urom_worker_ctx* ctx, ucs_list_link_t* cmd_list )
Variables
- urom_plugin_iface::DOCA_STRUCT_START [inherited]
Store which DOCA API version the plugin is compiled with.
- doca_error_t ( *urom_plugin_iface::addr )( urom_worker_ctx* ctx, void* addr, size_t* addr_len )
Return address of worker component.
- void ( *urom_plugin_iface::close )( urom_worker_ctx* ctx )
Close worker plugin context.
- doca_error_t ( *urom_plugin_iface::notif_pack )( urom_worker_notify* notif, size_t* packed_notif_len, void* packed_notif )
Pack a worker notification before sending on the wire.
- doca_error_t ( *urom_plugin_iface::open )( urom_worker_ctx* ctx )
Open worker plugin context, including resources initialization.
- doca_error_t ( *urom_plugin_iface::progress )( urom_worker_ctx* ctx, ucs_list_link_t* notif_list )
Progress the worker component and add notifications to the end of notif_list.
Caller is responsible to free each entry in notif_list.
Note:: if there is no notification should return DOCA_ERROR_EMPTY
- doca_error_t ( *urom_plugin_iface::worker_cmd )( urom_worker_ctx* ctx, ucs_list_link_t* cmd_list )
Process worker commands.
Worker is responsible to free each entry removed from cmd_list. Entries are of type struct urom_cmd_desc.
[DOCA UROM Plugins]
Public Variables
- uint64_t len
- uint8_t plugin_cmd[]
- uint64_t type
- uint64_t urom_context
Variables
- uint64_t urom_worker_cmd::len [inherited]
Plugin command length
- uint8_t urom_worker_cmd::plugin_cmd[] [inherited]
Plugin command buffer
- uint64_t urom_worker_cmd::type [inherited]
Plugin type that command belongs to
- uint64_t urom_worker_cmd::urom_context [inherited]
UROM context, User shouldn't change it
[DOCA UROM Plugins]
Public Variables
- uint64_t dest_id
- ucs_list_link_t entry
- struct urom_worker_cmd worker_cmd
Variables
- uint64_t urom_worker_cmd_desc::dest_id [inherited]
Worker communication channel ID
- ucs_list_link_t urom_worker_cmd_desc::entry [inherited]
Descriptor entry in linked list
- struct urom_worker_cmdurom_worker_cmd_desc::worker_cmd [inherited]
UROM worker command
[DOCA UROM Plugins]
Public Variables
- struct urom_domain_lookups_iface domain_iface
- struct urom_plugin_iface iface
- void * plugin_ctx
Variables
- struct urom_domain_lookups_ifaceurom_worker_ctx::domain_iface [inherited]
Worker domain lookups interface
- struct urom_plugin_ifaceurom_worker_ctx::iface [inherited]
Worker plugin interface
- void * urom_worker_ctx::plugin_ctx [inherited]
Worker plugin context
[DOCA UROM Plugins]
Public Variables
- uint64_t dest_id
- ucs_list_link_t entry
- struct urom_worker_notify worker_notif
Variables
- uint64_t urom_worker_notif_desc::dest_id [inherited]
Worker communication channel ID, it's the user's responsibility to set it to be identical to the command descriptor id
- ucs_list_link_t urom_worker_notif_desc::entry [inherited]
Descriptor entry in linked list
- struct urom_worker_notifyurom_worker_notif_desc::worker_notif [inherited]
UROM worker notification
[DOCA UROM Plugins]
Public Variables
- uint64_t len
- uint8_t plugin_notif[]
- uint32_t reserved
- doca_error_t status
- uint64_t type
- uint64_t urom_context
Variables
- uint64_t urom_worker_notify::len [inherited]
Plugin notification length
- uint8_t urom_worker_notify::plugin_notif[] [inherited]
Plugin notification buffer
- uint32_t urom_worker_notify::reserved [inherited]
Reserved 4 bytes to align status address with 64 bits
- doca_error_turom_worker_notify::status [inherited]
Notification status in DOCA terms
- uint64_t urom_worker_notify::type [inherited]
Plugin type that notification belongs to
- uint64_t urom_worker_notify::urom_context [inherited]
UROM context, it's the user's responsibility to set it to be identical to the command context