X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffeature%2Ffeature.h;h=cd016735aca6b163e6490ec8425cb523d06c2d07;hb=5cd31ec9405d2bb2fbc8152a08c4cfb64f2a8e73;hp=6e3401897f4d5d1d527d790f8364f3067086d208;hpb=71e5b4710258376873c62428cb4a81b2a650fc26;p=vpp.git diff --git a/src/vnet/feature/feature.h b/src/vnet/feature/feature.h index 6e3401897f4..cd016735aca 100644 --- a/src/vnet/feature/feature.h +++ b/src/vnet/feature/feature.h @@ -304,6 +304,14 @@ vnet_feature_next (u32 * next0, vlib_buffer_t * b0) vnet_feature_next_with_data (next0, b0, 0); } +static_always_inline void +vnet_feature_next_u16 (u16 * next0, vlib_buffer_t * b0) +{ + u32 next32; + vnet_feature_next_with_data (&next32, b0, 0); + *next0 = next32; +} + static_always_inline int vnet_device_input_have_features (u32 sw_if_index) { @@ -446,6 +454,7 @@ clib_error_t *vnet_feature_arc_init 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); @@ -453,6 +462,12 @@ clib_error_t *vnet_feature_arc_init void vnet_interface_features_show (vlib_main_t * vm, u32 sw_if_index, int verbose); +typedef void (*vnet_feature_update_cb_t) (u32 sw_if_index, + u8 arc_index, + u8 is_enable, void *cb); + +extern void vnet_feature_register (vnet_feature_update_cb_t cb, void *data); + #endif /* included_feature_h */ /*