Hi guys,

I'm testing 'set ip arp' . When I don't configure the param 'no-fib-entry' , 
the configuration time of 100k cost 19+ mins. When I configure  the param 
'no-fib-entry' the time is 9 s.
Can I use 'set ip arp ... + no-fib-entry  and ip route add ' achieve the same 
goal with 'set ip arp without no-fib-entry'?
The most time-consuming part is 'clib_bihash_foreach_key_value_pair_24_8' .  
The stack info is shown below:
0 clib_bihash_foreach_key_value_pair_24_8 (h=0x7fffb5d4c840, 
callback=0x7ffff719c98d <adj_nbr_walk_nh_cb>, arg=0x7fffb5d33dc0) 
at /home/vpp/build-data/../src/vppinfra/bihash_template.c:589 
#1 0x00007ffff719cafd in adj_nbr_walk_nh4 (sw_if_index=1, addr=0x7fffb5d4c0f8, 
cb=0x7ffff6cacb17 <arp_mk_complete_walk>, ctx=0x7fffb5d4c0f4) 
at /home/vpp/build-data/../src/vnet/adj/adj_nbr.c:642 
#2 0x00007ffff6cacd64 in arp_update_adjacency (vnm=0x7ffff763a540 <vnet_main>, 
sw_if_index=1, ai=1) at /home/vpp/build-data/../src/vnet/ethernet/arp.c:466 
#3 0x00007ffff6cbb6fe in ethernet_update_adjacency (vnm=0x7ffff763a540 
<vnet_main>, sw_if_index=1, ai=1) at 
/home/vpp/build-data/../src/vnet/ethernet/interface.c:208 
#4 0x00007ffff71aca55 in vnet_update_adjacency_for_sw_interface 
(vnm=0x7ffff763a540 <vnet_main>, sw_if_index=1, ai=1) 
at /home/vpp/build-data/../src/vnet/adj/rewrite.c:225 
#5 0x00007ffff719c201 in adj_nbr_add_or_lock (nh_proto=FIB_PROTOCOL_IP4, 
link_type=VNET_LINK_IP4, nh_addr=0x7fffb5d47ab0, sw_if_index=1) 
at /home/vpp/build-data/../src/vnet/adj/adj_nbr.c:246 
#6 0x00007ffff718eb6a in fib_path_attached_next_hop_get_adj 
(path=0x7fffb5d47a88, link=VNET_LINK_IP4) at 
/home/vpp/build-data/../src/vnet/fib/fib_path.c:664 
#7 0x00007ffff718ebc8 in fib_path_attached_next_hop_set (path=0x7fffb5d47a88) 
at /home/vpp/build-data/../src/vnet/fib/fib_path.c:678 
#8 0x00007ffff7191077 in fib_path_resolve (path_index=14) at 
/home/vpp/build-data/../src/vnet/fib/fib_path.c:1862 
#9 0x00007ffff718adb4 in fib_path_list_resolve (path_list=0x7fffb5ade9a4) at 
/home/vpp/build-data/../src/vnet/fib/fib_path_list.c:567 
#10 0x00007ffff718b27d in fib_path_list_create (flags=FIB_PATH_LIST_FLAG_NONE, 
rpaths=0x7fffb5d4c56c) at 
/home/vpp/build-data/../src/vnet/fib/fib_path_list.c:734 
#11 0x00007ffff7185732 in fib_entry_src_adj_path_swap (src=0x7fffb5c3aa94, 
entry=0x7fffb5d3ad2c, pl_flags=FIB_PATH_LIST_FLAG_NONE, paths=0x7fffb5d4c56c) 
at /home/vpp/build-data/../src/vnet/fib/fib_entry_src_adj.c:110 
#12 0x00007ffff7181ed7 in fib_entry_src_action_path_swap 
(fib_entry=0x7fffb5d3ad2c, source=FIB_SOURCE_ADJ, 
flags=FIB_ENTRY_FLAG_ATTACHED, rpaths=0x7fffb5d4c56c) 
at /home/vpp/build-data/../src/vnet/fib/fib_entry_src.c:1191 
#13 0x00007ffff717d63c in fib_entry_create (fib_index=0, prefix=0x7fffb5d34400, 
source=FIB_SOURCE_ADJ, flags=FIB_ENTRY_FLAG_ATTACHED, paths=0x7fffb5d4c56c) 
at /home/vpp/build-data/../src/vnet/fib/fib_entry.c:828 
#14 0x00007ffff716dcca in fib_table_entry_path_add2 (fib_index=0, 
prefix=0x7fffb5d34400, source=FIB_SOURCE_ADJ, flags=FIB_ENTRY_FLAG_ATTACHED, 
rpath=0x7fffb5d4c56c) 
at /home/vpp/build-data/../src/vnet/fib/fib_table.c:597 
#15 0x00007ffff716dba9 in fib_table_entry_path_add (fib_index=0, 
prefix=0x7fffb5d34400, source=FIB_SOURCE_ADJ, flags=FIB_ENTRY_FLAG_ATTACHED, 
next_hop_proto=DPO_PROTO_IP4, 
next_hop=0x7fffb5d34404, next_hop_sw_if_index=1, next_hop_fib_index=4294967295, 
next_hop_weight=1, next_hop_labels=0x0, path_flags=FIB_ROUTE_PATH_FLAG_NONE) 
at /home/vpp/build-data/../src/vnet/fib/fib_table.c:569 
#16 0x00007ffff6cacef5 in arp_adj_fib_add (e=0x7fffb5d4c0f4, fib_index=0) at 
/home/vpp/build-data/../src/vnet/ethernet/arp.c:550 
#17 0x00007ffff6cad644 in vnet_arp_set_ip4_over_ethernet_internal 
(vnm=0x7ffff763a540 <vnet_main>, args=0x7fffb5d34700) 
at /home/vpp/build-data/../src/vnet/ethernet/arp.c:618 
#18 0x00007ffff6cb2f1a in set_ip4_over_ethernet_rpc_callback (a=0x7fffb5d34700) 
at /home/vpp/build-data/../src/vnet/ethernet/arp.c:1989 
#19 0x00007ffff79442c9 in vl_api_rpc_call_main_thread_inline (fp=0x7ffff6cb2e09 
<set_ip4_over_ethernet_rpc_callback>, data=0x7fffb5d34700 "\001", 
data_length=28, 
force_rpc=0 '\000') at 
/home/vpp/build-data/../src/vlibmemory/memory_vlib.c:2061 
#20 0x00007ffff794441c in vl_api_rpc_call_main_thread (fp=0x7ffff6cb2e09 
<set_ip4_over_ethernet_rpc_callback>, data=0x7fffb5d34700 "\001", 
data_length=28) 
at /home/vpp/build-data/../src/vlibmemory/memory_vlib.c:2107 
#21 0x00007ffff6cb35c7 in vnet_arp_set_ip4_over_ethernet (vnm=0x7ffff763a540 
<vnet_main>, sw_if_index=1, a_arg=0x7fffb5d34800, is_static=0, 
is_no_fib_entry=0) 
at /home/vpp/build-data/../src/vnet/ethernet/arp.c:2074 
#22 0x00007ffff6cb4015 in ip_arp_add_del_command_fn (vm=0x7ffff7923420 
<vlib_global_main>, is_del=0, input=0x7fffb5d34ec0, cmd=0x7fffb5c78864) 
at /home/vpp/build-data/../src/vnet/ethernet/arp.c:2233 

Thanks,
Xyxue




Reply via email to