FD.io VPP
v21.01.1
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vnet_feature_config_main_t_ |
struct | vnet_feature_main_t |
Macros | |
#define | VNET_FEATURE_ARC_INIT(x, ...) |
#define | VNET_FEATURE_INIT(x, ...) |
#define | VNET_FEATURE_ARC_ORDER(x, ...) |
#define | VNET_FEATURES(...) (char*[]) { __VA_ARGS__, 0} |
Typedefs | |
typedef struct _vnet_feature_arc_registration | vnet_feature_arc_registration_t |
feature registration object More... | |
typedef clib_error_t *() | vnet_feature_enable_disable_function_t(u32 sw_if_index, int enable_disable) |
typedef struct _vnet_feature_registration | vnet_feature_registration_t |
feature registration object More... | |
typedef struct _vnet_feature_constraint_registration | vnet_feature_constraint_registration_t |
constraint registration object More... | |
typedef struct vnet_feature_config_main_t_ | vnet_feature_config_main_t |
typedef void(* | vnet_feature_update_cb_t) (u32 sw_if_index, u8 arc_index, u8 is_enable, void *cb) |
Variables | |
vnet_feature_main_t | feature_main |
#define VNET_FEATURE_ARC_INIT | ( | x, | |
... | |||
) |
#define VNET_FEATURE_ARC_ORDER | ( | x, | |
... | |||
) |
#define VNET_FEATURE_INIT | ( | x, | |
... | |||
) |
typedef struct _vnet_feature_arc_registration vnet_feature_arc_registration_t |
feature registration object
typedef struct vnet_feature_config_main_t_ vnet_feature_config_main_t |
typedef struct _vnet_feature_constraint_registration vnet_feature_constraint_registration_t |
constraint registration object
typedef clib_error_t*() vnet_feature_enable_disable_function_t(u32 sw_if_index, int enable_disable) |
typedef struct _vnet_feature_registration vnet_feature_registration_t |
feature registration object
typedef void(* vnet_feature_update_cb_t) (u32 sw_if_index, u8 arc_index, u8 is_enable, void *cb) |
void vnet_config_update_feature_count | ( | vnet_feature_main_t * | fm, |
u8 | arc, | ||
u32 | sw_if_index, | ||
int | is_add | ||
) |
static_always_inline int vnet_device_input_have_features | ( | u32 | sw_if_index | ) |
clib_error_t* vnet_feature_arc_init | ( | vlib_main_t * | vm, |
vnet_config_main_t * | vcm, | ||
char ** | feature_start_nodes, | ||
int | num_feature_start_nodes, | ||
char * | last_in_arc, | ||
vnet_feature_registration_t * | first_reg, | ||
vnet_feature_constraint_registration_t * | first_const_set, | ||
char *** | in_feature_nodes | ||
) |
Initialize a feature graph arc.
vm | vlib main structure pointer | |
vcm | vnet config main structure pointer | |
feature_start_nodes | names of start-nodes which use this feature graph arc | |
num_feature_start_nodes | number of start-nodes | |
first_reg | first element in [an attribute((constructor)) function built, or otherwise created] singly-linked list of feature registrations | |
first_const | first element in [an attribute((constructor)) function built, or otherwise created] singly-linked list of bulk order constraints | |
[out] | in_feature_nodes | returned vector of topologically-sorted feature node names, for use in show commands |
Definition at line 121 of file registration.c.
static_always_inline void vnet_feature_arc_start | ( | u8 | arc, |
u32 | sw_if_index, | ||
u32 * | next0, | ||
vlib_buffer_t * | b0 | ||
) |
static_always_inline void* vnet_feature_arc_start_w_cfg_index | ( | u8 | arc, |
u32 | sw_if_index, | ||
u32 * | next, | ||
vlib_buffer_t * | b, | ||
u32 | cfg_index | ||
) |
static_always_inline void* vnet_feature_arc_start_with_data | ( | u8 | arc, |
u32 | sw_if_index, | ||
u32 * | next, | ||
vlib_buffer_t * | b, | ||
u32 | n_data_bytes | ||
) |
static_always_inline vnet_feature_config_main_t* vnet_feature_get_config_main | ( | u16 | arc | ) |
int vnet_feature_is_enabled | ( | const char * | arc_name, |
const char * | feature_node_name, | ||
u32 | sw_if_index | ||
) |
static_always_inline void vnet_feature_next | ( | u32 * | next0, |
vlib_buffer_t * | b0 | ||
) |
static_always_inline void vnet_feature_next_u16 | ( | u16 * | next0, |
vlib_buffer_t * | b0 | ||
) |
static_always_inline void* vnet_feature_next_with_data | ( | u32 * | next0, |
vlib_buffer_t * | b0, | ||
u32 | n_data_bytes | ||
) |
void vnet_feature_register | ( | vnet_feature_update_cb_t | cb, |
void * | data | ||
) |
static_always_inline void vnet_feature_start_device_input_x1 | ( | u32 | sw_if_index, |
u32 * | next0, | ||
vlib_buffer_t * | b0 | ||
) |
static_always_inline void vnet_feature_start_device_input_x2 | ( | u32 | sw_if_index, |
u32 * | next0, | ||
u32 * | next1, | ||
vlib_buffer_t * | b0, | ||
vlib_buffer_t * | b1 | ||
) |
static_always_inline void vnet_feature_start_device_input_x4 | ( | u32 | sw_if_index, |
u32 * | next0, | ||
u32 * | next1, | ||
u32 * | next2, | ||
u32 * | next3, | ||
vlib_buffer_t * | b0, | ||
vlib_buffer_t * | b1, | ||
vlib_buffer_t * | b2, | ||
vlib_buffer_t * | b3 | ||
) |
|
inlinestatic |
u8 vnet_get_feature_arc_index | ( | const char * | s | ) |
static_always_inline u32 vnet_get_feature_config_index | ( | u8 | arc, |
u32 | sw_if_index | ||
) |
static_always_inline u32 vnet_get_feature_count | ( | u8 | arc, |
u32 | sw_if_index | ||
) |
vnet_feature_registration_t* vnet_get_feature_reg | ( | const char * | arc_name, |
const char * | node_name | ||
) |
static_always_inline int vnet_have_features | ( | u8 | arc, |
u32 | sw_if_index | ||
) |
void vnet_interface_features_show | ( | vlib_main_t * | vm, |
u32 | sw_if_index, | ||
int | verbose | ||
) |
vnet_feature_main_t feature_main |