Hi Florin,

Thanks for the suggestion. It looks like in my case 
*ip4_local_l4_csum_validate* is being called:

Breakpoint 1, ip4_local_l4_csum_validate (vm=0x7fffb4ecef40, p=0x10026d9980, 
ip=0x10026d9a8e, is_udp=1 '\001',
error=0x7fffb517b1d8 "\016\023", good_tcp_udp=0x7fffb517b19d 
"\177\001\001@\274\027\265\377\177")
at /root/vpp.20.01/src/vnet/ip/ip4_forward.c:1376
1376      flags0 = ip4_tcp_udp_validate_checksum (vm, p);
Missing separate debuginfos, use: debuginfo-install 
keyutils-libs-1.5.8-3.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 
libselinux-2.5-14.1.el7.x86_64 libuuid-2.23.2-61.el7_7.1.x86_64 
numactl-libs-2.0.12-3.el7_7.1.x86_64 pcre-8.32-17.el7.x86_64
(gdb) bt
#0 *ip4_local_l4_csum_validate* (vm=0x7fffb4ecef40, p=0x10026d9980, 
ip=0x10026d9a8e, is_udp=1 '\001',
error=0x7fffb517b1d8 "\016\023", good_tcp_udp=0x7fffb517b19d 
"\177\001\001@\274\027\265\377\177")
at /root/vpp.20.01/src/vnet/ip/ip4_forward.c:1376
#1  0x00007ffff6a126eb in *ip4_local_check_l4_csum* (vm=0x7fffb4ecef40, 
b=0x10026d9980, ih=0x10026d9a8e,
error=0x7fffb517b1d8 "\016\023") at 
/root/vpp.20.01/src/vnet/ip/ip4_forward.c:1416
#2  0x00007ffff6a1379a in ip4_local_inline (vm=0x7fffb4ecef40, 
node=0x7fffb518ba00, frame=0x7fffb6f99980,
head_of_feature_arc=1) at /root/vpp.20.01/src/vnet/ip/ip4_forward.c:1799
#3  0x00007ffff6a138ea in ip4_local_node_fn_avx2 (vm=0x7fffb4ecef40, 
node=0x7fffb518ba00, frame=0x7fffb6f99980)
at /root/vpp.20.01/src/vnet/ip/ip4_forward.c:1819
#4  0x00007ffff63f8078 in dispatch_node (vm=0x7fffb4ecef40, 
node=0x7fffb518ba00, type=VLIB_NODE_TYPE_INTERNAL,
dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x7fffb6f99980, 
last_time_stamp=1602712959932124)
at /root/vpp.20.01/src/vlib/main.c:1208
#5  0x00007ffff63f8839 in dispatch_pending_node (vm=0x7fffb4ecef40, 
pending_frame_index=3,
last_time_stamp=1602712959932124) at /root/vpp.20.01/src/vlib/main.c:1376
#6  0x00007ffff63fa4d7 in vlib_main_or_worker_loop (vm=0x7fffb4ecef40, 
is_main=0)
at /root/vpp.20.01/src/vlib/main.c:1834
#7  0x00007ffff63fad42 in vlib_worker_loop (vm=0x7fffb4ecef40) at 
/root/vpp.20.01/src/vlib/main.c:1941
#8  0x00007ffff6439893 in vlib_worker_thread_fn (arg=0x7fffb37bf400) at 
/root/vpp.20.01/src/vlib/threads.c:1777
#9  0x00007ffff5878efc in clib_calljmp () at 
/root/vpp.20.01/src/vppinfra/longjmp.S:123
#10 0x00007fff9c74cc00 in ?? ()
#11 0x00007ffff6433e22 in vlib_worker_thread_bootstrap_fn (arg=0x7fffb37bf400)
at /root/vpp.20.01/src/vlib/threads.c:590

static inline void
ip4_local_check_l4_csum (vlib_main_t * vm, vlib_buffer_t * b,
ip4_header_t * ih, u8 * error)
{
u8 is_udp, is_tcp_udp, good_tcp_udp;

is_udp = ih->protocol == IP_PROTOCOL_UDP;
is_tcp_udp = is_udp || ih->protocol == IP_PROTOCOL_TCP;

if (PREDICT_FALSE (ip4_local_need_csum_check (is_tcp_udp, b)))
*ip4_local_l4_csum_validate (vm, b, ih, is_udp, error, &good_tcp_udp); <==* 
ip4_forward.c: *Line 1416*
else
good_tcp_udp = ip4_local_csum_is_valid (b);

ASSERT (IP4_ERROR_TCP_CHECKSUM + 1 == IP4_ERROR_UDP_CHECKSUM);
*error = (is_tcp_udp && !good_tcp_udp
? IP4_ERROR_TCP_CHECKSUM + is_udp : *error);
}

Not really sure what to do with this information... any suggestions?

Thanks,
Dom
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#15471): https://lists.fd.io/g/vpp-dev/message/15471
Mute This Topic: https://lists.fd.io/mt/71401293/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to