summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ip/ip_feature_registration.h
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-08-23 15:23:10 -0400
committerKeith Burns <alagalah@gmail.com>2016-08-24 21:07:52 +0000
commit6d5bfb69f15653bc7032e9a8ffe4b0cecba9971c (patch)
tree49ca67951b68257cb23acb3b04d6cc0e25997529 /vnet/vnet/ip/ip_feature_registration.h
parentd847d1c68276da82ca8eaf289ddcf4467f6ec418 (diff)
VPP-346 Document the ip feature registration scheme
Change-Id: I81a9e963bdeb437ca228f11aaedca8d122be7471 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vnet/vnet/ip/ip_feature_registration.h')
-rw-r--r--vnet/vnet/ip/ip_feature_registration.h42
1 files changed, 28 insertions, 14 deletions
diff --git a/vnet/vnet/ip/ip_feature_registration.h b/vnet/vnet/ip/ip_feature_registration.h
index 3c78abc0bc8..2d9a15bcf2c 100644
--- a/vnet/vnet/ip/ip_feature_registration.h
+++ b/vnet/vnet/ip/ip_feature_registration.h
@@ -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:
+ */