FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
gbp_itf.h File Reference
+ Include dependency graph for gbp_itf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gbp_itf_hdl_t_
 

Macros

#define foreach_gdb_l3_feature
 
#define GBP_ITF_L3_FEAT_LEARN   (GBP_ITF_L3_FEAT_LEARN_IP4|GBP_ITF_L3_FEAT_LEARN_IP6)
 
#define GBP_ITF_HDL_INIT   {.gh_which = ~0}
 

Typedefs

typedef enum gbp_itf_l3_feat_pos_t_ gbp_itf_l3_feat_pos_t
 
typedef enum gbp_itf_l3_feat_t_ gbp_itf_l3_feat_t
 
typedef struct gbp_itf_hdl_t_ gbp_itf_hdl_t
 
typedef void(* gbp_itf_free_fn_t) (u32 sw_if_index)
 

Enumerations

enum  gbp_itf_l3_feat_pos_t_ { foreach_gdb_l3_feature }
 
enum  gbp_itf_l3_feat_t_ { GBP_ITF_L3_FEAT_NONE, foreach_gdb_l3_feature }
 

Functions

void gbp_itf_hdl_reset (gbp_itf_hdl_t *gh)
 
bool gbp_itf_hdl_is_valid (gbp_itf_hdl_t gh)
 
gbp_itf_hdl_t gbp_itf_l2_add_and_lock (u32 sw_if_index, u32 bd_index)
 
gbp_itf_hdl_t gbp_itf_l3_add_and_lock (u32 sw_if_index, index_t gri)
 
gbp_itf_hdl_t gbp_itf_l2_add_and_lock_w_free (u32 sw_if_index, u32 bd_index, gbp_itf_free_fn_t ff)
 
gbp_itf_hdl_t gbp_itf_l3_add_and_lock_w_free (u32 sw_if_index, index_t gri, gbp_itf_free_fn_t ff)
 
void gbp_itf_unlock (gbp_itf_hdl_t *hdl)
 
void gbp_itf_lock (gbp_itf_hdl_t hdl)
 
gbp_itf_hdl_t gbp_itf_clone_and_lock (gbp_itf_hdl_t hdl)
 
u32 gbp_itf_get_sw_if_index (gbp_itf_hdl_t hdl)
 
void gbp_itf_l2_set_input_feature (gbp_itf_hdl_t hdl, l2input_feat_masks_t feats)
 
void gbp_itf_l2_set_output_feature (gbp_itf_hdl_t hdl, l2output_feat_masks_t feats)
 
void gbp_itf_l3_set_input_feature (gbp_itf_hdl_t hdl, gbp_itf_l3_feat_t feats)
 
u8format_gbp_itf_hdl (u8 *s, va_list *args)
 

Variables

static const gbp_itf_hdl_t GBP_ITF_HDL_INVALID = GBP_ITF_HDL_INIT
 

Macro Definition Documentation

◆ foreach_gdb_l3_feature

foreach_gdb_l3_feature
Value:
_(LEARN_IP4, "gbp-learn-ip4", "ip4-unicast") \
_(LEARN_IP6, "gbp-learn-ip6", "ip6-unicast")

Definition at line 23 of file gbp_itf.h.

◆ GBP_ITF_HDL_INIT

#define GBP_ITF_HDL_INIT   {.gh_which = ~0}

Definition at line 56 of file gbp_itf.h.

◆ GBP_ITF_L3_FEAT_LEARN

#define GBP_ITF_L3_FEAT_LEARN   (GBP_ITF_L3_FEAT_LEARN_IP4|GBP_ITF_L3_FEAT_LEARN_IP6)

Definition at line 42 of file gbp_itf.h.

Typedef Documentation

◆ gbp_itf_free_fn_t

typedef void(* gbp_itf_free_fn_t) (u32 sw_if_index)

Definition at line 62 of file gbp_itf.h.

◆ gbp_itf_hdl_t

typedef struct gbp_itf_hdl_t_ gbp_itf_hdl_t

◆ gbp_itf_l3_feat_pos_t

◆ gbp_itf_l3_feat_t

Enumeration Type Documentation

◆ gbp_itf_l3_feat_pos_t_

Enumerator
foreach_gdb_l3_feature 

Definition at line 27 of file gbp_itf.h.

◆ gbp_itf_l3_feat_t_

Enumerator
GBP_ITF_L3_FEAT_NONE 
foreach_gdb_l3_feature 

Definition at line 34 of file gbp_itf.h.

Function Documentation

◆ format_gbp_itf_hdl()

u8* format_gbp_itf_hdl ( u8 s,
va_list *  args 
)

Definition at line 520 of file gbp_itf.c.

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

◆ gbp_itf_clone_and_lock()

gbp_itf_hdl_t gbp_itf_clone_and_lock ( gbp_itf_hdl_t  hdl)

Definition at line 271 of file gbp_itf.c.

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

◆ gbp_itf_get_sw_if_index()

u32 gbp_itf_get_sw_if_index ( gbp_itf_hdl_t  hdl)

Definition at line 148 of file gbp_itf.c.

+ Here is the caller graph for this function:

◆ gbp_itf_hdl_is_valid()

bool gbp_itf_hdl_is_valid ( gbp_itf_hdl_t  gh)

Definition at line 114 of file gbp_itf.c.

+ Here is the caller graph for this function:

◆ gbp_itf_hdl_reset()

void gbp_itf_hdl_reset ( gbp_itf_hdl_t gh)

Definition at line 108 of file gbp_itf.c.

+ Here is the caller graph for this function:

◆ gbp_itf_l2_add_and_lock()

gbp_itf_hdl_t gbp_itf_l2_add_and_lock ( u32  sw_if_index,
u32  bd_index 
)

Definition at line 196 of file gbp_itf.c.

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

◆ gbp_itf_l2_add_and_lock_w_free()

gbp_itf_hdl_t gbp_itf_l2_add_and_lock_w_free ( u32  sw_if_index,
u32  bd_index,
gbp_itf_free_fn_t  ff 
)

Definition at line 202 of file gbp_itf.c.

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

◆ gbp_itf_l2_set_input_feature()

void gbp_itf_l2_set_input_feature ( gbp_itf_hdl_t  hdl,
l2input_feat_masks_t  feats 
)

Definition at line 382 of file gbp_itf.c.

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

◆ gbp_itf_l2_set_output_feature()

void gbp_itf_l2_set_output_feature ( gbp_itf_hdl_t  hdl,
l2output_feat_masks_t  feats 
)

Definition at line 428 of file gbp_itf.c.

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

◆ gbp_itf_l3_add_and_lock()

gbp_itf_hdl_t gbp_itf_l3_add_and_lock ( u32  sw_if_index,
index_t  gri 
)

Definition at line 245 of file gbp_itf.c.

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

◆ gbp_itf_l3_add_and_lock_w_free()

gbp_itf_hdl_t gbp_itf_l3_add_and_lock_w_free ( u32  sw_if_index,
index_t  gri,
gbp_itf_free_fn_t  ff 
)

Definition at line 251 of file gbp_itf.c.

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

◆ gbp_itf_l3_set_input_feature()

void gbp_itf_l3_set_input_feature ( gbp_itf_hdl_t  hdl,
gbp_itf_l3_feat_t  feats 
)

Definition at line 335 of file gbp_itf.c.

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

◆ gbp_itf_lock()

void gbp_itf_lock ( gbp_itf_hdl_t  hdl)

Definition at line 258 of file gbp_itf.c.

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

◆ gbp_itf_unlock()

void gbp_itf_unlock ( gbp_itf_hdl_t hdl)

Definition at line 286 of file gbp_itf.c.

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

Variable Documentation

◆ GBP_ITF_HDL_INVALID

const gbp_itf_hdl_t GBP_ITF_HDL_INVALID = GBP_ITF_HDL_INIT
static

Definition at line 57 of file gbp_itf.h.