- if ((error = vnet_feature_arc_init (vm, vcm,
- areg->start_nodes,
- areg->n_start_nodes,
- fm->next_feature_by_arc[arc_index],
- &fm->feature_nodes[arc_index])))
+ if ((error = vnet_feature_arc_init
+ (vm, vcm, areg->start_nodes, areg->n_start_nodes,
+ fm->next_feature_by_arc[arc_index],
+ fm->next_constraint_by_arc[arc_index],
+ &fm->feature_nodes[arc_index])))
+ {
+ clib_error_report (error);
+ os_exit (1);
+ }
+
+ features_in_order = fm->feature_nodes[arc_index];
+
+ /* If specificed, verify that the last node in the arc is actually last */
+ if (areg->last_in_arc && vec_len (features_in_order) > 0)