NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
simple_fwd_ft.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <sys/types.h>
#include <rte_mbuf.h>
#include "simple_fwd_pkt.h"
Include dependency graph for simple_fwd_ft.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  simple_fwd_ft_user_ctx
 
struct  simple_fwd_ft_entry
 

Macros

#define simple_fwd_ft_key_get_ipv4_src(inner, pinfo)    (inner ? simple_fwd_pinfo_inner_ipv4_src(pinfo) : simple_fwd_pinfo_outer_ipv4_src(pinfo))
 
#define simple_fwd_ft_key_get_ipv4_dst(inner, pinfo)    (inner ? simple_fwd_pinfo_inner_ipv4_dst(pinfo) : simple_fwd_pinfo_outer_ipv4_dst(pinfo))
 
#define simple_fwd_ft_key_get_src_port(inner, pinfo)    (inner ? simple_fwd_pinfo_inner_src_port(pinfo) : simple_fwd_pinfo_outer_src_port(pinfo))
 
#define simple_fwd_ft_key_get_dst_port(inner, pinfo)    (inner ? simple_fwd_pinfo_inner_dst_port(pinfo) : simple_fwd_pinfo_outer_dst_port(pinfo))
 

Functions

 LIST_HEAD (simple_fwd_ft_entry_head, simple_fwd_ft_entry)
 
struct simple_fwd_ftsimple_fwd_ft_create (int nb_flows, uint32_t user_data_size, void(*simple_fwd_aging_cb)(struct simple_fwd_ft_user_ctx *ctx), void(*simple_fwd_aging_hw_cb)(void), bool age_thread)
 
doca_error_t simple_fwd_ft_destroy (struct simple_fwd_ft *ft)
 
doca_error_t simple_fwd_ft_add_new (struct simple_fwd_ft *ft, struct simple_fwd_pkt_info *pinfo, struct simple_fwd_ft_user_ctx **ctx)
 
doca_error_t simple_fwd_ft_find (struct simple_fwd_ft *ft, struct simple_fwd_pkt_info *pinfo, struct simple_fwd_ft_user_ctx **ctx)
 
void simple_fwd_ft_destroy_entry (struct simple_fwd_ft *ft, struct simple_fwd_ft_entry *ft_entry)
 
void simple_fwd_ft_update_age_sec (struct simple_fwd_ft_entry *e, uint32_t age_sec)
 
void simple_fwd_ft_update_expiration (struct simple_fwd_ft_entry *e)
 

Macro Definition Documentation

◆ simple_fwd_ft_key_get_dst_port

#define simple_fwd_ft_key_get_dst_port (   inner,
  pinfo 
)     (inner ? simple_fwd_pinfo_inner_dst_port(pinfo) : simple_fwd_pinfo_outer_dst_port(pinfo))

Definition at line 74 of file simple_fwd_ft.h.

◆ simple_fwd_ft_key_get_ipv4_dst

#define simple_fwd_ft_key_get_ipv4_dst (   inner,
  pinfo 
)     (inner ? simple_fwd_pinfo_inner_ipv4_dst(pinfo) : simple_fwd_pinfo_outer_ipv4_dst(pinfo))

Definition at line 66 of file simple_fwd_ft.h.

◆ simple_fwd_ft_key_get_ipv4_src

#define simple_fwd_ft_key_get_ipv4_src (   inner,
  pinfo 
)     (inner ? simple_fwd_pinfo_inner_ipv4_src(pinfo) : simple_fwd_pinfo_outer_ipv4_src(pinfo))

Definition at line 62 of file simple_fwd_ft.h.

◆ simple_fwd_ft_key_get_src_port

#define simple_fwd_ft_key_get_src_port (   inner,
  pinfo 
)     (inner ? simple_fwd_pinfo_inner_src_port(pinfo) : simple_fwd_pinfo_outer_src_port(pinfo))

Definition at line 70 of file simple_fwd_ft.h.

Function Documentation

◆ LIST_HEAD()

LIST_HEAD ( simple_fwd_ft_entry_head  ,
simple_fwd_ft_entry   
)

◆ simple_fwd_ft_add_new()

doca_error_t simple_fwd_ft_add_new ( struct simple_fwd_ft ft,
struct simple_fwd_pkt_info pinfo,
struct simple_fwd_ft_user_ctx **  ctx 
)

Definition at line 361 of file simple_fwd_ft.c.

◆ simple_fwd_ft_create()

struct simple_fwd_ft* simple_fwd_ft_create ( int  nb_flows,
uint32_t  user_data_size,
void(*)(struct simple_fwd_ft_user_ctx *ctx simple_fwd_aging_cb,
void(*)(void)  simple_fwd_aging_hw_cb,
bool  age_thread 
)

Definition at line 264 of file simple_fwd_ft.c.

◆ simple_fwd_ft_destroy()

doca_error_t simple_fwd_ft_destroy ( struct simple_fwd_ft ft)

Definition at line 404 of file simple_fwd_ft.c.

◆ simple_fwd_ft_destroy_entry()

void simple_fwd_ft_destroy_entry ( struct simple_fwd_ft ft,
struct simple_fwd_ft_entry ft_entry 
)

Definition at line 117 of file simple_fwd_ft.c.

◆ simple_fwd_ft_find()

doca_error_t simple_fwd_ft_find ( struct simple_fwd_ft ft,
struct simple_fwd_pkt_info pinfo,
struct simple_fwd_ft_user_ctx **  ctx 
)

Definition at line 336 of file simple_fwd_ft.c.

◆ simple_fwd_ft_update_age_sec()

void simple_fwd_ft_update_age_sec ( struct simple_fwd_ft_entry e,
uint32_t  age_sec 
)

Definition at line 73 of file simple_fwd_ft.c.

◆ simple_fwd_ft_update_expiration()

void simple_fwd_ft_update_expiration ( struct simple_fwd_ft_entry e)

Definition at line 78 of file simple_fwd_ft.c.