- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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-3speed:
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: 0kernel 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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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:
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
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page