2 * Copyright (c) 2015 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 #ifndef included_feature_registration_h
17 #define included_feature_registration_h
19 /** feature registration object */
20 typedef struct _vnet_feature_registration
22 /** next registration in list of all registrations*/
23 struct _vnet_feature_registration *next;
24 /** Graph node name */
26 /** Pointer to this feature index, filled in by vnet_feature_arc_init */
28 /** Constraints of the form "this feature runs before X" */
30 /** Constraints of the form "this feature runs after Y" */
32 } vnet_feature_registration_t;
34 typedef struct ip_config_main_t_
36 vnet_config_main_t config_main;
37 u32 *config_index_by_sw_if_index;
40 /** Syntactic sugar, the c-compiler won't initialize registrations without it */
41 #define ORDER_CONSTRAINTS (char*[])
43 clib_error_t *vnet_feature_arc_init (vlib_main_t * vm,
44 vnet_config_main_t * vcm,
45 char **feature_start_nodes,
46 int num_feature_start_nodes,
47 vnet_feature_registration_t *
48 first_reg, char ***feature_nodes);
50 void ip_interface_features_show (vlib_main_t * vm,
52 ip_config_main_t * cm, u32 sw_if_index);
54 #endif /* included_feature_registration_h */
57 * fd.io coding-style-patch-verification: ON
60 * eval: (c-set-style "gnu")