Hi Sudhir, this looks like a FIB code issue, even though it manifests when using BFD.
Last I knew, Neale was the FIB guy, not sure who is now… Thanks, Klement > On 10 Jun 2021, at 08:50, Sudhir CR via lists.fd.io > <sudhir=rtbrick....@lists.fd.io> wrote: > > Hi All, > when we are trying to establish a BFD session between two containers while > processing "adj_bfd_notify '' VPP went into an infinite loop and hung in one > of the containers, and this issue is reproducible every time with below > topology and configuration. > > Any help in fixing the issue would be appreciated. > > Topology: > > Container1 (memif32321/32321) ----------------- > (memif32321/32321)Container2 > > Configuration: > Container1 > ======== > set interface ip address memif32321/32321 4.4.4.4/24 > ip table add 100 > ip route add 4.4.4.0/24 table 100 via 4.4.4.5 memif32321/32321 out-labels 4444 > ip route add 4.4.4.5/32 table 100 via 4.4.4.5 memif32321/32321 out-labels 4444 > > set interface mpls memif32321/32321 enable > mpls local-label add 8888 eos via 4.4.4.5 memif32321/32321 > ip4-lookup-in-table 100 > > bfd udp session add interface memif32321/32321 local-addr 4.4.4.4 peer-addr > 4.4.4.5 desired-min-tx 400000 required-min-rx 400000 detect-mult 3 > > Container2 > ======== > set interface ip address memif32321/32321 4.4.4.5/24 > ip table add 100 > ip route add 4.4.4.0/24 table 100 via 4.4.4.4 memif32321/32321 out-labels 8888 > ip route add 4.4.4.4/32 table 100 via 4.4.4.4 memif32321/32321 out-labels 8888 > set interface mpls memif32321/32321 enable > mpls local-label add 4444 eos via 4.4.4.4 memif32321/32321 > ip4-lookup-in-table 100 > bfd udp session add interface memif32321/32321 local-addr 4.4.4.5 peer-addr > 4.4.4.4 desired-min-tx 400000 required-min-rx 400000 detect-mult 3 > > VPP version: 20.09 > > (gdb) thread apply all bt > > Thread 3 (Thread 0x7f7ac6ffe700 (LWP 422)): > #0 0x00007f7b67036ffe in vlib_worker_thread_barrier_check () at > /home/supervisor/development/libvpp/src/vlib/threads.h:438 > #1 0x00007f7b6703152e in vlib_main_or_worker_loop (vm=0x7f7b46cf3240, > is_main=0) at /home/supervisor/development/libvpp/src/vlib/main.c:1788 > #2 0x00007f7b67030d47 in vlib_worker_loop (vm=0x7f7b46cf3240) at > /home/supervisor/development/libvpp/src/vlib/main.c:2008 > #3 0x00007f7b6708892a in vlib_worker_thread_fn (arg=0x7f7b41f14540) at > /home/supervisor/development/libvpp/src/vlib/threads.c:1862 > #4 0x00007f7b668adc44 in clib_calljmp () at > /home/supervisor/development/libvpp/src/vppinfra/longjmp.S:123 > #5 0x00007f7ac6ffdec0 in ?? () > #6 0x00007f7b67080ad3 in vlib_worker_thread_bootstrap_fn > (arg=0x7f7b41f14540) at > /home/supervisor/development/libvpp/src/vlib/threads.c:585 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 2 (Thread 0x7f7ac77ff700 (LWP 421)): > #0 0x00007f7b67036fef in vlib_worker_thread_barrier_check () at > /home/supervisor/development/libvpp/src/vlib/threads.h:437 > #1 0x00007f7b6703152e in vlib_main_or_worker_loop (vm=0x7f7b45fe8b80, > is_main=0) at /home/supervisor/development/libvpp/src/vlib/main.c:1788 > #2 0x00007f7b67030d47 in vlib_worker_loop (vm=0x7f7b45fe8b80) at > /home/supervisor/development/libvpp/src/vlib/main.c:2008 > #3 0x00007f7b6708892a in vlib_worker_thread_fn (arg=0x7f7b41f14440) at > /home/supervisor/development/libvpp/src/vlib/threads.c:1862 > #4 0x00007f7b668adc44 in clib_calljmp () at > /home/supervisor/development/libvpp/src/vppinfra/longjmp.S:123 > #5 0x00007f7ac77feec0 in ?? () > #6 0x00007f7b67080ad3 in vlib_worker_thread_bootstrap_fn > (arg=0x7f7b41f14440) at > /home/supervisor/development/libvpp/src/vlib/threads.c:585 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 1 (Thread 0x7f7b739b7740 (LWP 226)): > #0 0x00007f7b681c952b in fib_node_list_remove (list=54, sibling=63) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_node_list.c:246 > #1 0x00007f7b681c7695 in fib_node_child_remove > (parent_type=FIB_NODE_TYPE_ADJ, parent_index=1, sibling_index=63) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_node.c:131 > #2 0x00007f7b681b2395 in fib_walk_destroy (fwi=2) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:262 > #3 0x00007f7b681b2f13 in fib_walk_sync (parent_type=FIB_NODE_TYPE_ADJ, > parent_index=1, ctx=0x7f7b2e08dc90) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:818 > #4 0x00007f7b6821ed4d in adj_nbr_update_rewrite_internal > (adj=0x7f7b46e08c80, adj_next_index=IP_LOOKUP_NEXT_REWRITE, this_node=426, > next_node=682, rewrite=0x7f7b4a5c4b40 > "z\001\277d\004\004zP\245d\004\004\210G") > at /home/supervisor/development/libvpp/src/vnet/adj/adj_nbr.c:472 > #5 0x00007f7b6821eb99 in adj_nbr_update_rewrite (adj_index=2, > flags=ADJ_NBR_REWRITE_FLAG_COMPLETE, > rewrite=0x7f7b4a5c4b40 "z\001\277d\004\004zP\245d\004\004\210G") at > /home/supervisor/development/libvpp/src/vnet/adj/adj_nbr.c:335 > #6 0x00007f7b67c1e02d in ip_neighbor_mk_complete (ai=2, ipn=0x7f7b476dd0d8) > at > /home/supervisor/development/libvpp/src/vnet/ip-neighbor/ip_neighbor.c:337 > ---Type <return> to continue, or q <return> to quit--- > #7 0x00007f7b67c11683 in ip_neighbor_mk_complete_walk (ai=2, > ctx=0x7f7b476dd0d8) > at > /home/supervisor/development/libvpp/src/vnet/ip-neighbor/ip_neighbor.c:364 > #8 0x00007f7b68220063 in adj_nbr_walk_nh4 (sw_if_index=5, > addr=0x7f7b476dcf60, cb=0x7f7b67c11660 <ip_neighbor_mk_complete_walk>, > ctx=0x7f7b476dd0d8) at > /home/supervisor/development/libvpp/src/vnet/adj/adj_nbr.c:626 > #9 0x00007f7b682202f8 in adj_nbr_walk_nh (sw_if_index=5, > adj_nh_proto=FIB_PROTOCOL_IP4, nh=0x7f7b476dcf54, > cb=0x7f7b67c11660 <ip_neighbor_mk_complete_walk>, ctx=0x7f7b476dd0d8) at > /home/supervisor/development/libvpp/src/vnet/adj/adj_nbr.c:677 > #10 0x00007f7b67c127f0 in ip_neighbor_update (vnm=0x7f7b688133e8 <vnet_main>, > ai=2) > at > /home/supervisor/development/libvpp/src/vnet/ip-neighbor/ip_neighbor.c:661 > #11 0x00007f7b6788ec7d in ethernet_update_adjacency (vnm=0x7f7b688133e8 > <vnet_main>, sw_if_index=5, ai=2) > at /home/supervisor/development/libvpp/src/vnet/ethernet/interface.c:219 > #12 0x00007f7b68244bbf in vnet_update_adjacency_for_sw_interface > (vnm=0x7f7b688133e8 <vnet_main>, sw_if_index=5, ai=2) > at /home/supervisor/development/libvpp/src/vnet/adj/rewrite.c:187 > #13 0x00007f7b6821e667 in adj_nbr_add_or_lock (nh_proto=FIB_PROTOCOL_IP4, > link_type=VNET_LINK_MPLS, nh_addr=0x7f7b46d171e0, sw_if_index=5) > at /home/supervisor/development/libvpp/src/vnet/adj/adj_nbr.c:270 > #14 0x00007f7b681f33fb in fib_path_attached_next_hop_get_adj > (path=0x7f7b46d171c8, link=VNET_LINK_MPLS, dpo=0x7f7b2e08e168) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_path.c:674 > #15 0x00007f7b681f2ed0 in fib_path_contribute_forwarding (path_index=52, > fct=FIB_FORW_CHAIN_TYPE_MPLS_NON_EOS, dpo=0x7f7b2e08e168) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_path.c:2475 > #16 0x00007f7b681fb2b9 in fib_path_ext_stack (path_ext=0x7f7b435e7220, > child_fct=FIB_FORW_CHAIN_TYPE_UNICAST_IP4, > imp_null_fct=FIB_FORW_CHAIN_TYPE_UNICAST_IP4, nhs=0x7f7b4285f8d0) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_path_ext.c:241 > #17 0x00007f7b681d11b3 in fib_entry_src_collect_forwarding (pl_index=50, > path_index=52, arg=0x7f7b2e08e380) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_entry_src.c:476 > #18 0x00007f7b681ec18d in fib_path_list_walk (path_list_index=50, > func=0x7f7b681d1020 <fib_entry_src_collect_forwarding>, ctx=0x7f7b2e08e380) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_path_list.c:1408 > #19 0x00007f7b681d0964 in fib_entry_src_mk_lb (fib_entry=0x7f7b46d38bf0, > esrc=0x7f7b45a576d0, fct=FIB_FORW_CHAIN_TYPE_UNICAST_IP4, > dpo_lb=0x7f7b46d38c18) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_entry_src.c:576 > #20 0x00007f7b681d15f3 in fib_entry_src_action_install > (fib_entry=0x7f7b46d38bf0, source=FIB_SOURCE_CLI) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_entry_src.c:706 > #21 0x00007f7b681d251f in fib_entry_src_action_reactivate > (fib_entry=0x7f7b46d38bf0, source=FIB_SOURCE_CLI) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_entry_src.c:1222 > #22 0x00007f7b681cf4e2 in fib_entry_back_walk_notify (node=0x7f7b46d38bf0, > ctx=0x7f7b2e08e668) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_entry.c:316 > #23 0x00007f7b681c77e2 in fib_node_back_walk_one (ptr=0x7f7b2e08e688, > ctx=0x7f7b2e08e668) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_node.c:161 > #24 0x00007f7b681b228a in fib_walk_advance (fwi=1) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:368 > ---Type <return> to continue, or q <return> to quit--- > #25 0x00007f7b681b2e20 in fib_walk_sync (parent_type=FIB_NODE_TYPE_PATH_LIST, > parent_index=50, ctx=0x7f7b2e08e828) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:792 > #26 0x00007f7b681e27b6 in fib_path_list_back_walk (path_list_index=50, > ctx=0x7f7b2e08e828) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_path_list.c:500 > #27 0x00007f7b681fa6d5 in fib_path_back_walk_notify (node=0x7f7b46d171c8, > ctx=0x7f7b2e08e828) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_path.c:1226 > #28 0x00007f7b681c77e2 in fib_node_back_walk_one (ptr=0x7f7b2e08e848, > ctx=0x7f7b2e08e828) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_node.c:161 > #29 0x00007f7b681b228a in fib_walk_advance (fwi=0) at > /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:368 > #30 0x00007f7b681b2e20 in fib_walk_sync (parent_type=FIB_NODE_TYPE_ADJ, > parent_index=1, ctx=0x7f7b2e08e8e0) > at /home/supervisor/development/libvpp/src/vnet/fib/fib_walk.c:792 > #31 0x00007f7b6824c340 in adj_bfd_update_walk (ai=1) at > /home/supervisor/development/libvpp/src/vnet/adj/adj_bfd.c:105 > #32 0x00007f7b6824b837 in adj_bfd_notify (event=BFD_LISTEN_EVENT_UPDATE, > session=0x7f7b46ed6738) > at /home/supervisor/development/libvpp/src/vnet/adj/adj_bfd.c:198 > #33 0x00007f7b67c5a6ca in bfd_notify_listeners (bm=0x7f7b6881b7f0 <bfd_main>, > event=BFD_LISTEN_EVENT_UPDATE, bs=0x7f7b46ed6738) > at /home/supervisor/development/libvpp/src/vnet/bfd/bfd_main.c:450 > #34 0x00007f7b67c628ea in bfd_rpc_notify_listeners_cb (a=0x130094fa9) at > /home/supervisor/development/libvpp/src/vnet/bfd/bfd_main.c:617 > #35 0x00007f7b68874754 in vl_api_rpc_call_t_handler (mp=0x130094f90) at > /home/supervisor/development/libvpp/src/vlibmemory/vlib_api.c:531 > #36 0x00007f7b6888b06f in vl_msg_api_handler_with_vm_node (am=0x7f7b68a9ed18 > <api_global_main>, vlib_rp=0x13002b000, the_msg=0x130094f90, > vm=0x7f7b672f0c40 <vlib_global_main>, node=0x7f7b427fed80, is_private=0 > '\000') > at /home/supervisor/development/libvpp/src/vlibapi/api_shared.c:635 > #37 0x00007f7b68846c4b in vl_mem_api_handle_rpc (vm=0x7f7b672f0c40 > <vlib_global_main>, node=0x7f7b427fed80) > at /home/supervisor/development/libvpp/src/vlibmemory/memory_api.c:746 > #38 0x00007f7b68868797 in vl_api_clnt_process (vm=0x7f7b672f0c40 > <vlib_global_main>, node=0x7f7b427fed80, f=0x0) > at /home/supervisor/development/libvpp/src/vlibmemory/vlib_api.c:337 > #39 0x00007f7b670368ed in vlib_process_bootstrap (_a=140167380903912) at > /home/supervisor/development/libvpp/src/vlib/main.c:1464 > #40 0x00007f7b668adc44 in clib_calljmp () at > /home/supervisor/development/libvpp/src/vppinfra/longjmp.S:123 > #41 0x00007f7b42f2a7e0 in ?? () > #42 0x00007f7b6703632f in vlib_process_startup (vm=0x11442f2a850, > p=0x73f1147b8e1390, f=0x114) > at /home/supervisor/development/libvpp/src/vlib/main.c:1489 > #43 0x0000003546e0d9d0 in ?? () > #44 0x000000000000001d in ?? () > #45 0x0000003a00000001 in ?? () > #46 0x000000000000001f in ?? () > #47 0x00007f7b672f0c40 in ?? () from > /home/supervisor/development/libvpp/build-root/install-vpp_debug-native/vpp/lib/libvlib.so.1.0.1 > ---Type <return> to continue, or q <return> to quit--- > #48 0x00007f7b42f2a950 in ?? () > #49 0x00007f7b688449e1 in memclnt_queue_callback (vm=<error reading variable: > Cannot access memory at address 0xfffffffffffffff8>) > at /home/supervisor/development/libvpp/src/vlibmemory/memory_api.c:110 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > (gdb) > > Thanks and Regards, > Sudhir > > NOTICE TO RECIPIENT This e-mail message and any attachments are confidential > and may be privileged. If you received this e-mail in error, any review, use, > dissemination, distribution, or copying of this e-mail is strictly > prohibited. Please notify us immediately of the error by return e-mail and > please delete this message from your system. For more information about > Rtbrick, please visit us at www.rtbrick.com > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19548): https://lists.fd.io/g/vpp-dev/message/19548 Mute This Topic: https://lists.fd.io/mt/83418156/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-