![]() |
FD.io VPP
v19.08.3-2-gbabecb413
Vector Packet Processing
|
Include dependency graph for feature.h:
This graph shows which files directly or indirectly include this file: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 |
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
| 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.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 * | next0, |
| vlib_buffer_t * | b0 | ||
| ) |
| static_always_inline void* vnet_feature_next_with_data | ( | 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 | ||
| ) |
| 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 |