Hi Xyxue,

Thank you for the verification. To address the long walk please also include:
  https://gerrit.fd.io/r/#/c/12105/

thanks,
neale

From: 薛欣颖 <xy...@fiberhome.com>
Date: Wednesday, 25 April 2018 at 04:48
To: "Neale Ranns (nranns)" <nra...@cisco.com>, vpp-dev <vpp-dev@lists.fd.io>
Subject: Re: Re: [vpp-dev] question about set ip arp

Hi Neale,

After merged the patch ,the he configuration time of 100k cost 7+ mins .

The most time-consuming part is 'fib_node_list_walk' .  The stack info is shown 
below:
0x00007ffff717d0eb in round_pow2 (x=44, pow2=8) at 
/home/vpp/build-data/../src/vppinfra/clib.h:277
277     {
(gdb) bt
#0  0x00007ffff717d0eb in round_pow2 (x=44, pow2=8) at 
/home/vpp/build-data/../src/vppinfra/clib.h:277
#1  0x00007ffff717d19c in vec_aligned_header_bytes (header_bytes=40, align=8) 
at /home/vpp/build-data/../src/vppinfra/vec_bootstrap.h:112
#2  0x00007ffff717d1e8 in vec_aligned_header (v=0x7fffba3af5a0, 
header_bytes=40, align=8) at 
/home/vpp/build-data/../src/vppinfra/vec_bootstrap.h:118
#3  0x00007ffff717de8a in pool_header (v=0x7fffba3af5a0) at 
/home/vpp/build-data/../src/vppinfra/pool.h:79
#4  0x00007ffff717dfd2 in fib_node_list_elt_get (fi=13419) at 
/home/vpp/build-data/../src/vnet/fib/fib_node_list.c:80
#5  0x00007ffff717f34b in fib_node_list_walk (list=26, fn=0x7ffff718c56c 
<fib_entry_cover_walk_node_ptr>, args=0x7fffb6cc5240)
    at /home/vpp/build-data/../src/vnet/fib/fib_node_list.c:382
#6  0x00007ffff718c647 in fib_entry_cover_walk (cover=0x7fffb7d46eb8, 
walk=0x7ffff718c65d <fib_entry_cover_change_one>, args=0xccbc)
    at /home/vpp/build-data/../src/vnet/fib/fib_entry_cover.c:104
#7  0x00007ffff718c74a in fib_entry_cover_change_notify (cover_index=0, 
covered=52412) at /home/vpp/build-data/../src/vnet/fib/fib_entry_cover.c:158
#8  0x00007ffff7172655 in fib_table_post_insert_actions 
(fib_table=0x7fffb6b409c0, prefix=0x7fffb6cc5490, fib_entry_index=52412)
    at /home/vpp/build-data/../src/vnet/fib/fib_table.c:193
#9  0x00007ffff7172772 in fib_table_entry_insert (fib_table=0x7fffb6b409c0, 
prefix=0x7fffb6cc5490, fib_entry_index=52412) at 
/home/vpp/build-data/../src/vnet/fib/fib_table.c:230
#10 0x00007ffff71732da in fib_table_entry_path_add2 (fib_index=0, 
prefix=0x7fffb6cc5490, source=FIB_SOURCE_ADJ, flags=FIB_ENTRY_FLAG_ATTACHED, 
rpath=0x7fffb74ebf74)
    at /home/vpp/build-data/../src/vnet/fib/fib_table.c:601
#11 0x00007ffff71731a0 in fib_table_entry_path_add (fib_index=0, 
prefix=0x7fffb6cc5490, source=FIB_SOURCE_ADJ, flags=FIB_ENTRY_FLAG_ATTACHED, 
next_hop_proto=DPO_PROTO_IP4,
    next_hop=0x7fffb6cc5494, 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
#12 0x00007ffff6cb1d4f in arp_adj_fib_add (e=0x7fffb9040ad4, fib_index=0) at 
/home/vpp/build-data/../src/vnet/ethernet/arp.c:550
#13 0x00007ffff6cb249e in vnet_arp_set_ip4_over_ethernet_internal 
(vnm=0x7ffff763cfc0 <vnet_main>, args=0x7fffb6cc5790) at 
/home/vpp/build-data/../src/vnet/ethernet/arp.c:618
#14 0x00007ffff6cb7d74 in set_ip4_over_ethernet_rpc_callback (a=0x7fffb6cc5790) 
at /home/vpp/build-data/../src/vnet/ethernet/arp.c:1989
#15 0x00007ffff79472ce in vl_api_rpc_call_main_thread_inline (fp=0x7ffff6cb7c63 
<set_ip4_over_ethernet_rpc_callback>, data=0x7fffb6cc5790 "\001", 
data_length=28, force_rpc=0 '\000')
    at /home/vpp/build-data/../src/vlibmemory/memory_vlib.c:2061
#16 0x00007ffff7947421 in vl_api_rpc_call_main_thread (fp=0x7ffff6cb7c63 
<set_ip4_over_ethernet_rpc_callback>, data=0x7fffb6cc5790 "\001", 
data_length=28)
    at /home/vpp/build-data/../src/vlibmemory/memory_vlib.c:2107
#17 0x00007ffff6cb8421 in vnet_arp_set_ip4_over_ethernet (vnm=0x7ffff763cfc0 
<vnet_main>, sw_if_index=1, a_arg=0x7fffb6cc5890, is_static=0, 
is_no_fib_entry=0)
    at /home/vpp/build-data/../src/vnet/ethernet/arp.c:2074




Thanks,
Xyxue

From: Neale Ranns (nranns)<mailto:nra...@cisco.com>
Date: 2018-04-23 20:36
To: 薛欣颖<mailto:xy...@fiberhome.com>; 
vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>
Subject: Re: [vpp-dev] question about set ip arp
HI Xyxue,

Can you please test to see if the situation improves with:
  https://gerrit.fd.io/r/#/c/12012/

thanks,
neale

From: <vpp-dev@lists.fd.io> on behalf of xyxue <xy...@fiberhome.com>
Date: Friday, 20 April 2018 at 11:31
To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Subject: [vpp-dev] question about set ip arp


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