NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
upf_accel_flow_processing.c File Reference
#include <rte_cycles.h>
#include <rte_ethdev.h>
#include <rte_ether.h>
#include <rte_gtp.h>
#include <rte_ip.h>
#include <rte_mbuf.h>
#include <rte_tcp.h>
#include <rte_udp.h>
#include <doca_bitfield.h>
#include <doca_flow_net.h>
#include <doca_log.h>
#include "upf_accel.h"
#include "upf_accel_flow_processing.h"
Include dependency graph for upf_accel_flow_processing.c:

Go to the source code of this file.

Data Structures

struct  upf_accel_fp_burst_ctx
 

Macros

#define UPF_ACCEL_MAX_PKT_BURST   32
 
#define UPF_ACCEL_MAX_NUM_AGING   (UPF_ACCEL_MAX_PKT_BURST * 2)
 
#define UPF_ACCEL_DOCA_FLOW_MAX_TIMEOUT_US   (0)
 

Functions

struct upf_accel_fp_burst_ctx __rte_aligned (RTE_CACHE_LINE_SIZE)
 
 DOCA_LOG_REGISTER (UPF_ACCEL::FLOW_PROCESSING)
 
static enum parser_pkt_type upf_accel_fp_get_opposite_pkt_type (enum parser_pkt_type pkt_type)
 
static doca_error_t upf_accel_fp_delete_flow (struct upf_accel_fp_data *fp_data, struct upf_accel_dyn_entry_ctx *dyn_ctx, enum parser_pkt_type pkt_type)
 
static void upf_accel_dyn_entry_cb (struct upf_accel_dyn_entry_ctx *dyn_ctx, struct doca_flow_pipe_entry *entry, uint16_t pipe_queue, enum doca_flow_entry_status status, enum doca_flow_entry_op op)
 
static void upf_accel_static_entry_cb (struct upf_accel_static_entry_ctx *static_ctx, enum doca_flow_entry_status status, enum doca_flow_entry_op op)
 
void upf_accel_check_for_valid_entry_aging (struct doca_flow_pipe_entry *entry, uint16_t pipe_queue, enum doca_flow_entry_status status, enum doca_flow_entry_op op, void *user_ctx)
 
void upf_accel_sw_aging_ll_init (struct upf_accel_fp_data *fp_data, enum parser_pkt_type pkt_type)
 
static void upf_accel_sw_aging_ll_node_init (struct upf_accel_entry_ctx *conn, enum parser_pkt_type pkt_type)
 
static bool upf_accel_sw_aging_ll_node_is_valid (int32_t node_idx)
 
static bool upf_accel_sw_aging_ll_node_exist (struct upf_accel_fp_data *fp_data, struct upf_accel_entry_ctx *conn, enum parser_pkt_type pkt_type)
 
static bool upf_accel_sw_aging_ll_node_remove (struct upf_accel_fp_data *fp_data, struct upf_accel_entry_ctx *conn, enum parser_pkt_type pkt_type)
 
static void upf_accel_sw_aging_ll_node_insert (struct upf_accel_fp_data *fp_data, struct upf_accel_entry_ctx *conn, enum parser_pkt_type pkt_type)
 
static void upf_accel_sw_aging_ll_node_move_to_head (struct upf_accel_fp_data *fp_data, struct upf_accel_entry_ctx *conn, enum parser_pkt_type pkt_type)
 
static void upf_accel_sw_aging_ll_scan (struct upf_accel_fp_data *fp_data, enum parser_pkt_type pkt_type)
 
static bool upf_accel_flow_is_alive (enum upf_accel_flow_status flow_status)
 
static uint32_t ipv4_netmask_get (uint8_t mask)
 
static bool ipv4_masked_is_matching (const struct upf_accel_ip_addr *masked, uint32_t ipv4)
 
static doca_error_t upf_accel_5t_match (struct conn_parser_ctx *parse_ctx, uint32_t *src_ip, uint32_t *dst_ip, uint16_t *src_port, uint16_t *dst_port, uint8_t *ip_proto)
 
static doca_error_t upf_accel_gtpu_match (struct tun_parser_ctx *tun_parse_ctx, struct upf_accel_match_8t *match)
 
static doca_error_t upf_accel_ran_match (uint8_t *data, uint8_t *data_end, struct tun_parser_ctx *parse_ctx, struct upf_accel_match_8t *match)
 
static doca_error_t upf_accel_wan_match (uint8_t *data, uint8_t *data_end, struct conn_parser_ctx *parse_ctx, struct upf_accel_match_5t *match)
 
static bool upf_accel_pdr_tunnel_is_matching (const struct upf_accel_pdr *pdr, const struct upf_accel_match_tun *match)
 
static bool upf_accel_pdr_tuple_is_matching (const struct upf_accel_pdr *pdr, const struct upf_accel_match_5t *match)
 
static const struct upf_accel_pdrupf_accel_ran_pdr_lookup (const struct upf_accel_pdrs *pdrs, const struct upf_accel_match_8t *match)
 
static void upf_accel_decap (struct rte_mbuf *pkt, struct tun_parser_ctx *parse_ctx)
 
static const struct upf_accel_pdrupf_accel_wan_pdr_lookup (const struct upf_accel_pdrs *pdrs, const struct upf_accel_match_5t *match)
 
static doca_error_t upf_accel_pipe_8t_accel (struct upf_accel_ctx *ctx, enum upf_accel_port port_id, uint16_t queue_id, struct upf_accel_match_8t *match, uint32_t pdr_id, struct upf_accel_entry_ctx *entry_ctx, struct doca_flow_pipe_entry **entry)
 
static doca_error_t upf_accel_pipe_5t_accel (struct upf_accel_ctx *ctx, enum upf_accel_port port_id, uint16_t queue_id, struct upf_accel_match_5t *match, uint32_t pdr_id, struct upf_accel_entry_ctx *entry_ctx, struct doca_flow_pipe_entry **entry)
 
static doca_error_t upf_accel_fp_pkt_match (enum parser_pkt_type pkt_type, struct rte_mbuf *pkt, struct upf_accel_match_8t *match, struct tun_parser_ctx *parse_ctx)
 
static enum parser_pkt_type upf_accel_fp_fetch_pkt_type (const struct rte_mbuf *pkt)
 
static void upf_accel_fp_pkts_match (struct upf_accel_fp_burst_ctx *burst_ctx, struct upf_accel_match_8t match_mem[])
 
static bool upf_accel_fp_tunnel_eq (struct upf_accel_match_tun *tunnel1, struct upf_accel_match_tun *tunnel2)
 
static doca_error_t upf_accel_fp_pdr_lookup (struct upf_accel_fp_data *fp_data, enum parser_pkt_type pkt_type, struct upf_accel_match_8t *match, const struct upf_accel_pdr **pdr_out)
 
static doca_error_t upf_accel_fp_conn_lookup (struct upf_accel_fp_data *fp_data, enum parser_pkt_type pkt_type, struct upf_accel_match_8t *match, int32_t conn_idx, struct upf_accel_entry_ctx **conn_out)
 
static void upf_accel_fp_conns_lookup (struct upf_accel_fp_data *fp_data, struct upf_accel_fp_burst_ctx *burst_ctx)
 
static doca_error_t upf_accel_fp_flow_accel (struct upf_accel_fp_data *fp_data, enum upf_accel_port port_id, enum parser_pkt_type pkt_type, struct upf_accel_match_8t *match, struct upf_accel_entry_ctx *conn)
 
static void upf_accel_packet_byte_counter_inc (struct upf_accel_packet_byte_counter *ctr, struct rte_mbuf *pkt)
 
static void upf_accel_fp_flows_accel (struct upf_accel_fp_data *fp_data, enum upf_accel_port rx_port_id, struct upf_accel_fp_burst_ctx *burst_ctx)
 
static void upf_accel_fp_pkt_err_drop (struct upf_accel_fp_data *fp_data, struct rte_mbuf *pkt)
 
static void upf_accel_md_set (struct rte_mbuf *pkt, uint32_t md)
 
static bool is_flow_unaccelerated (enum parser_pkt_type pkt_type, struct upf_accel_entry_ctx *conn)
 
static void upf_accel_fp_burst_postprocess (struct upf_accel_fp_data *fp_data, struct upf_accel_fp_burst_ctx *burst_ctx)
 
static void upf_accel_aging_init (struct upf_accel_fp_data *fp_data)
 
static doca_error_t upf_accel_hw_aging_poll (struct upf_accel_fp_data *fp_data, enum upf_accel_port port_id)
 
static void upf_accel_fp_run_port (struct upf_accel_fp_data *fp_data, enum upf_accel_port rx_port_id, enum upf_accel_port tx_port_id)
 
static void upf_accel_fp_run (struct upf_accel_fp_data *fp_data)
 
static doca_error_t handle_exceeds_quota_for_pdr (struct upf_accel_ctx *ctx, uint16_t pdr_id, struct doca_flow_resource_query *query)
 
static doca_error_t handle_exceeds_quotas (struct upf_accel_fp_data *fp_data)
 
void upf_accel_fp_loop (struct upf_accel_fp_data *fp_data)
 

Variables

struct rte_mbuf * rx_pkts [UPF_ACCEL_MAX_PKT_BURST]
 
struct rte_mbuf * tx_pkts [UPF_ACCEL_MAX_PKT_BURST]
 
struct upf_accel_match_8tmatches [UPF_ACCEL_MAX_PKT_BURST]
 
struct upf_accel_entry_ctxconns [UPF_ACCEL_MAX_PKT_BURST]
 
struct tun_parser_ctx parse_ctxs [UPF_ACCEL_MAX_PKT_BURST]
 
enum parser_pkt_type pkts_type [UPF_ACCEL_MAX_PKT_BURST]
 
uint16_t rx_pkts_cnt
 
uint16_t tx_pkts_cnt
 
bool pkts_drop [UPF_ACCEL_MAX_PKT_BURST]
 

Macro Definition Documentation

◆ UPF_ACCEL_DOCA_FLOW_MAX_TIMEOUT_US

#define UPF_ACCEL_DOCA_FLOW_MAX_TIMEOUT_US   (0)

Definition at line 46 of file upf_accel_flow_processing.c.

◆ UPF_ACCEL_MAX_NUM_AGING

#define UPF_ACCEL_MAX_NUM_AGING   (UPF_ACCEL_MAX_PKT_BURST * 2)

Definition at line 44 of file upf_accel_flow_processing.c.

◆ UPF_ACCEL_MAX_PKT_BURST

#define UPF_ACCEL_MAX_PKT_BURST   32

Definition at line 42 of file upf_accel_flow_processing.c.

Function Documentation

◆ __rte_aligned()

struct upf_accel_fp_burst_ctx __rte_aligned ( RTE_CACHE_LINE_SIZE  )

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( UPF_ACCEL::FLOW_PROCESSING  )

◆ handle_exceeds_quota_for_pdr()

static doca_error_t handle_exceeds_quota_for_pdr ( struct upf_accel_ctx ctx,
uint16_t  pdr_id,
struct doca_flow_resource_query query 
)
static

Definition at line 1373 of file upf_accel_flow_processing.c.

◆ handle_exceeds_quotas()

static doca_error_t handle_exceeds_quotas ( struct upf_accel_fp_data fp_data)
static

Definition at line 1401 of file upf_accel_flow_processing.c.

◆ ipv4_masked_is_matching()

static bool ipv4_masked_is_matching ( const struct upf_accel_ip_addr masked,
uint32_t  ipv4 
)
inlinestatic

Definition at line 439 of file upf_accel_flow_processing.c.

◆ ipv4_netmask_get()

static uint32_t ipv4_netmask_get ( uint8_t  mask)
inlinestatic

Definition at line 427 of file upf_accel_flow_processing.c.

◆ is_flow_unaccelerated()

static bool is_flow_unaccelerated ( enum parser_pkt_type  pkt_type,
struct upf_accel_entry_ctx conn 
)
static

Definition at line 1188 of file upf_accel_flow_processing.c.

◆ upf_accel_5t_match()

static doca_error_t upf_accel_5t_match ( struct conn_parser_ctx parse_ctx,
uint32_t *  src_ip,
uint32_t *  dst_ip,
uint16_t *  src_port,
uint16_t *  dst_port,
uint8_t *  ip_proto 
)
static

Definition at line 455 of file upf_accel_flow_processing.c.

◆ upf_accel_aging_init()

static void upf_accel_aging_init ( struct upf_accel_fp_data fp_data)
static

Definition at line 1253 of file upf_accel_flow_processing.c.

◆ upf_accel_check_for_valid_entry_aging()

void upf_accel_check_for_valid_entry_aging ( struct doca_flow_pipe_entry *  entry,
uint16_t  pipe_queue,
enum doca_flow_entry_status  status,
enum doca_flow_entry_op  op,
void *  user_ctx 
)

Definition at line 214 of file upf_accel_flow_processing.c.

◆ upf_accel_decap()

static void upf_accel_decap ( struct rte_mbuf *  pkt,
struct tun_parser_ctx parse_ctx 
)
static

Definition at line 653 of file upf_accel_flow_processing.c.

◆ upf_accel_dyn_entry_cb()

static void upf_accel_dyn_entry_cb ( struct upf_accel_dyn_entry_ctx dyn_ctx,
struct doca_flow_pipe_entry *  entry,
uint16_t  pipe_queue,
enum doca_flow_entry_status  status,
enum doca_flow_entry_op  op 
)
static

Definition at line 119 of file upf_accel_flow_processing.c.

◆ upf_accel_flow_is_alive()

static bool upf_accel_flow_is_alive ( enum upf_accel_flow_status  flow_status)
inlinestatic

Definition at line 416 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_burst_postprocess()

static void upf_accel_fp_burst_postprocess ( struct upf_accel_fp_data fp_data,
struct upf_accel_fp_burst_ctx burst_ctx 
)
static

Definition at line 1200 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_conn_lookup()

static doca_error_t upf_accel_fp_conn_lookup ( struct upf_accel_fp_data fp_data,
enum parser_pkt_type  pkt_type,
struct upf_accel_match_8t match,
int32_t  conn_idx,
struct upf_accel_entry_ctx **  conn_out 
)
static

Definition at line 941 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_conns_lookup()

static void upf_accel_fp_conns_lookup ( struct upf_accel_fp_data fp_data,
struct upf_accel_fp_burst_ctx burst_ctx 
)
static

Definition at line 1013 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_delete_flow()

static doca_error_t upf_accel_fp_delete_flow ( struct upf_accel_fp_data fp_data,
struct upf_accel_dyn_entry_ctx dyn_ctx,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 87 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_fetch_pkt_type()

static enum parser_pkt_type upf_accel_fp_fetch_pkt_type ( const struct rte_mbuf *  pkt)
static

Definition at line 823 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_flow_accel()

static doca_error_t upf_accel_fp_flow_accel ( struct upf_accel_fp_data fp_data,
enum upf_accel_port  port_id,
enum parser_pkt_type  pkt_type,
struct upf_accel_match_8t match,
struct upf_accel_entry_ctx conn 
)
static

Definition at line 1054 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_flows_accel()

static void upf_accel_fp_flows_accel ( struct upf_accel_fp_data fp_data,
enum upf_accel_port  rx_port_id,
struct upf_accel_fp_burst_ctx burst_ctx 
)
static

Definition at line 1121 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_get_opposite_pkt_type()

static enum parser_pkt_type upf_accel_fp_get_opposite_pkt_type ( enum parser_pkt_type  pkt_type)
static

Definition at line 63 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_loop()

void upf_accel_fp_loop ( struct upf_accel_fp_data fp_data)

Definition at line 1440 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_pdr_lookup()

static doca_error_t upf_accel_fp_pdr_lookup ( struct upf_accel_fp_data fp_data,
enum parser_pkt_type  pkt_type,
struct upf_accel_match_8t match,
const struct upf_accel_pdr **  pdr_out 
)
static

Definition at line 912 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_pkt_err_drop()

static void upf_accel_fp_pkt_err_drop ( struct upf_accel_fp_data fp_data,
struct rte_mbuf *  pkt 
)
static

Definition at line 1162 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_pkt_match()

static doca_error_t upf_accel_fp_pkt_match ( enum parser_pkt_type  pkt_type,
struct rte_mbuf *  pkt,
struct upf_accel_match_8t match,
struct tun_parser_ctx parse_ctx 
)
static

Definition at line 823 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_pkts_match()

static void upf_accel_fp_pkts_match ( struct upf_accel_fp_burst_ctx burst_ctx,
struct upf_accel_match_8t  match_mem[] 
)
static

Definition at line 873 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_run()

static void upf_accel_fp_run ( struct upf_accel_fp_data fp_data)
static

Definition at line 1357 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_run_port()

static void upf_accel_fp_run_port ( struct upf_accel_fp_data fp_data,
enum upf_accel_port  rx_port_id,
enum upf_accel_port  tx_port_id 
)
static

Definition at line 1312 of file upf_accel_flow_processing.c.

◆ upf_accel_fp_tunnel_eq()

static bool upf_accel_fp_tunnel_eq ( struct upf_accel_match_tun tunnel1,
struct upf_accel_match_tun tunnel2 
)
static

Definition at line 898 of file upf_accel_flow_processing.c.

◆ upf_accel_gtpu_match()

static doca_error_t upf_accel_gtpu_match ( struct tun_parser_ctx tun_parse_ctx,
struct upf_accel_match_8t match 
)
static

Definition at line 492 of file upf_accel_flow_processing.c.

◆ upf_accel_hw_aging_poll()

static doca_error_t upf_accel_hw_aging_poll ( struct upf_accel_fp_data fp_data,
enum upf_accel_port  port_id 
)
static

Definition at line 1270 of file upf_accel_flow_processing.c.

◆ upf_accel_md_set()

static void upf_accel_md_set ( struct rte_mbuf *  pkt,
uint32_t  md 
)
static

Definition at line 1174 of file upf_accel_flow_processing.c.

◆ upf_accel_packet_byte_counter_inc()

static void upf_accel_packet_byte_counter_inc ( struct upf_accel_packet_byte_counter ctr,
struct rte_mbuf *  pkt 
)
inlinestatic

Definition at line 1108 of file upf_accel_flow_processing.c.

◆ upf_accel_pdr_tunnel_is_matching()

static bool upf_accel_pdr_tunnel_is_matching ( const struct upf_accel_pdr pdr,
const struct upf_accel_match_tun match 
)
static

Definition at line 580 of file upf_accel_flow_processing.c.

◆ upf_accel_pdr_tuple_is_matching()

static bool upf_accel_pdr_tuple_is_matching ( const struct upf_accel_pdr pdr,
const struct upf_accel_match_5t match 
)
static

Definition at line 598 of file upf_accel_flow_processing.c.

◆ upf_accel_pipe_5t_accel()

static doca_error_t upf_accel_pipe_5t_accel ( struct upf_accel_ctx ctx,
enum upf_accel_port  port_id,
uint16_t  queue_id,
struct upf_accel_match_5t match,
uint32_t  pdr_id,
struct upf_accel_entry_ctx entry_ctx,
struct doca_flow_pipe_entry **  entry 
)
static

Definition at line 773 of file upf_accel_flow_processing.c.

◆ upf_accel_pipe_8t_accel()

static doca_error_t upf_accel_pipe_8t_accel ( struct upf_accel_ctx ctx,
enum upf_accel_port  port_id,
uint16_t  queue_id,
struct upf_accel_match_8t match,
uint32_t  pdr_id,
struct upf_accel_entry_ctx entry_ctx,
struct doca_flow_pipe_entry **  entry 
)
static

Definition at line 706 of file upf_accel_flow_processing.c.

◆ upf_accel_ran_match()

static doca_error_t upf_accel_ran_match ( uint8_t *  data,
uint8_t *  data_end,
struct tun_parser_ctx parse_ctx,
struct upf_accel_match_8t match 
)
static

Definition at line 531 of file upf_accel_flow_processing.c.

◆ upf_accel_ran_pdr_lookup()

static const struct upf_accel_pdr* upf_accel_ran_pdr_lookup ( const struct upf_accel_pdrs pdrs,
const struct upf_accel_match_8t match 
)
static

Definition at line 625 of file upf_accel_flow_processing.c.

◆ upf_accel_static_entry_cb()

static void upf_accel_static_entry_cb ( struct upf_accel_static_entry_ctx static_ctx,
enum doca_flow_entry_status  status,
enum doca_flow_entry_op  op 
)
static

Definition at line 195 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_init()

void upf_accel_sw_aging_ll_init ( struct upf_accel_fp_data fp_data,
enum parser_pkt_type  pkt_type 
)

Definition at line 231 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_exist()

static bool upf_accel_sw_aging_ll_node_exist ( struct upf_accel_fp_data fp_data,
struct upf_accel_entry_ctx conn,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 272 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_init()

static void upf_accel_sw_aging_ll_node_init ( struct upf_accel_entry_ctx conn,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 245 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_insert()

static void upf_accel_sw_aging_ll_node_insert ( struct upf_accel_fp_data fp_data,
struct upf_accel_entry_ctx conn,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 327 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_is_valid()

static bool upf_accel_sw_aging_ll_node_is_valid ( int32_t  node_idx)
static

Definition at line 259 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_move_to_head()

static void upf_accel_sw_aging_ll_node_move_to_head ( struct upf_accel_fp_data fp_data,
struct upf_accel_entry_ctx conn,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 363 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_node_remove()

static bool upf_accel_sw_aging_ll_node_remove ( struct upf_accel_fp_data fp_data,
struct upf_accel_entry_ctx conn,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 291 of file upf_accel_flow_processing.c.

◆ upf_accel_sw_aging_ll_scan()

static void upf_accel_sw_aging_ll_scan ( struct upf_accel_fp_data fp_data,
enum parser_pkt_type  pkt_type 
)
static

Definition at line 381 of file upf_accel_flow_processing.c.

◆ upf_accel_wan_match()

static doca_error_t upf_accel_wan_match ( uint8_t *  data,
uint8_t *  data_end,
struct conn_parser_ctx parse_ctx,
struct upf_accel_match_5t match 
)
static

Definition at line 554 of file upf_accel_flow_processing.c.

◆ upf_accel_wan_pdr_lookup()

static const struct upf_accel_pdr* upf_accel_wan_pdr_lookup ( const struct upf_accel_pdrs pdrs,
const struct upf_accel_match_5t match 
)
static

Definition at line 674 of file upf_accel_flow_processing.c.

Variable Documentation

◆ conns

Definition at line 3 of file upf_accel_flow_processing.c.

◆ matches

Definition at line 2 of file upf_accel_flow_processing.c.

◆ parse_ctxs

Definition at line 3 of file upf_accel_flow_processing.c.

◆ pkts_drop

Definition at line 8 of file upf_accel_flow_processing.c.

◆ pkts_type

Definition at line 3 of file upf_accel_flow_processing.c.

◆ rx_pkts

struct rte_mbuf* rx_pkts[UPF_ACCEL_MAX_PKT_BURST]

Definition at line 0 of file upf_accel_flow_processing.c.

◆ rx_pkts_cnt

uint16_t rx_pkts_cnt

Definition at line 6 of file upf_accel_flow_processing.c.

◆ tx_pkts

struct rte_mbuf* tx_pkts[UPF_ACCEL_MAX_PKT_BURST]

Definition at line 1 of file upf_accel_flow_processing.c.

◆ tx_pkts_cnt

uint16_t tx_pkts_cnt

Definition at line 7 of file upf_accel_flow_processing.c.