diff options
author | Dave Barach <dave@barachs.net> | 2016-08-15 15:31:15 -0400 |
---|---|---|
committer | Dave Barach <dave@barachs.net> | 2016-08-15 15:31:27 -0400 |
commit | 97d8dc2317780740af5faa3dc205d95d838fbd04 (patch) | |
tree | ba0433acbad4a3577cbdf034ccb0895dff868750 /vnet/vnet/l2/feat_bitmap.h | |
parent | a5abdeb296f3e395708e89d29093ab37fb6cae2f (diff) |
VPP-257 Coding standards cleanup for vnet/vnet/l2
Change-Id: Iba5f33675bb2eb806e9becdc42b11da5d3932d55
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vnet/vnet/l2/feat_bitmap.h')
-rw-r--r-- | vnet/vnet/l2/feat_bitmap.h | 84 |
1 files changed, 50 insertions, 34 deletions
diff --git a/vnet/vnet/l2/feat_bitmap.h b/vnet/vnet/l2/feat_bitmap.h index 7dd36a7712e..c6e02ecc7c9 100644 --- a/vnet/vnet/l2/feat_bitmap.h +++ b/vnet/vnet/l2/feat_bitmap.h @@ -21,60 +21,76 @@ #include <vlib/vlib.h> #include <vnet/vnet.h> -/* +/* * The feature bitmap is a way of organizing input and output feature graph nodes. - * The set of features to be executed are arranged in a bitmap with one bit per - * feature and each bit positioned in the same order that the features should be - * executed. Features can be dynamically removed from the set by masking off their + * The set of features to be executed are arranged in a bitmap with one bit per + * feature and each bit positioned in the same order that the features should be + * executed. Features can be dynamically removed from the set by masking off their * corresponding bits. The bitmap is stored in packet context. Each feature clears - * its bit and then calls feat_bitmap_get_next_node_index() to go to the next + * its bit and then calls feat_bitmap_get_next_node_index() to go to the next * graph node. */ -// 32 features in a u32 bitmap +/* 32 features in a u32 bitmap */ #define FEAT_MAX 32 -// Initialize the feature next-node indexes of a graph node. -// Should be called by the init function of each feature graph node. -always_inline -void feat_bitmap_init_next_nodes ( - vlib_main_t * vm, - u32 node_index, // the current graph node index - u32 num_features, // number of entries in feat_names - char ** feat_names, // array of feature graph node names - u32 * next_nodes) // array of 32 next indexes to init +/** + Initialize the feature next-node indexes of a graph node. + Should be called by the init function of each feature graph node. +*/ +always_inline void +feat_bitmap_init_next_nodes (vlib_main_t * vm, u32 node_index, /* the current graph node index */ + u32 num_features, /* number of entries in feat_names */ + char **feat_names, /* array of feature graph node names */ + u32 * next_nodes) /* array of 32 next indexes to init */ { u32 idx; - ASSERT(num_features <= FEAT_MAX); + ASSERT (num_features <= FEAT_MAX); + + for (idx = 0; idx < num_features; idx++) + { + if (vlib_get_node_by_name (vm, (u8 *) feat_names[idx])) + { + next_nodes[idx] = + vlib_node_add_named_next (vm, node_index, feat_names[idx]); + } + else + { // Node may be in plugin which is not installed, use drop node + next_nodes[idx] = + vlib_node_add_named_next (vm, node_index, "feature-bitmap-drop"); + } + } - for (idx=0; idx<num_features; idx++) { - if (vlib_get_node_by_name(vm, (u8 *) feat_names[idx])) { - next_nodes[idx] = - vlib_node_add_named_next(vm, node_index, feat_names[idx]); - } else { // Node may be in plugin which is not installed, use drop node - next_nodes[idx] = - vlib_node_add_named_next(vm, node_index, "feature-bitmap-drop"); + /* All unassigned bits go to the drop node */ + for (; idx < FEAT_MAX; idx++) + { + next_nodes[idx] = vlib_node_add_named_next (vm, node_index, + "feature-bitmap-drop"); } - } - - // All unassigned bits go to the drop node - for (; idx<FEAT_MAX; idx++) { - next_nodes[idx] = vlib_node_add_named_next(vm, node_index, "feature-bitmap-drop"); - } } -// Return the graph node index for the feature corresponding to the -// first set bit in the bitmap. +/** + Return the graph node index for the feature corresponding to the + first set bit in the bitmap. +*/ always_inline -u32 feat_bitmap_get_next_node_index (u32 * next_nodes, u32 bitmap) + u32 feat_bitmap_get_next_node_index (u32 * next_nodes, u32 bitmap) { u32 first_bit; - count_leading_zeros(first_bit, bitmap); + count_leading_zeros (first_bit, bitmap); first_bit = uword_bits - 1 - first_bit; return next_nodes[first_bit]; } -#endif // included_vnet_l2_feat_bitmap_h +#endif /* included_vnet_l2_feat_bitmap_h */ + +/* + * fd.io coding-style-patch-verification: ON + * + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ |