FD.io VPP
v17.01.1-3-gc6833f8
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_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_config_main_t_ | vnet_feature_config_main_t |
Functions | |
void | vnet_config_update_feature_count (vnet_feature_main_t *fm, u8 arc, u32 sw_if_index, int is_add) |
u32 | vnet_get_feature_index (u8 arc, const char *s) |
u8 | vnet_get_feature_arc_index (const char *s) |
vnet_feature_registration_t * | vnet_get_feature_reg (const char *arc_name, const char *node_name) |
int | vnet_feature_enable_disable_with_index (u8 arc_index, u32 feature_index, u32 sw_if_index, int enable_disable, void *feature_config, u32 n_feature_config_bytes) |
int | vnet_feature_enable_disable (const char *arc_name, const char *node_name, u32 sw_if_index, int enable_disable, void *feature_config, u32 n_feature_config_bytes) |
static vnet_feature_config_main_t * | vnet_get_feature_arc_config_main (u8 arc_index) |
static_always_inline vnet_feature_config_main_t * | vnet_feature_get_config_main (u16 arc) |
static_always_inline int | vnet_have_features (u8 arc, u32 sw_if_index) |
static_always_inline u32 | vnet_get_feature_config_index (u8 arc, u32 sw_if_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 void | vnet_feature_arc_start (u8 arc, u32 sw_if_index, u32 *next0, vlib_buffer_t *b0) |
static_always_inline void * | vnet_feature_next_with_data (u32 sw_if_index, u32 *next0, vlib_buffer_t *b0, u32 n_data_bytes) |
static_always_inline void | vnet_feature_next (u32 sw_if_index, u32 *next0, vlib_buffer_t *b0) |
static_always_inline void | vnet_feature_start_device_input_x1 (u32 sw_if_index, u32 *next0, vlib_buffer_t *b0, u16 buffer_advanced0) |
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, u16 buffer_advanced0, u16 buffer_advanced1) |
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, u16 buffer_advanced0, u16 buffer_advanced1, u16 buffer_advanced2, u16 buffer_advanced3) |
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, vnet_feature_registration_t *first_reg, char ***feature_nodes) |
Initialize a feature graph arc. More... | |
void | vnet_interface_features_show (vlib_main_t *vm, u32 sw_if_index) |
Display the set of driver features configured on a specific interface Called by "show interface" handler. More... | |
Variables | |
vnet_feature_main_t | feature_main |
#define VNET_FEATURE_ARC_INIT | ( | 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 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
void vnet_config_update_feature_count | ( | vnet_feature_main_t * | fm, |
u8 | arc, | ||
u32 | sw_if_index, | ||
int | is_add | ||
) |
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, | ||
vnet_feature_registration_t * | first_reg, | ||
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 | |
[out] | in_feature_nodes | returned vector of topologically-sorted feature node names, for use in show commands |
Definition at line 118 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_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 | ) |
static_always_inline void vnet_feature_next | ( | u32 | sw_if_index, |
u32 * | next0, | ||
vlib_buffer_t * | b0 | ||
) |
static_always_inline void* vnet_feature_next_with_data | ( | u32 | sw_if_index, |
u32 * | next0, | ||
vlib_buffer_t * | b0, | ||
u32 | n_data_bytes | ||
) |
static_always_inline void vnet_feature_start_device_input_x1 | ( | u32 | sw_if_index, |
u32 * | next0, | ||
vlib_buffer_t * | b0, | ||
u16 | buffer_advanced0 | ||
) |
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, | ||
u16 | buffer_advanced0, | ||
u16 | buffer_advanced1 | ||
) |
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, | ||
u16 | buffer_advanced0, | ||
u16 | buffer_advanced1, | ||
u16 | buffer_advanced2, | ||
u16 | buffer_advanced3 | ||
) |
|
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 | ||
) |
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 | ||
) |
vnet_feature_main_t feature_main |