Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
4882 Discussions

I225 NIC jumbo frame drop data frame

Jereo
Beginner
901 Views

I225-V NIC used on NVIDIA Jetson AGX platform; In the process of using jumbo frames (mtu=9000) to transmit data, it is found that the I225 network card has the problem of packet loss when receiving UDP data, and the values of 'rx_missed_errors' and 'rx_fifo_errors' of packet loss are constantly increasing during packet loss.
At the same time, we compared devices using Intel 82850 network cards in the same environment and on the same platform, and there would be no packet loss problem;

 

In order to facilitate the reproduction problem, two devices need to be used here (one device A with I225 network card and one device B with Intel 82850 network card); Among them, device A with integrated I225 network card is used as the data receiver of UDP, and device B with integrated Intel 82850 network card is used as the data transmitter of UDP.
Operating environment: Ubuntu 20.04 / Linux kernel 5.10

QQ截图20230625210227.png

Configure steps:

1. Use a network cable to connect devices A and B;

2. Configure the IP address of device A/B and the configuration of the network card;

sudo ifconfig eth1 mtu 9000     # configur mtu=9000
sudo ifconfig eth1 mtu promisc   # witch on promiscuous mode.  
  • A: 192.168.70.28
  • B: 192.168.70.51

3. Place the UDP test program on Device A/B separately

 # Run on device A
 gcc -o udp_receive_test udp_receive_test.c
 ./udp_receive_test 192.168.70.28 8017
 
 # Run on device B
 gcc -o udp_send_test udp_send_test.c
 ./udp_send_test 192.168.70.28 8017

The basic situation of device A integrating the I225 network card at the time of testing is as follows.

System info

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

$ uname -a Linux miivii-tegra 5.10.104-tegra #1 SMP PREEMPT Mon Nov 14 12:08:34 CST 2022 aarch64 aarch64 aarch64 GNU

Device info:

$ lspci | grep -i intel
0005:05:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)

$ ethtool -i eth1
driver: igc
version: 5.10.104-tegra
firmware-version:
expansion-rom-version:
bus-info: 0005:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

CPU:

$ top -b1
top - 21:16:48 up  1:43,  3 users,  load average: 0.26, 0.29, 0.40
Tasks: 324 total,   2 running, 322 sleeping,   0 stopped,   0 zombie
%Cpu0  :  4.8 us,  0.0 sy,  0.0 ni, 85.7 id,  0.0 wa,  4.8 hi,  4.8 si,  0.0 st
%Cpu1  : 14.3 us,  4.8 sy,  0.0 ni, 81.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  4.8 us,  0.0 sy,  0.0 ni, 95.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  : 13.6 us, 22.7 sy,  0.0 ni, 63.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  4.8 sy,  0.0 ni, 95.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  4.8 sy,  0.0 ni, 95.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  31001.4 total,  28717.5 free,   1453.9 used,    830.0 buff/cache
MiB Swap:  15500.7 total,  15500.7 free,      0.0 used.  29157.2 avail Mem
$ cat /proc/interrupts | grep -i eth1
301:          2          0          0          0          0          0          0          0   PCI-MSI 673710080 Edge      eth1
302:       2239          0          0          0          0          0          0          0   PCI-MSI 673710081 Edge      eth1-TxRx-0
303:       1933          0          0          0          0          0          0          0   PCI-MSI 673710082 Edge      eth1-TxRx-1
304:       2343          0          0          0          0          0          0          0   PCI-MSI 673710083 Edge      eth1-TxRx-2
305:    9909748          0          0          0          0          0          0          0   PCI-MSI 673710084 Edge      eth1-TxRx-3

speed:

Device eth1 [192.168.70.28] (1/1):
=======Incoming:                                                   Outgoing:
Curr: 524.52 MBit/s                                         Curr: 0.00 Bit/s
Avg: 528.97 MBit/s                                          Avg: 0.00 Bit/s
Min: 522.84 MBit/s                                          Min: 0.00 Bit/s
Max: 537.25 MBit/s                                          Max: 0.00 Bit/s
Ttl: 405.41 GByte                                           Ttl: 77.03 kByte

NIC packet loss information:

$ ethtool -S eth1
NIC statistics:
     rx_packets: 45762264
     tx_packets: 509
     rx_bytes: 283266821332
     tx_bytes: 80187
     rx_broadcast: 4
     tx_broadcast: 1
     rx_multicast: 13
     tx_multicast: 126
     multicast: 13
     collisions: 0
     rx_crc_errors: 0
     rx_no_buffer_count: 4
     rx_missed_errors: 80
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 283266821332
     tx_dma_out_of_sync: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0
     os2bmc_rx_by_bmc: 0
     os2bmc_tx_by_bmc: 0
     os2bmc_tx_by_host: 0
     os2bmc_rx_by_host: 0
     tx_hwtstamp_timeouts: 0
     tx_hwtstamp_skipped: 0
     rx_hwtstamp_cleared: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 80
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_queue_0_packets: 88
     tx_queue_0_bytes: 12471
     tx_queue_0_restart: 0
     tx_queue_1_packets: 60
     tx_queue_1_bytes: 31660
     tx_queue_1_restart: 0
     tx_queue_2_packets: 349
     tx_queue_2_bytes: 30756
     tx_queue_2_restart: 0
     tx_queue_3_packets: 12
     tx_queue_3_bytes: 1152
     tx_queue_3_restart: 0
     rx_queue_0_packets: 252
     rx_queue_0_bytes: 45512
     rx_queue_0_drops: 0
     rx_queue_0_csum_err: 0
     rx_queue_0_alloc_failed: 0
     rx_queue_1_packets: 2
     rx_queue_1_bytes: 180
     rx_queue_1_drops: 0
     rx_queue_1_csum_err: 0
     rx_queue_1_alloc_failed: 0
     rx_queue_2_packets: 11
     rx_queue_2_bytes: 770
     rx_queue_2_drops: 0
     rx_queue_2_csum_err: 0
     rx_queue_2_alloc_failed: 0
     rx_queue_3_packets: 45761767
     rx_queue_3_bytes: 283082290662
     rx_queue_3_drops: 0
     rx_queue_3_csum_err: 0
     rx_queue_3_alloc_failed: 0

kernel log:

$ sudo dmesg | grep -i eth1
[sudo] password for nvidia:
[   33.332087] igc 0005:05:00.0 eth1: renamed from ets2
[   36.481382] igc 0005:05:00.0 eth1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   37.128546] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   63.717590] device eth1 entered promiscuous mode
[   68.405376] igc 0005:05:00.0 eth1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   69.052479] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
0 Kudos
1 Reply
B_Y
Employee
837 Views

Hi @Jereo,

 

Thank you for posting in Intel Ethernet Communities.

Since this question related to NVIDIA Jetson AGX Xavier (is an embedded system-on-module (SoM) from the NVIDIA AGX Systems family), please check with Intel Premier Support for further assistance.

See the following for access to Intel Premier Support.

Click the "Access and Log In" from here: https://www.intel.com/content/www/us/en/design/support/ips/training/welcome.html

 

Guidelines on how to Apply for an Intel® Resource and Documentation Center (RDC) and/or Intel® Developer Zone (Intel® DevZone) Account:

https://www.intel.com/content/www/us/en/support/articles/000058073/programs/resource-and-documentation-center.html

 

In case you still have inquiry within inside Intel Communities you may post it to a forum as per link below.

Embedded Connectivity Forum:

https://community.intel.com/t5/Embedded-Connectivity/bd-p/embedded-networking-connectivity

 

Thank you.

 

Best regards,

BY_Intel

Intel Customer Support

 

 

0 Kudos
Reply