/**
* The magic number of child entries that make a path-list popular.
- * There's a trade-off here between convergnece and forwarding speed.
+ * There's a trade-off here between convergence and forwarding speed.
* Popular path-lists generate load-balance maps for the entries that
* use them. If the map is present there is a switch path cost to indirect
* through the map - this indirection provides the fast convergence - so
ASSERT(path_list);
- new_path_list_hash = old_path_list_hash = vec_len(path_list->fpl_paths);
+ new_path_list_hash =
+ old_path_list_hash =
+ (vec_len(path_list->fpl_paths) << 16 |
+ (path_list->fpl_flags & FIB_PATH_LIST_KEY_FLAGS));
vec_foreach (path_index, path_list->fpl_paths)
{
{
/*
* the path-list is not a direct child of any other node type
- * paths, which do not change thier to-list-mapping, save the
+ * paths, which do not change their to-list-mapping, save the
* list they are a member of, and invoke the BW function directly.
*/
ASSERT(0);
u8 *s = fib_path_list_format(pli, NULL);
s = format(s, "children:");
s = fib_node_children_format(path_list->fpl_node.fn_children, s);
- vlib_cli_output (vm, "%s", s);
+ vlib_cli_output (vm, "%v", s);
vec_free(s);
}
else
* show all
*/
vlib_cli_output (vm, "FIB Path Lists");
- pool_foreach_index (pli, fib_path_list_pool,
- ({
+ pool_foreach_index (pli, fib_path_list_pool)
+ {
vlib_cli_output (vm, "%U", format_fib_path_list, pli, 0);
- }));
+ }
}
return (NULL);
}