Hi Neale,

You are right, I think there is a possibility of a route getting resolved
through the tunnel, when the tunnel delete was called.
Though what is being resolved is not the mpls tunnel by itself nor the
rpath with the extension, but the plain nexthop.

Thanks a lot for the pointer. But how can this be fixed in our application?
I can check the ret_val of *vnet_mpls_tunnel_path_remove*() before calling
*vnet_mpls_tunnel_del*.
If paths are not removed, bail out and do the vnet_mpls_tunnel_del at a
later point of time.  Is there any better way to do it? Can you please
suggest.

Thanks,
Rajith




On Tue, Sep 14, 2021 at 5:27 PM Neale Ranns <[email protected]> wrote:

>
>
> Hi Rajiyh,
>
>
>
> Maybe there’s something that still resolves through the tunnel when it’s
> deleted?
>
>
>
> /neale
>
>
>
> *From: *[email protected] <[email protected]> on behalf of Rajith PR
> via lists.fd.io <[email protected]>
> *Date: *Tuesday, 14 September 2021 at 13:17
> *To: *vpp-dev <[email protected]>
> *Subject: *[vpp-dev]: Assert in vnet_mpls_tunnel_del()
>
> Hi All,
>
>
>
> We recently started using the VPP's mpls tunnel constructs for our L2
> cross connect application. In certain test scenarios we are seeing a crash
> in the delete path of the mpls tunnel.
>
> Any pointers to fix the issue would be really helpful.
>
>
>
> Version: *20.09*
>
> Call Stack:
>
>
>
> Thread 1 (Thread 0x7f854cdd3400 (LWP 14261)):
>
> #0  0x00007f854c41b492 in __GI___waitpid (pid=21116, 
> stat_loc=stat_loc@entry=0x7f84f79abc28, options=options@entry=0) at 
> ../sysdeps/unix/sysv/linux/waitpid.c:30
>
> #1  0x00007f854c386177 in do_system (line=<optimized out>) at 
> ../sysdeps/posix/system.c:149
>
> #2  0x00007f854c96918d in bd_signal_handler_cb () from 
> /usr/local/lib/libbd-infra.so
>
> #3  0x00007f853db8953f in rtb_bd_signal_handler () from 
> /usr/local/lib/libvlib.so.1.0.1
>
> #4  0x00007f853db899a2 in unix_signal_handler () from 
> /usr/local/lib/libvlib.so.1.0.1
>
> #5  <signal handler called>
>
> #6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
>
> #7  0x00007f854c377921 in __GI_abort () at abort.c:79
>
> #8  0x00007f853f58a9e3 in os_panic () from /usr/local/lib/librtbvpp.so
>
> #9  0x00007f853d35aaa9 in ?? () from /usr/local/lib/libvppinfra.so.1.0.1
>
> #10 0x00007f853d35a827 in _clib_error () from 
> /usr/local/lib/libvppinfra.so.1.0.1
>
> #11 0x00007f853ecb2d75 in ?? () from /usr/local/lib/libvnet.so.1.0.1
>
> #12 0x00007f853ecb302d in fib_path_list_get_n_paths () from 
> /usr/local/lib/libvnet.so.1.0.1
>
> #13 0x00007f853e8f0b5c in ?? () from /usr/local/lib/libvnet.so.1.0.1
>
> #14 0x00007f853e8ef942 in ?? () from /usr/local/lib/libvnet.so.1.0.1
>
> #15 0x00007f853e8ed51a in ?? () from /usr/local/lib/libvnet.so.1.0.1
>
> #16 0x00007f853e2e9e1a in ?? () from /usr/local/lib/libvnet.so.1.0.1
>
> #17 0x00007f853e2ea0e8 in vnet_sw_interface_set_flags () from 
> /usr/local/lib/libvnet.so.1.0.1
>
> #18 0x00007f853e2eb6e4 in vnet_delete_sw_interface () from 
> /usr/local/lib/libvnet.so.1.0.1
>
> #19 0x00007f853e2eede9 in vnet_delete_hw_interface () from 
> /usr/local/lib/libvnet.so.1.0.1
>
> #20 0x00007f853e8ee368 in vnet_mpls_tunnel_del () from 
> /usr/local/lib/libvnet.so.1.0.1
>
> #21 0x00007f853f74535a in rtb_vpp_l2_xconnect_route_del_handle () from 
> /usr/local/lib/librtbvpp.so
>
> #22 0x00007f853f7453fa in rtb_vpp_l2_xconnect_route_handle () from 
> /usr/local/lib/librtbvpp.so
>
> #23 0x00007f853f69551b in rtb_vpp_route_mapping_process () from 
> /usr/local/lib/librtbvpp.so
>
> #24 0x00007f853f696a67 in rtb_vpp_route_adjacency_handle () from 
> /usr/local/lib/librtbvpp.so
>
> #25 0x00007f853f696d22 in rtb_vpp_route_api_out_process () from 
> /usr/local/lib/librtbvpp.so
>
> #26 0x00007f85406b3975 in fib_route_api_out_del () from 
> /usr/local/lib/libfibd.so
>
> #27 0x00007f85406b3a83 in fib_route_api_out_tbl_vpp_wlk () from 
> /usr/local/lib/libfibd.so
>
> #28 0x00007f85406a550b in fib_job_tmr_cb () from /usr/local/lib/libfibd.so
>
> #29 0x00007f854b27e6c2 in bds_qrunner_dispatch () from 
> /usr/local/lib/libbds.so
>
> #30 0x00007f854b27f77c in bds_qrunner_dispatch_type () from 
> /usr/local/lib/libbds.so
>
> #31 0x00007f854b27f9aa in bds_qrunner_dispatch_prepare () from 
> /usr/local/lib/libbds.so
>
> #32 0x00007f854b27faa8 in bds_qrunner_expire () from /usr/local/lib/libbds.so
>
> #33 0x00007f854a67f616 in ?? () from /usr/local/lib/libqb.so
>
> #34 0x00007f854a67cfa7 in ?? () from /usr/local/lib/libqb.so
>
> #35 0x00007f854a67d797 in qb_loop_run_vpp_wrapper () from 
> /usr/local/lib/libqb.so
>
> #36 0x00007f854a6890e8 in lib_qb_service_start_event_wrapper_loop () from 
> /usr/local/lib/libqb.so
>
> #37 0x00007f854c96b262 in bd_event_loop_run_once () from 
> /usr/local/lib/libbd-infra.so
>
> #38 0x00007f85060444f8 in ?? () from 
> /usr/local/lib/vpp_plugins/rtbrick_plugin.so
>
> #39 0x00007f853db058dd in ?? () from /usr/local/lib/libvlib.so.1.0.1
>
> #40 0x00007f853d37ec34 in clib_calljmp () from 
> /usr/local/lib/libvppinfra.so.1.0.1
>
> #41 0x00007f85255f7a10 in ?? ()
>
> #42 0x00007f853db0531f in ?? () from /usr/local/lib/libvlib.so.1.0.1
>
> Code Snippet for Creating Tunnel (rpath has the out-labels and  nexthop):
>
>
>           vec_add1(rpaths, rpath);
>           tunnel_sw_if_index = vnet_mpls_tunnel_create(1, 0, NULL);
>           vnet_mpls_tunnel_path_add(tunnel_sw_if_index, rpaths);
>           vnet_sw_interface_admin_up(vnm, tunnel_sw_if_index);
>
>
>
> Code Snippet for Deleting Tunnel.
>
>
>
>          vec_add1(rpaths, rpath);
>          vnet_mpls_tunnel_path_remove(sw_if_index, rpaths);
>          vec_free(rpaths);
>          vnet_mpls_tunnel_del(sw_if_index);
>
>
>
> Thanks,
>
> Rajith
>
>
>
>
>
> 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
>

-- 
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 
<http://www.rtbrick.com>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20130): https://lists.fd.io/g/vpp-dev/message/20130
Mute This Topic: https://lists.fd.io/mt/85599060/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to