(I am posting here so that this thread is not auto closed before I retest it in real SDK release.)
Linux-RT SDK 8.2 on TMDX654IDKEVM:
ICSSG interface statistic (*_total_bytes) don't work after 34 seconds of 1Gbit/s traffic. (*_good_frames) would stop counting after 36 minutes of 1 Gbit/s 64 byte frames.
The reason is that statistics from 'ethtool -s eth1' don't overflow as I would expect them. (Statistics for am65-cpsw-nuss interface overflow and continue to work.)
I see 4294967295 after fransmiting 4294967296 frames from eth1 to eth3.
root@am65xx-evm:~# ethtool -S eth1 | grep '\(good\|bytes\)'
rx_good_frames: 0
rx_total_bytes: 0
rx_tx_total_bytes: 4294967295
tx_good_frames: 4294967295
tx_total_bytes: 4294967295
root@am65xx-evm:~# ethtool -S eth3 | grep '\(good\|bytes\)'
rx_good_frames: 4294967295
rx_total_bytes: 4294967295
rx_tx_total_bytes: 4294967295
tx_good_frames: 0
tx_total_bytes: 0
My prefered solution would be 64 bit counter (as for example Intel i210 has).
Overflow from 4294967295 to 0 might also be usable, but it requires reading the statistics at least twice every 34 seconds to be able to detect the overflow.
Statistics reset could be a partial workaround (only for continues transfer with less than 4294967296 bytes).
Is there a way to reset ICSSG statistics from Linux?
Steps to reproduce:
set SDK_VERSION=08_02_00_01
============================================================================================================================================
STEP 1.
SDK Download & Instalation for AM65x
------------------------------------
1.1 Download
Goto "">www.ti.com/.../PROCESSOR-SDK-AM65X"
click on Download options of PROCESSOR-SDK-LINUX-RT-AM65X — Linux-RT processor SDK for AM65x
click on "ti-processor-sdk-linux-rt-am65xx-evm-"$SDK_VERSION"-Linux-x86-Install.bin"
set executable permissions : chmod 777 ti-processor-sdk-linux-rt-am65xx-evm-"$SDK_VERSION"-Linux-x86-Install.bin
Execute bin file : ./ti-processor-sdk-linux-rt-am65xx-evm-"$SDK_VERSION"-Linux-x86-Install.bin
Choose Destination location : <path>
wait for completion.
============================================================================================================================================
STEP 2.
Prepare sdcard with Prebuilt Images
-----------------------------------
2.1 Connect sdcard and find device file /dev/sdx for the sdcard from lsblk or "cat /proc/mounts"
2.2 Flash Prebuilt images using below commands:
$ cd <path>/ti-processor-sdk-linux-rt-am65xx-evm-"$SDK_VERSION"/bin
$ sudo ./mksdboot.sh --sdk <path>/ti-processor-sdk-linux-rt-am65xx-evm-"$SDK_VERSION"/ --device /dev/sd<x>
$ sync
After completing, unmount Sd-card and eject.
============================================================================================================================================
STEP 3.
3.1 Run AM65x IDK and login as root
3.2 Connect eth1 and eth3
3.3. transmit 4294967296 frames from eth1 to eth3
3.4. check statistics and see only 4294967295 for *_total_bytes and *_good_frames:
root@am65xx-evm:~# ethtool -S eth1 | grep '\(good\|bytes\)'
rx_good_frames: 0
rx_total_bytes: 0
rx_tx_total_bytes: 4294967295
tx_good_frames: 4294967295
tx_total_bytes: 4294967295
root@am65xx-evm:~# ethtool -S eth3 | grep '\(good\|bytes\)'
rx_good_frames: 4294967295
rx_total_bytes: 4294967295
rx_tx_total_bytes: 4294967295
tx_good_frames: 0
tx_total_bytes: 0