Hello, all I have got an issue with routes via deleted interfaces, need some help. Route freezes in unresolved state Both stable/1804 and master, Ubuntu Xenial, gcc 5.4.0
Steps to reproduce: 1. Create and configure veth pair ip link add name veth0 type veth peer name vpp0 ip link set dev vpp0 up ip link set dev veth0 up ip addr add 172.16.0.1/24 dev veth0 ip addr add 172.16.0.3/24 dev veth0 2. Run VPP and configure tunnels DBGvpp# sh vervpp v19.04-rc0~176-g72b3bce built by kahzeemin on kahzeemin-nix at Wed Feb 13 11:29:06 MSK 2019
DBGvpp# create host name vpp0 host-vpp0 DBGvpp# set int state host-vpp0 up DBGvpp# set int ip addr host-vpp0 172.16.0.2/24 DBGvpp# create gre tun src 172.16.0.2 dst 172.16.0.1 gre0 DBGvpp# create gre tun src 172.16.0.2 dst 172.16.0.3 gre1 DBGvpp# set int state gre0 up DBGvpp# set int state gre1 up 3.Add routes via interfaces DBGvpp# ip route add 10.0.0.1/32 via gre0 DBGvpp# ip route add 10.0.0.2/32 via gre1 DBGvpp# sh ip fib 10.0.0.1ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] locks:[src:plugin-hi:2, src:adjacency:2, src:default-route:1, ]
10.0.0.1/32 fib:0 index:13 locks:2 src:CLI refs:1 entry-flags:attached, src-flags:added,contributing,active, path-list:[14] locks:2 flags:shared, uPRF-list:12 len:1 itfs:[2, ]path:[14] pl-index:14 ip4 weight=1 pref=0 attached-nexthop: oper-flags:resolved, cfg-flags:attached,
10.0.0.1 gre0 (p2p)[@0]: ipv4 via 0.0.0.0 gre0: mtu:9000 4500000000000000fe2f64abac100002ac10000100000800
stacked-on entry:11:[@3]: ipv4 via 172.16.0.1 host-vpp0: mtu:9000 366ba086d7c402fe00c21f450800
forwarding: unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:15 buckets:1 uRPF:12 to:[0:0]][0] [@6]: ipv4 via 0.0.0.0 gre0: mtu:9000 4500000000000000fe2f64abac100002ac10000100000800
stacked-on entry:11:[@3]: ipv4 via 172.16.0.1 host-vpp0: mtu:9000 366ba086d7c402fe00c21f450800
DBGvpp# sh ip fib 10.0.0.2ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] locks:[src:plugin-hi:2, src:adjacency:2, src:default-route:1, ]
10.0.0.2/32 fib:0 index:14 locks:2 src:CLI refs:1 entry-flags:attached, src-flags:added,contributing,active, path-list:[18] locks:2 flags:shared, uPRF-list:16 len:1 itfs:[3, ]path:[18] pl-index:18 ip4 weight=1 pref=0 attached-nexthop: oper-flags:resolved, cfg-flags:attached,
10.0.0.2 gre1 (p2p)[@0]: ipv4 via 0.0.0.0 gre1: mtu:9000 4500000000000000fe2f64a9ac100002ac10000300000800
stacked-on entry:12:[@3]: ipv4 via 172.16.0.3 host-vpp0: mtu:9000 366ba086d7c402fe00c21f450800
forwarding: unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:16 buckets:1 uRPF:16 to:[0:0]][0] [@6]: ipv4 via 0.0.0.0 gre1: mtu:9000 4500000000000000fe2f64a9ac100002ac10000300000800
stacked-on entry:12:[@3]: ipv4 via 172.16.0.3 host-vpp0: mtu:9000 366ba086d7c402fe00c21f450800
3. Remove one of the interfaces DBGvpp# create gre tun src 172.16.0.2 dst 172.16.0.1 del DELETED DBGvpp# sh ip fib 10.0.0.1ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] locks:[src:plugin-hi:2, src:adjacency:2, src:default-route:1, ]
10.0.0.1/32 fib:0 index:13 locks:2 src:CLI refs:1 entry-flags:attached, src-flags:added,contributing,active, path-list:[14] locks:2 flags:shared, uPRF-list:12 len:1 itfs:[2, ]path:[14] pl-index:14 ip4 weight=1 pref=0 attached-nexthop: oper-flags:drop, cfg-flags:attached,
10.0.0.1 if_index:2 unresolved forwarding: unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:15 buckets:1 uRPF:12 to:[0:0]] [0] [@0]: dpo-drop ip4 /*route becomes unresolved here*/ 4. Try to redefine unresolved route DBGvpp# ip route add 10.0.0.1/32 via gre1/home/kahzeemin/vpp/src/vnet/interface_funcs.h:60 (vnet_get_sw_interface) assertion `! pool_is_free (vnm->interface_main.sw_interfaces, _e)' fails
Thread 1 "vpp_main" received signal SIGABRT, Aborted.0x00007ffff5d03428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) where#0 0x00007ffff5d03428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff5d0502a in __GI_abort () at abort.c:89#2 0x000000000040799d in os_panic () at /home/kahzeemin/vpp/src/vpp/vnet/main.c:335 #3 0x00007ffff60d63bc in debugger () at /home/kahzeemin/vpp/src/vppinfra/error.c:84 #4 0x00007ffff60d67f4 in _clib_error (how_to_die=2, function_name=0x0, line_number=0, fmt=0x7ffff7720f58 "%s:%d (%s) assertion `%s' fails") at /home/kahzeemin/vpp/src/vppinfra/error.c:143 #5 0x00007ffff6bfad2b in vnet_get_sw_interface (vnm=0x7ffff7b79980 <vnet_main>, sw_if_index=2)
at /home/kahzeemin/vpp/src/vnet/interface_funcs.h:60#6 0x00007ffff6c0106a in vnet_sw_interface_is_p2p (vnm=0x7ffff7b79980 <vnet_main>, sw_if_index=2)
at /home/kahzeemin/vpp/src/vnet/interface.c:1212#7 0x00007ffff75fc43f in fib_path_attached_next_hop_get_adj (path=0x7fffb5fbc60c, link=VNET_LINK_IP4)
at /home/kahzeemin/vpp/src/vnet/fib/fib_path.c:644#8 0x00007ffff75fc50f in fib_path_attached_next_hop_set (path=0x7fffb5fbc60c)
at /home/kahzeemin/vpp/src/vnet/fib/fib_path.c:674#9 0x00007ffff75fee1c in fib_path_resolve (path_index=20) at /home/kahzeemin/vpp/src/vnet/fib/fib_path.c:1883
#10 0x00007ffff75f8696 in fib_path_list_resolve (path_list=0x7fffb5d713c4) at /home/kahzeemin/vpp/src/vnet/fib/fib_path_list.c:578#11 0x00007ffff75f94ad in fib_path_list_copy_and_path_add (orig_path_list_index=14, flags=FIB_PATH_LIST_FLAG_SHARED, rpaths=0x7fffb5fcde9c) at /home/kahzeemin/vpp/src/vnet/fib/fib_path_list.c:961 #12 0x00007ffff75ecfa7 in fib_entry_src_api_path_add (src=0x7fffb5dfbdac, entry=0x7fffb5dfab34, pl_flags=FIB_PATH_LIST_FLAG_NONE, rpaths=0x7fffb5fcde9c) at /home/kahzeemin/vpp/src/vnet/fib/fib_entry_src_api.c:78 #13 0x00007ffff75e97fa in fib_entry_src_action_path_add (fib_entry=0x7fffb5dfab34, source=FIB_SOURCE_CLI, flags=FIB_ENTRY_FLAG_NONE, rpath=0x7fffb5fcde9c) at /home/kahzeemin/vpp/src/vnet/fib/fib_entry_src.c:1579 #14 0x00007ffff75de78a in fib_entry_path_add (fib_entry_index=13, source=FIB_SOURCE_CLI, flags=FIB_ENTRY_FLAG_NONE, rpath=0x7fffb5fcde9c) at /home/kahzeemin/vpp/src/vnet/fib/fib_entry.c:923 #15 0x00007ffff75c870b in fib_table_entry_path_add2 (fib_index=0, prefix=0x7fffb5fb9ab0, source=FIB_SOURCE_CLI, flags=FIB_ENTRY_FLAG_NONE, rpath=0x7fffb5fcde9c) at /home/kahzeemin/vpp/src/vnet/fib/fib_table.c:588 #16 0x00007ffff6f7c23d in vnet_ip_route_cmd (vm=0x7ffff68d0340 <vlib_global_main>, main_input=0x7fffb5fb9ee0,
cmd=0x7fffb5f66a3c) at /home/kahzeemin/vpp/src/vnet/ip/lookup.c:467#17 0x00007ffff660405f in vlib_cli_dispatch_sub_commands (vm=0x7ffff68d0340 <vlib_global_main>, cm=0x7ffff68d0528 <vlib_global_main+488>, input=0x7fffb5fb9ee0, parent_command_index=344)
at /home/kahzeemin/vpp/src/vlib/cli.c:607#18 0x00007ffff6603ef9 in vlib_cli_dispatch_sub_commands (vm=0x7ffff68d0340 <vlib_global_main>, cm=0x7ffff68d0528 <vlib_global_main+488>, input=0x7fffb5fb9ee0, parent_command_index=0)
at /home/kahzeemin/vpp/src/vlib/cli.c:568#19 0x00007ffff660448c in vlib_cli_input (vm=0x7ffff68d0340 <vlib_global_main>, input=0x7fffb5fb9ee0, function=0x7ffff669222a <unix_vlib_cli_output>, function_arg=0) at /home/kahzeemin/vpp/src/vlib/cli.c:707 #20 0x00007ffff6697dad in unix_cli_process_input (cm=0x7ffff68d0140 <unix_cli_main>, cli_file_index=0)
at /home/kahzeemin/vpp/src/vlib/unix/cli.c:2420#21 0x00007ffff669896e in unix_cli_process (vm=0x7ffff68d0340 <vlib_global_main>, rt=0x7fffb5fa9000, f=0x0)
at /home/kahzeemin/vpp/src/vlib/unix/cli.c:2536#22 0x00007ffff6642f91 in vlib_process_bootstrap (_a=140736236353872) at /home/kahzeemin/vpp/src/vlib/main.c:1461
#23 0x00007ffff60f978c in clib_calljmp ()from /home/kahzeemin/vpp/build-root/install-vpp_debug-native/vpp/lib/libvppinfra.so.19.04
#24 0x00007fffb55ff920 in ?? () #25 0x00007ffff66430bc in vlib_process_startup (vm=0x8, p=0x7fffb55ff960,f=0x7ffff66901d8 <vlib_process_signal_event_data+506>) at /home/kahzeemin/vpp/src/vlib/main.c:1483
Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) Scripts to reproduce attached. Thank you in advance, Fedor
create host name vpp0 set int state host-vpp0 up set int ip addr host-vpp0 172.16.0.2/24 create gre tun src 172.16.0.2 dst 172.16.0.1 create gre tun src 172.16.0.2 dst 172.16.0.3 set int state gre0 up set int state gre1 up ip route add 10.0.0.1/32 via gre0 ip route add 10.0.0.2/32 via gre1 create gre tun src 172.16.0.2 dst 172.16.0.1 del ip route add 10.0.0.1/32 via gre1
unresolved.sh
Description: application/shellscript
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12243): https://lists.fd.io/g/vpp-dev/message/12243 Mute This Topic: https://lists.fd.io/mt/29781552/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-