This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Kernel network error when using UDP communication in psdk 7.00

Part Number: TDA4VM

Hi,

We are using fast-rtps in our application. Fast-rtps is a tool base on UDP broadcast. But the kernel will dump much error log when using fast-rtps.

We can use iperf3 to replicate this situation instead fast-rtps.

Keep TDA4 and a PC into a same network.

In TDA4, execute follow command as a iperf3 server.

iperf3 -s

In PC, execute follow cammand to send some udp package to server.(My TDA4 ip address is 172.16.0.254)

iperf3 -c 172.16.0.254 -u

Then the kernel will dump very much error log in UART console. I copy part of it here.

[   56.311926] eth0: hw csum failure
[   56.315234] skb len=8220 headroom=78 headlen=1500 tailroom=0
[   56.315234] mac=(64,14) net=(78,20) trans=98
[   56.315234] shinfo(txflags=0 nr_frags=0 gso(size=0 type=0 segs=0))
[   56.315234] csum(0x2a203a59 ip_summed=2 complete_sw=0 valid=0 level=0)
[   56.315234] hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=0 iif=2
[   56.343417] dev name=eth0 feat=0x0x0001008000004a09
[   56.348283] skb linear:   00000000: 45 00 20 1c 5a 65 00 00 40 11 a7 21 ac 10 00 2c
[   56.355922] skb linear:   00000010: ac 10 00 fe a7 c8 14 51 20 08 14 0e 5f a3 4e 93
[   56.363561] skb linear:   00000020: 00 09 70 5f 00 00 00 0d f0 ef 02 81 d0 c5 56 d7
[   56.371199] skb linear:   00000030: bd b3 1a 96 f7 f2 ac 03 19 9b b8 f8 7d d5 14 bd
[   56.378846] skb linear:   00000040: 5b 1f f9 e1 9a 75 21 8a 64 23 0b 34 e8 61 0b a5
[   56.386486] skb linear:   00000050: 14 26 3b 0b 18 e7 0e 31 82 c7 2a 00 9c 3e bd f7
[   56.394125] skb linear:   00000060: 5e b6 d9 f8 2b fa 82 8f 1d 8d c3 05 ee cf aa 02
[   56.401763] skb linear:   00000070: f5 e5 0d 0d cc 1c 3e 4e e3 68 4e 7f a7 0b 76 05
[   56.409401] skb linear:   00000080: c1 4f fd ec 49 7f 7b 66 0c 3f 6b fa 0e 15 fc 03
[   56.417039] skb linear:   00000090: fa 09 10 c6 25 4e 15 08 b7 63 87 5e 6f fe 63 30
[   56.424678] skb linear:   000000a0: 4d 60 1d 97 df 98 fd eb d7 69 e5 e5 7e e1 e8 79
[   56.432316] skb linear:   000000b0: ea f8 3f 10 47 54 18 fe b8 a0 5c 27 9e bf 57 eb
[   56.439954] skb linear:   000000c0: 1f 74 82 fe 0d 80 e9 e4 e9 ce ca 67 af b2 e0 99
[   56.447593] skb linear:   000000d0: ab 20 a9 f2 74 c2 f0 2c 62 4c 53 00 0b ab eb 2a
[   56.455231] skb linear:   000000e0: 1f 6e 28 2c ee 11 11 d7 df db 3e 8e 8d 1f 27 38
[   56.462869] skb linear:   000000f0: 3f d1 2a b3 93 1a e0 f5 66 33 f5 71 de e0 9b fe
[   56.470507] skb linear:   00000100: 4e c3 2a 3c d4 3b 13 b3 16 52 41 a4 71 69 dc b0
[   56.478146] skb linear:   00000110: 3a 07 63 cd 21 43 c2 88 77 b7 f9 55 97 95 53 e6
[   56.485784] skb linear:   00000120: 58 7e 22 2d b9 36 e0 d0 88 22 74 f9 8b 50 a9 c5
[   56.493426] CPU: 0 PID: 9 Comm: ksoftirqd/0 Tainted: G           O      5.4.40-g66cf445b76 #1
[   56.501927] Hardware name: Texas Instruments K3 J721E SoC (DT)
[   56.507740] Call trace:
[   56.510179]  dump_backtrace+0x0/0x140
[   56.513826]  show_stack+0x14/0x20
[   56.517129]  dump_stack+0xb4/0xf8
[   56.520430]  netdev_rx_csum_fault.part.0+0x44/0x54
[   56.525204]  netdev_rx_csum_fault+0x34/0x38
[   56.529372]  __skb_checksum_complete+0xf8/0x100
[   56.533888]  nf_ip_checksum+0x70/0x140
[   56.537622]  nf_checksum+0x40/0x50
[   56.541022]  nf_conntrack_udp_packet+0x20c/0x278 [nf_conntrack]
[   56.546930]  nf_conntrack_in+0x190/0x7f8 [nf_conntrack]
[   56.552143]  ipv4_conntrack_in+0x14/0x20 [nf_conntrack]
[   56.557351]  nf_hook_slow+0x50/0xe8
[   56.560825]  ip_rcv+0xc0/0xf8
[   56.563780]  __netif_receive_skb_one_core+0x50/0x78
[   56.568642]  __netif_receive_skb+0x14/0x60
[   56.572723]  netif_receive_skb_internal+0x34/0xc0
[   56.577410]  napi_gro_receive+0x64/0xc8
[   56.581232]  am65_cpsw_nuss_rx_poll+0x194/0x368
[   56.585746]  net_rx_action+0x114/0x340
[   56.589480]  __do_softirq+0x120/0x23c
[   56.593127]  run_ksoftirqd+0x3c/0x50
[   56.596689]  smpboot_thread_fn+0x1e4/0x2a8
[   56.600769]  kthread+0xf0/0x120
[   56.603896]  ret_from_fork+0x10/0x18

If using TCP instead UDP to test, it's normal.

iperf3 -c 172.16.0.254

Could you tell me how to solve this problem?

Regards