- 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-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
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