VPP-346 Document the ip feature registration scheme

Change-Id: I81a9e963bdeb437ca228f11aaedca8d122be7471
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2016-08-23 15:23:10 -04:00
committed by Keith Burns
parent d847d1c682
commit 6d5bfb69f1
2 changed files with 272 additions and 151 deletions

File diff suppressed because it is too large Load Diff

View File

@ -16,23 +16,37 @@
#ifndef included_ip_feature_registration_h
#define included_ip_feature_registration_h
typedef struct _vnet_ip_feature_registration {
struct _vnet_ip_feature_registration * next;
char * node_name;
u32 * feature_index;
char ** runs_before;
char ** runs_after;
/** feature registration object */
typedef struct _vnet_ip_feature_registration
{
/** next registration in list of all registrations*/
struct _vnet_ip_feature_registration *next;
/** Graph node name */
char *node_name;
/** Pointer to this feature index, filled in by ip_feature_init_cast */
u32 *feature_index;
/** Constraints of the form "this feature runs before X" */
char **runs_before;
/** Constraints of the form "this feature runs after Y" */
char **runs_after;
} vnet_ip_feature_registration_t;
/** Syntactic sugar, the c-compiler won't initialize registrations without it */
#define ORDER_CONSTRAINTS (char*[])
clib_error_t *
ip_feature_init_cast (vlib_main_t * vm,
ip_config_main_t * cm,
vnet_config_main_t * vcm,
char **feature_start_nodes,
int num_feature_start_nodes,
vnet_cast_t cast,
int is_ip4);
clib_error_t *ip_feature_init_cast (vlib_main_t * vm,
ip_config_main_t * cm,
vnet_config_main_t * vcm,
char **feature_start_nodes,
int num_feature_start_nodes,
vnet_cast_t cast, int is_ip4);
#endif /* included_ip_feature_registration_h */
/*
* fd.io coding-style-patch-verification: ON
*
* Local Variables:
* eval: (c-set-style "gnu")
* End:
*/