FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
session_table.h File Reference
+ Include dependency graph for session_table.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SESSION_TABLE_INVALID_INDEX   ((u32)~0)
 
#define SESSION_LOCAL_TABLE_PREFIX   ((u32)~0)
 
#define SESSION_INVALID_INDEX   ((u32)~0)
 
#define SESSION_INVALID_HANDLE   ((u64)~0)
 
#define SESSION_DROP_HANDLE   (((u64)~0) - 1)
 
#define session_table_foreach(VAR, BODY)   pool_foreach(VAR, _get_session_tables (), BODY)
 

Typedefs

typedef struct _session_lookup_table session_table_t
 
typedef int(* ip4_session_table_walk_fn_t) (clib_bihash_kv_16_8_t *kvp, void *ctx)
 

Functions

void ip4_session_table_walk_cb (clib_bihash_kv_16_8_t *kvp, void *arg)
 
void ip4_session_table_walk (clib_bihash_16_8_t *hash, ip4_session_table_walk_fn_t fn, void *arg)
 
session_table_tsession_table_alloc (void)
 
session_table_tsession_table_get (u32 table_index)
 
u32 session_table_index (session_table_t *slt)
 
void session_table_init (session_table_t *slt, u8 fib_proto)
 Initialize session table hash tables. More...
 

Macro Definition Documentation

◆ SESSION_DROP_HANDLE

#define SESSION_DROP_HANDLE   (((u64)~0) - 1)

Definition at line 60 of file session_table.h.

◆ SESSION_INVALID_HANDLE

#define SESSION_INVALID_HANDLE   ((u64)~0)

Definition at line 59 of file session_table.h.

◆ SESSION_INVALID_INDEX

#define SESSION_INVALID_INDEX   ((u32)~0)

Definition at line 58 of file session_table.h.

◆ SESSION_LOCAL_TABLE_PREFIX

#define SESSION_LOCAL_TABLE_PREFIX   ((u32)~0)

Definition at line 57 of file session_table.h.

◆ session_table_foreach

#define session_table_foreach (   VAR,
  BODY 
)    pool_foreach(VAR, _get_session_tables (), BODY)

Definition at line 77 of file session_table.h.

◆ SESSION_TABLE_INVALID_INDEX

#define SESSION_TABLE_INVALID_INDEX   ((u32)~0)

Definition at line 56 of file session_table.h.

Typedef Documentation

◆ ip4_session_table_walk_fn_t

typedef int(* ip4_session_table_walk_fn_t) (clib_bihash_kv_16_8_t *kvp, void *ctx)

Definition at line 62 of file session_table.h.

◆ session_table_t

typedef struct _session_lookup_table session_table_t

Function Documentation

◆ ip4_session_table_walk()

void ip4_session_table_walk ( clib_bihash_16_8_t *  hash,
ip4_session_table_walk_fn_t  fn,
void *  arg 
)

Definition at line 124 of file session_table.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip4_session_table_walk_cb()

void ip4_session_table_walk_cb ( clib_bihash_kv_16_8_t kvp,
void *  arg 
)

Definition at line 117 of file session_table.c.

+ Here is the caller graph for this function:

◆ session_table_alloc()

session_table_t* session_table_alloc ( void  )

Definition at line 31 of file session_table.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ session_table_get()

session_table_t* session_table_get ( u32  table_index)

Definition at line 46 of file session_table.c.

+ Here is the caller graph for this function:

◆ session_table_index()

u32 session_table_index ( session_table_t slt)

Definition at line 40 of file session_table.c.

+ Here is the caller graph for this function:

◆ session_table_init()

void session_table_init ( session_table_t slt,
u8  fib_proto 
)

Initialize session table hash tables.

If vpp configured with set of table parameters it uses them, otherwise it uses defaults above.

Definition at line 70 of file session_table.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: