Hello list,
I am trying to get NAT working in latest VPP and occasionally VPP hits
the following assert:
ASSERT (thread_index == ed_value_get_thread_index (&value0));
Here ed_value_get_thread_index (&value0) is 1 and thread_index is 2
Not sure how the packet is getting into thread 2, if it is not expected?
If any hints can be given, as to where I should be focusing, I can dig
deeper and even submit a patch if I figure out whats wrong.
bt is as follows:
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff47b1921 in __GI_abort () at abort.c:79
#2 0x00007ffff574c1e9 in os_panic () at
/root/raj/vpp_up/vpp/src/vppinfra/unix-misc.c:177
#3 0x00007ffff5690079 in debugger () at
/root/raj/vpp_up/vpp/src/vppinfra/error.c:84
#4 0x00007ffff568fdf7 in _clib_error (how_to_die=2,
function_name=0x0, line_number=0,
fmt=0x7fff6b84b31f "%s:%d (%s) assertion `%s' fails") at
/root/raj/vpp_up/vpp/src/vppinfra/error.c:143
#5 0x00007fff6b772a1c in nat44_ed_out2in_fast_path_node_fn_inline
(vm=0x7fff79f6d440, node=0x7fff9020e680, frame=0x7fff79fee9c0,
is_multi_worker=1) at
/root/raj/vpp_up/vpp/src/plugins/nat/nat44-ed/nat44_ed_out2in.c:896
#6 0x00007fff6b77220a in nat44_ed_out2in_node_fn_hsw
(vm=0x7fff79f6d440, node=0x7fff9020e680, frame=0x7fff79fee9c0)
at /root/raj/vpp_up/vpp/src/plugins/nat/nat44-ed/nat44_ed_out2in.c:1354
#7 0x00007ffff605b586 in dispatch_node (vm=0x7fff79f6d440,
node=0x7fff9020e680, type=VLIB_NODE_TYPE_INTERNAL,
dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x7fff79fee9c0,
last_time_stamp=3626105361929035)
at /root/raj/vpp_up/vpp/src/vlib/main.c:1217
#8 0x00007ffff605bef7 in dispatch_pending_node (vm=0x7fff79f6d440,
pending_frame_index=0, last_time_stamp=3626105361929035)
at /root/raj/vpp_up/vpp/src/vlib/main.c:1376
#9 0x00007ffff6055951 in vlib_main_or_worker_loop (vm=0x7fff79f6d440,
is_main=0) at /root/raj/vpp_up/vpp/src/vlib/main.c:1904
#10 0x00007ffff60547f7 in vlib_worker_loop (vm=0x7fff79f6d440) at
/root/raj/vpp_up/vpp/src/vlib/main.c:2038
#11 0x00007ffff60acfbd in vlib_worker_thread_fn (arg=0x7fff74db6fc0)
at /root/raj/vpp_up/vpp/src/vlib/threads.c:1868
#12 0x00007ffff56b6c64 in clib_calljmp () at
/root/raj/vpp_up/vpp/src/vppinfra/longjmp.S:123
#13 0x00007fff5fffecd0 in ?? ()
#14 0x00007ffff60a51e3 in vlib_worker_thread_bootstrap_fn
(arg=0x7fff74db6fc0) at /root/raj/vpp_up/vpp/src/vlib/threads.c:585
#15 0x00007fff6f9d049a in eal_thread_loop ()
from
/root/raj/vpp_up/vpp/build-root/install-vpp_debug-native/vpp/lib/vpp_plugins/dpdk_plugin.so
#16 0x00007ffff7bbb6db in start_thread (arg=0x7fff5ffff700) at
pthread_create.c:463
#17 0x00007ffff489271f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) f 5
#5 0x00007fff6b772a1c in nat44_ed_out2in_fast_path_node_fn_inline
(vm=0x7fff79f6d440, node=0x7fff9020e680, frame=0x7fff79fee9c0,
is_multi_worker=1) at
/root/raj/vpp_up/vpp/src/plugins/nat/nat44-ed/nat44_ed_out2in.c:896
896 ASSERT (thread_index == ed_value_get_thread_index (&value0));
Some more exploration with gdb:
(gdb) p thread_index
$12 = 2
(gdb) p value0
$13 = {key = {72372793148251820, 18411084712597520390}, value = 4295018919}
(gdb) p lookup.saddr
$14 = {data = "\254\036\001\003", data_u32 = 50405036, as_u8 =
"\254\036\001\003", as_u16 = {7852, 769}, as_u32 = 50405036}
(gdb) p lookup.daddr
$15 = {data = "\254\036\001\001", data_u32 = 16850604, as_u8 =
"\254\036\001\001", as_u16 = {7852, 257}, as_u32 = 16850604}
(gdb) p lookup.sport
$16 = 20480
(gdb) p lookup.dport
$17 = 65409
(gdb) p/x lookup.sport
$18 = 0x5000
(gdb) p/x lookup.dport
$19 = 0xff81
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19289): https://lists.fd.io/g/vpp-dev/message/19289
Mute This Topic: https://lists.fd.io/mt/82401959/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-