diff options
Diffstat (limited to 'src/vnet/feature')
-rw-r--r-- | src/vnet/feature/feature.c | 18 | ||||
-rw-r--r-- | src/vnet/feature/feature.h | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/vnet/feature/feature.c b/src/vnet/feature/feature.c index 4a5127db6ac..09dd9cc965f 100644 --- a/src/vnet/feature/feature.c +++ b/src/vnet/feature/feature.c @@ -321,7 +321,7 @@ vnet_feature_enable_disable (const char *arc_name, const char *node_name, n_feature_config_bytes); } -int +u32 vnet_feature_modify_end_node (u8 arc_index, u32 sw_if_index, u32 end_node_index) { @@ -342,12 +342,10 @@ vnet_feature_modify_end_node (u8 arc_index, ci = vnet_config_modify_end_node (vlib_get_main (), &cm->config_main, ci, end_node_index); - if (ci == ~0) - return 0; - - cm->config_index_by_sw_if_index[sw_if_index] = ci; + if (ci != ~0) + cm->config_index_by_sw_if_index[sw_if_index] = ci; - return 0; + return ci; } static int @@ -495,6 +493,14 @@ vnet_interface_features_show (vlib_main_t * vm, u32 sw_if_index, int verbose) else vlib_cli_output (vm, " %v", n->name); } + if (verbose) + { + n = + vlib_get_node (vm, + vcm->end_node_indices_by_user_index + [current_config_index]); + vlib_cli_output (vm, " [end] %v", n->name); + } } } diff --git a/src/vnet/feature/feature.h b/src/vnet/feature/feature.h index 4d568a512a8..6eb6de3fba7 100644 --- a/src/vnet/feature/feature.h +++ b/src/vnet/feature/feature.h @@ -219,7 +219,7 @@ vnet_feature_enable_disable (const char *arc_name, const char *node_name, void *feature_config, u32 n_feature_config_bytes); -int +u32 vnet_feature_modify_end_node (u8 arc_index, u32 sw_if_index, u32 node_index); static_always_inline u32 |