Fix IP6 ND solicitation termination to allow link-local source IP
[vpp.git] / vnet / vnet / ip / ip_feature_registration.h
index 3c78abc..b86e3a6 100644 (file)
 #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;
 
+typedef struct ip_config_main_t_
+{
+  vnet_config_main_t config_main;
+  u32 *config_index_by_sw_if_index;
+} ip_config_main_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_ip_feature_registration_t *
+                                   first_reg, char ***feature_nodes);
+
+void ip_interface_features_show (vlib_main_t * vm,
+                                const char *pname,
+                                ip_config_main_t * cm, u32 sw_if_index);
 
 #endif /* included_ip_feature_registration_h */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */