FD.io VPP  v18.11-rc0-18-g2a3fb1a
Vector Packet Processing
session_inlines.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static int acl_fa_ifc_has_sessions (acl_main_t *am, int sw_if_index0)
 
static int acl_fa_ifc_has_in_acl (acl_main_t *am, int sw_if_index0)
 
static int acl_fa_ifc_has_out_acl (acl_main_t *am, int sw_if_index0)
 
static int fa_session_get_timeout_type (acl_main_t *am, fa_session_t *sess)
 
static u64 fa_session_get_timeout (acl_main_t *am, fa_session_t *sess)
 
static fa_session_tget_session_ptr (acl_main_t *am, u16 thread_index, u32 session_index)
 
static int is_valid_session_ptr (acl_main_t *am, u16 thread_index, fa_session_t *sess)
 
static void acl_fa_conn_list_add_session (acl_main_t *am, fa_full_session_id_t sess_id, u64 now)
 
static int acl_fa_conn_list_delete_session (acl_main_t *am, fa_full_session_id_t sess_id, u64 now)
 
static int acl_fa_restart_timer_for_session (acl_main_t *am, u64 now, fa_full_session_id_t sess_id)
 
static int is_ip6_5tuple (fa_5tuple_t *p5t)
 
static u8 acl_fa_track_session (acl_main_t *am, int is_input, u32 sw_if_index, u64 now, fa_session_t *sess, fa_5tuple_t *pkt_5tuple)
 
static u64 reverse_l4_u64_fastpath (u64 l4, int is_ip6)
 
static u64 reverse_l4_u64_slowpath (u64 l4, int is_ip6)
 
static u64 reverse_l4_u64 (u64 l4, int is_ip6)
 
static void reverse_session_add_del_ip6 (acl_main_t *am, clib_bihash_kv_40_8_t *pkv, int is_add)
 
static void reverse_session_add_del_ip4 (acl_main_t *am, clib_bihash_kv_16_8_t *pkv, int is_add)
 
static void acl_fa_deactivate_session (acl_main_t *am, u32 sw_if_index, fa_full_session_id_t sess_id)
 
static void acl_fa_put_session (acl_main_t *am, u32 sw_if_index, fa_full_session_id_t sess_id)
 
static int acl_fa_two_stage_delete_session (acl_main_t *am, u32 sw_if_index, fa_full_session_id_t sess_id, u64 now)
 
static int acl_fa_can_add_session (acl_main_t *am, int is_input, u32 sw_if_index)
 
static void acl_fa_try_recycle_session (acl_main_t *am, int is_input, u16 thread_index, u32 sw_if_index, u64 now)
 
static fa_session_tacl_fa_add_session (acl_main_t *am, int is_input, int is_ip6, u32 sw_if_index, u64 now, fa_5tuple_t *p5tuple, u16 current_policy_epoch)
 
static int acl_fa_find_session (acl_main_t *am, int is_ip6, u32 sw_if_index0, fa_5tuple_t *p5tuple, u64 *pvalue_sess)
 

Variables

static const u8 icmp4_invmap []
 
static const u8 icmp4_valid_new []
 
static const u8 icmp6_invmap []
 
static const u8 icmp6_valid_new []
 
static u8 icmp_protos [] = { IP_PROTOCOL_ICMP, IP_PROTOCOL_ICMP6 }
 

Function Documentation

static fa_session_t* acl_fa_add_session ( acl_main_t am,
int  is_input,
int  is_ip6,
u32  sw_if_index,
u64  now,
fa_5tuple_t p5tuple,
u16  current_policy_epoch 
)
inlinestatic

Definition at line 510 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_can_add_session ( acl_main_t am,
int  is_input,
u32  sw_if_index 
)
inlinestatic

Definition at line 460 of file session_inlines.h.

+ Here is the caller graph for this function:

static void acl_fa_conn_list_add_session ( acl_main_t am,
fa_full_session_id_t  sess_id,
u64  now 
)
inlinestatic

Definition at line 144 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_conn_list_delete_session ( acl_main_t am,
fa_full_session_id_t  sess_id,
u64  now 
)
static

Definition at line 190 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_deactivate_session ( acl_main_t am,
u32  sw_if_index,
fa_full_session_id_t  sess_id 
)
inlinestatic

Definition at line 396 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_find_session ( acl_main_t am,
int  is_ip6,
u32  sw_if_index0,
fa_5tuple_t p5tuple,
u64 pvalue_sess 
)
inlinestatic

Definition at line 581 of file session_inlines.h.

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_in_acl ( acl_main_t am,
int  sw_if_index0 
)
inlinestatic

Definition at line 57 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_out_acl ( acl_main_t am,
int  sw_if_index0 
)
inlinestatic

Definition at line 64 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_sessions ( acl_main_t am,
int  sw_if_index0 
)
inlinestatic

Definition at line 51 of file session_inlines.h.

+ Here is the caller graph for this function:

static void acl_fa_put_session ( acl_main_t am,
u32  sw_if_index,
fa_full_session_id_t  sess_id 
)
inlinestatic

Definition at line 420 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_restart_timer_for_session ( acl_main_t am,
u64  now,
fa_full_session_id_t  sess_id 
)
inlinestatic

Definition at line 244 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 acl_fa_track_session ( acl_main_t am,
int  is_input,
u32  sw_if_index,
u64  now,
fa_session_t sess,
fa_5tuple_t pkt_5tuple 
)
inlinestatic

Definition at line 277 of file session_inlines.h.

+ Here is the caller graph for this function:

static void acl_fa_try_recycle_session ( acl_main_t am,
int  is_input,
u16  thread_index,
u32  sw_if_index,
u64  now 
)
inlinestatic

Definition at line 470 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_two_stage_delete_session ( acl_main_t am,
u32  sw_if_index,
fa_full_session_id_t  sess_id,
u64  now 
)
inlinestatic

Definition at line 441 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 fa_session_get_timeout ( acl_main_t am,
fa_session_t sess 
)
inlinestatic

Definition at line 102 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fa_session_get_timeout_type ( acl_main_t am,
fa_session_t sess 
)
inlinestatic

Definition at line 71 of file session_inlines.h.

+ Here is the caller graph for this function:

static fa_session_t* get_session_ptr ( acl_main_t am,
u16  thread_index,
u32  session_index 
)
inlinestatic

Definition at line 120 of file session_inlines.h.

+ Here is the caller graph for this function:

static int is_ip6_5tuple ( fa_5tuple_t p5t)
inlinestatic

Definition at line 266 of file session_inlines.h.

static int is_valid_session_ptr ( acl_main_t am,
u16  thread_index,
fa_session_t sess 
)
inlinestatic

Definition at line 135 of file session_inlines.h.

static u64 reverse_l4_u64 ( u64  l4,
int  is_ip6 
)
inlinestatic

Definition at line 353 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 reverse_l4_u64_fastpath ( u64  l4,
int  is_ip6 
)
inlinestatic

Definition at line 289 of file session_inlines.h.

+ Here is the caller graph for this function:

static u64 reverse_l4_u64_slowpath ( u64  l4,
int  is_ip6 
)
inlinestatic

Definition at line 303 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void reverse_session_add_del_ip4 ( acl_main_t am,
clib_bihash_kv_16_8_t pkv,
int  is_add 
)
inlinestatic

Definition at line 383 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void reverse_session_add_del_ip6 ( acl_main_t am,
clib_bihash_kv_40_8_t pkv,
int  is_add 
)
inlinestatic

Definition at line 368 of file session_inlines.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const u8 icmp4_invmap[]
static
Initial value:
= {
[ICMP4_echo_reply] = ICMP4_echo_request + 1,
[ICMP4_timestamp_reply] = ICMP4_timestamp_request + 1,
[ICMP4_information_reply] = ICMP4_information_request + 1,
[ICMP4_address_mask_reply] = ICMP4_address_mask_request + 1
}

Definition at line 18 of file session_inlines.h.

const u8 icmp4_valid_new[]
static
Initial value:
= {
[ICMP4_echo_request] = 1,
[ICMP4_timestamp_request] = 1,
[ICMP4_information_request] = 1,
[ICMP4_address_mask_request] = 1
}

Definition at line 26 of file session_inlines.h.

const u8 icmp6_invmap[]
static
Initial value:
= {
[ICMP6_echo_reply - 128] = ICMP6_echo_request + 1,
[ICMP6_node_information_response - 128] = ICMP6_node_information_request + 1
}

Definition at line 34 of file session_inlines.h.

const u8 icmp6_valid_new[]
static
Initial value:
= {
[ICMP6_echo_request - 128] = 1,
[ICMP6_node_information_request - 128] = 1
}

Definition at line 40 of file session_inlines.h.

u8 icmp_protos[] = { IP_PROTOCOL_ICMP, IP_PROTOCOL_ICMP6 }
static

Definition at line 46 of file session_inlines.h.