FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
sess_mgmt_node.c File Reference
+ Include dependency graph for sess_mgmt_node.c:

Go to the source code of this file.

Macros

#define foreach_acl_fa_cleaner_error
 

Enumerations

enum  acl_fa_cleaner_error_t { ACL_FA_CLEANER_N_ERROR }
 

Functions

static_always_inline u8format_ip46_session_bihash_kv (u8 *s, va_list *args, int is_ip6)
 
static u8format_ip6_session_bihash_kv (u8 *s, va_list *args)
 
static u8format_ip4_session_bihash_kv (u8 *s, va_list *args)
 
static void acl_fa_verify_init_sessions (acl_main_t *am)
 
static u64 fa_session_get_list_timeout (acl_main_t *am, fa_session_t *sess)
 
static u64 acl_fa_get_list_head_expiry_time (acl_main_t *am, acl_fa_per_worker_data_t *pw, u64 now, u16 thread_index, int timeout_type)
 
static int acl_fa_conn_time_to_check (acl_main_t *am, acl_fa_per_worker_data_t *pw, u64 now, u16 thread_index, u32 session_index)
 
static int acl_fa_check_idle_sessions (acl_main_t *am, u16 thread_index, u64 now)
 
static void send_one_worker_interrupt (vlib_main_t *vm, acl_main_t *am, int thread_index)
 
void aclp_post_session_change_request (acl_main_t *am, u32 target_thread, u32 target_session, u32 request_type)
 
void aclp_swap_wip_and_pending_session_change_requests (acl_main_t *am, u32 target_thread)
 
static int purgatory_has_connections (vlib_main_t *vm, acl_main_t *am, int thread_index)
 
static uword acl_fa_worker_conn_cleaner_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static void send_interrupts_to_workers (vlib_main_t *vm, acl_main_t *am)
 
static uword acl_fa_session_cleaner_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
void acl_fa_enable_disable (u32 sw_if_index, int is_input, int enable_disable)
 
void show_fa_sessions_hash (vlib_main_t *vm, u32 verbose)
 

Variables

static char * acl_fa_cleaner_error_strings []
 
static vlib_node_registration_t acl_fa_session_cleaner_process_node
 (constructor) VLIB_REGISTER_NODE (acl_fa_session_cleaner_process_node) More...
 
static vlib_node_registration_t acl_fa_worker_session_cleaner_process_node
 (constructor) VLIB_REGISTER_NODE (acl_fa_worker_session_cleaner_process_node) More...
 

Macro Definition Documentation

◆ foreach_acl_fa_cleaner_error

#define foreach_acl_fa_cleaner_error
Value:
_(UNKNOWN_EVENT, "unknown event received") \
/* end of errors */

Definition at line 334 of file sess_mgmt_node.c.

Enumeration Type Documentation

◆ acl_fa_cleaner_error_t

Enumerator
ACL_FA_CLEANER_N_ERROR 

Definition at line 338 of file sess_mgmt_node.c.

Function Documentation

◆ acl_fa_check_idle_sessions()

static int acl_fa_check_idle_sessions ( acl_main_t am,
u16  thread_index,
u64  now 
)
static

Definition at line 166 of file sess_mgmt_node.c.

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

◆ acl_fa_conn_time_to_check()

static int acl_fa_conn_time_to_check ( acl_main_t am,
acl_fa_per_worker_data_t pw,
u64  now,
u16  thread_index,
u32  session_index 
)
static

Definition at line 148 of file sess_mgmt_node.c.

+ Here is the call graph for this function:

◆ acl_fa_enable_disable()

void acl_fa_enable_disable ( u32  sw_if_index,
int  is_input,
int  enable_disable 
)

Definition at line 859 of file sess_mgmt_node.c.

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

◆ acl_fa_get_list_head_expiry_time()

static u64 acl_fa_get_list_head_expiry_time ( acl_main_t am,
acl_fa_per_worker_data_t pw,
u64  now,
u16  thread_index,
int  timeout_type 
)
static

Definition at line 140 of file sess_mgmt_node.c.

+ Here is the caller graph for this function:

◆ acl_fa_session_cleaner_process()

static uword acl_fa_session_cleaner_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 576 of file sess_mgmt_node.c.

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

◆ acl_fa_verify_init_sessions()

static void acl_fa_verify_init_sessions ( acl_main_t am)
static

Definition at line 86 of file sess_mgmt_node.c.

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

◆ acl_fa_worker_conn_cleaner_process()

static uword acl_fa_worker_conn_cleaner_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 431 of file sess_mgmt_node.c.

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

◆ aclp_post_session_change_request()

void aclp_post_session_change_request ( acl_main_t am,
u32  target_thread,
u32  target_session,
u32  request_type 
)

Definition at line 377 of file sess_mgmt_node.c.

+ Here is the call graph for this function:

◆ aclp_swap_wip_and_pending_session_change_requests()

void aclp_swap_wip_and_pending_session_change_requests ( acl_main_t am,
u32  target_thread 
)

Definition at line 401 of file sess_mgmt_node.c.

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

◆ fa_session_get_list_timeout()

static u64 fa_session_get_list_timeout ( acl_main_t am,
fa_session_t sess 
)
static

Definition at line 130 of file sess_mgmt_node.c.

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

◆ format_ip46_session_bihash_kv()

static_always_inline u8* format_ip46_session_bihash_kv ( u8 s,
va_list *  args,
int  is_ip6 
)

Definition at line 36 of file sess_mgmt_node.c.

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

◆ format_ip4_session_bihash_kv()

static u8* format_ip4_session_bihash_kv ( u8 s,
va_list *  args 
)
static

Definition at line 79 of file sess_mgmt_node.c.

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

◆ format_ip6_session_bihash_kv()

static u8* format_ip6_session_bihash_kv ( u8 s,
va_list *  args 
)
static

Definition at line 73 of file sess_mgmt_node.c.

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

◆ purgatory_has_connections()

static int purgatory_has_connections ( vlib_main_t vm,
acl_main_t am,
int  thread_index 
)
static

Definition at line 415 of file sess_mgmt_node.c.

+ Here is the caller graph for this function:

◆ send_interrupts_to_workers()

static void send_interrupts_to_workers ( vlib_main_t vm,
acl_main_t am 
)
static

Definition at line 563 of file sess_mgmt_node.c.

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

◆ send_one_worker_interrupt()

static void send_one_worker_interrupt ( vlib_main_t vm,
acl_main_t am,
int  thread_index 
)
static

Definition at line 358 of file sess_mgmt_node.c.

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

◆ show_fa_sessions_hash()

void show_fa_sessions_hash ( vlib_main_t vm,
u32  verbose 
)

Definition at line 920 of file sess_mgmt_node.c.

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

Variable Documentation

◆ acl_fa_cleaner_error_strings

char* acl_fa_cleaner_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_acl_fa_cleaner_error

Definition at line 346 of file sess_mgmt_node.c.

◆ acl_fa_session_cleaner_process_node

static vlib_node_registration_t acl_fa_session_cleaner_process_node
static
Initial value:
= {
.name = "acl-plugin-fa-cleaner-process",
.error_strings = acl_fa_cleaner_error_strings,
.n_next_nodes = 0,
.next_nodes = {},
}
static char * acl_fa_cleaner_error_strings[]
#define ARRAY_LEN(x)
Definition: clib.h:67
static uword acl_fa_session_cleaner_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)

(constructor) VLIB_REGISTER_NODE (acl_fa_session_cleaner_process_node)

Definition at line 354 of file sess_mgmt_node.c.

◆ acl_fa_worker_session_cleaner_process_node

static vlib_node_registration_t acl_fa_worker_session_cleaner_process_node
static
Initial value:
= {
.name = "acl-plugin-fa-worker-cleaner-process",
.state = VLIB_NODE_STATE_INTERRUPT,
}
static uword acl_fa_worker_conn_cleaner_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)

(constructor) VLIB_REGISTER_NODE (acl_fa_worker_session_cleaner_process_node)

Definition at line 355 of file sess_mgmt_node.c.