FIB_PROTOCOL_MPLS);
}
- vnet_feature_enable_disable ("mpls-input", "mpls-lookup", sw_if_index,
- is_enable, 0, 0);
+ vnet_feature_enable_disable ("mpls-input", "mpls-not-enabled",
+ sw_if_index, !is_enable, 0, 0);
}
{
.arc_name = "mpls-input",
.start_nodes = VNET_FEATURES ("mpls-input"),
+ .end_node = "mpls-lookup",
.arc_index_ptr = &mpls_main.input_feature_arc_index,
};
-VNET_FEATURE_INIT (mpls_lookup, static) = {
+VNET_FEATURE_INIT (mpls_not_enabled, static) = {
.arc_name = "mpls-input",
- .node_name = "mpls-lookup",
- .runs_before = VNET_FEATURES ("mpls-not-enabled"),
+ .node_name = "mpls-not-enabled",
+ .runs_before = VNET_FEATURES ("mpls-lookup"),
};
-VNET_FEATURE_INIT (mpls_not_enabled, static) = {
+VNET_FEATURE_INIT (mpls_lookup, static) = {
.arc_name = "mpls-input",
- .node_name = "mpls-not-enabled",
+ .node_name = "mpls-lookup",
.runs_before = VNET_FEATURES (0), /* not before any other features */
};
}
else
{
+ next0 = MPLS_INPUT_NEXT_LOOKUP;
vnet_feature_arc_start(mm->input_feature_arc_index, sw_if_index0, &next0, b0);
vlib_increment_simple_counter (cm, cpu_index, sw_if_index0, 1);
}