X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fila%2Fila.c;h=6e062cb60356ef1151024fc734cecbe8123e9bee;hb=e29c7e844e553fcc4356c5fe96984b18dc6156f4;hp=bac76151c28e9b736d339dc8033277c51436fa71;hpb=1d1985de91833a5483a6b7ee96ef4090d530a7a6;p=vpp.git diff --git a/src/plugins/ila/ila.c b/src/plugins/ila/ila.c index bac76151c28..6e062cb6035 100644 --- a/src/plugins/ila/ila.c +++ b/src/plugins/ila/ila.c @@ -68,6 +68,11 @@ static dpo_type_t ila_dpo_type; */ static fib_node_type_t ila_fib_node_type; +/** + * FIB source for adding entries + */ +static fib_source_t ila_fib_src; + u8 * format_half_ip6_address (u8 * s, va_list * va) { @@ -360,7 +365,7 @@ ila_ila2sir (vlib_main_t * vm, { ila_ila2sir_trace_t *tr = vlib_add_trace (vm, node, p0, sizeof (*tr)); - tr->ila_index = ie0 ? (ie0 - ilm->entries) : ~0; + tr->ila_index = ie0 - ilm->entries; tr->initial_dst = ip60->dst_address; tr->adj_index = vnet_buffer (p0)->ip.adj_index[VLIB_TX]; } @@ -758,7 +763,7 @@ ila_add_del_entry (ila_add_del_entry_args_t * args) fib_table_entry_special_dpo_add(0, &pfx, - FIB_SOURCE_PLUGIN_HI, + ila_fib_src, FIB_ENTRY_FLAG_EXCLUSIVE, &dpo); dpo_reset(&dpo); @@ -794,7 +799,7 @@ ila_add_del_entry (ila_add_del_entry_args_t * args) .fp_proto = FIB_PROTOCOL_IP6, }; - fib_table_entry_special_remove(0, &pfx, FIB_SOURCE_PLUGIN_HI); + fib_table_entry_special_remove(0, &pfx, ila_fib_src); /* * remove this ILA entry as child of the FIB netry for the next-hop */ @@ -935,7 +940,9 @@ ila_init (vlib_main_t * vm) ila_dpo_type = dpo_register_new_type(&ila_vft, ila_nodes); ila_fib_node_type = fib_node_register_new_type(&ila_fib_node_vft); - + ila_fib_src = fib_source_allocate("ila", + FIB_SOURCE_PRIORITY_HI, + FIB_SOURCE_BH_SIMPLE); return NULL; } @@ -1063,10 +1070,10 @@ ila_show_entries_command_fn (vlib_main_t * vm, ila_entry_t *e; vlib_cli_output (vm, " %U\n", format_ila_entry, vnm, NULL); - pool_foreach (e, ilm->entries, - ({ + pool_foreach (e, ilm->entries) + { vlib_cli_output (vm, " %U\n", format_ila_entry, vnm, e); - })); + } return NULL; }