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.
I test tsn on eth1 port with 8.0.0.1 SDK
eth1 port down
[20210819_15:02:30]root@am64xx-evm:~# [ 1881.943290] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:328360 dql_avail:-56 free_desc:512 [20210819_15:02:35][ 1887.063281] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:333480 dql_avail:-56 free_desc:512 [20210819_15:02:40][ 1892.183286] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:338600 dql_avail:-56 free_desc:512 [20210819_15:02:46][ 1898.071283] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:344488 dql_avail:-56 free_desc:512 [20210819_15:02:51][ 1903.191293] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:349608 dql_avail:-56 free_desc:512 [20210819_15:02:57][ 1909.079309] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:355496 dql_avail:-56 free_desc:512 [20210819_15:03:02][ 1913.943286] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:360360 dql_avail:-56 free_desc:512 [20210819_15:03:07][ 1919.063273] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:365480 dql_avail:-56 free_desc:512 [20210819_15:03:10] [20210819_15:03:12]root@am64xx-evm:~# [ 1924.183300] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:370600 dql_avail:-56 free_desc:512 [20210819_15:03:18][ 1930.071281] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:376488 dql_avail:-56 free_desc:512 [20210819_15:03:23][ 1935.191290] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:381608 dql_avail:-56 free_desc:512 [20210819_15:03:29][ 1941.079289] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:387496 dql_avail:-56 free_desc:512 [20210819_15:03:34][ 1945.943289] am65-cpsw-nuss 8000000.ethernet eth1: txq:2 DRV_XOFF:0 tmo:392360 dql_avail:-56 free_desc:512
I test tsn on eth1 port with 8.0.0.1 SDK
Can you share a little more on what were you testing? For example did you setup some EST configuration (can you share the commands), and what was the traffic you generated (iperf3 or your own application) ?
eth1 port down
Did the same test work on eth0 ?
Pekka
I test tsn on eth1 port with 8.0.0.1 SDKCan you share a little more on what were you testing? For example did you setup some EST configuration (can you share the commands), and what was the traffic you generated (iperf3 or your own application) ?
Can you share any detail on what you were testing?
Two AM6442 board test on eth0 for tsn.
one AM6442 eth0 is client with run cmd:
ip link set dev eth0 down ethtool -L eth0 tx 3 ethtool --set-priv-flags eth0 p0-rx-ptype-rrobin off ip link set dev eth0 up tc qdisc replace dev eth0 parent root handle 100 taprio \ num_tc 3 \ map 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 \ queues 1@0 1@1 1@2 \ base-time 0000 \ sched-entry S 4 125000 \ sched-entry S 2 125000 \ sched-entry S 1 250000 \ flags 2
tc filter add dev eth0 egress protocol ip prio 1 u32 match ip dport 5003 0xffff action skbedit priority 3 tc filter add dev eth0 egress protocol ip prio 1 u32 match ip dport 5002 0xffff action skbedit priority 2 tc filter add dev eth0 egress protocol ip prio 1 u32 match ip dport 5001 0xffff action skbedit priority 1
iperf3 -s -i30 -p5001& iperf3 -s -i30 -p5002& iperf3 -s -i30 -p5003&
then print:
am65-cpsw-nuss 8000000.ethernet eth0: txq:2 DRV_XOFF:0 tmo:21536 dql_avail:-44 free_desc:513
ping server down
iperf3 -s -i30 -p5001& iperf3 -s -i30 -p5002& iperf3 -s -i30 -p5003&
I'm trying to replicate your test. I'm guessing these commands are run at the "server" or "listener". The EST schedule setup is probably at the "client" or "talker", with traffic generated by something like below?
iperf3 -c 192.168.2.10 -u -b100M -p 5003 -l1472 -t10 -i5& iperf3 -c 192.168.2.10 -u -b100M -p 5002 -l1472 -t10 -i5& iperf3 -c 192.168.2.10 -u -b100M -p 5001 -l1472 -t10 -i5&
Or in other words you are going through https://software-dl.ti.com/processor-sdk-linux/esd/docs/08_00_00_21/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW3g.html?highlight=cpsw3g#enhancements-for-scheduled-traffic-est-offload step by step?
I did successfully run the sequence on two GP EVMs without seeing the error you saw. The difference to what you wrote above is I setup the server with the three "iperf3 -s" servers, and no EST schedule. The client or talker is where I ran the EST setup and then generated traffic using the "iperf3 -c" commands listed above.
The goal of the demo is to shape outgoing traffic from the TSN talker with EST, at the server side in the simplest case you just run iperf3 -s for each talker.
The errors seem to point to memory running out, I will look at that but I think first step is to make sure I'm running what you are running.
I left the below running overnight to see if I see errors
iperf3 -c 192.168.2.10 -u -b100M -p 5003 -l1400 -t0 -i5& iperf3 -c 192.168.2.10 -u -b100M -p 5002 -l1400 -t0 -i5& iperf3 -c 192.168.2.10 -u -b100M -p 5001 -l1400 -t0 -i5&
Pekka
Hi Pekka,
Sorry, I don't reply to you in time.
https://github.com/intel/iotg_tsn_ref_sw branch dev/apollolake-i-2020
This is my test source.
board A:
eth0 192.168.2.2
tc qdisc replace dev eth0 parent root handle 100 taprio \
num_tc 3 \
map 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 \
queues 1@0 1@1 1@2 \
base-time 0000 \
sched-entry S 01 250000 \
sched-entry S 02 125000 \
sched-entry S 04 125000 \
flags 2
./sample-app-taprio -i eth0 -c 192.168.2.3 -x 1 -w tsn_prio5-s1s2s3.cfg -S
board B:
eth0 192.168.2.3
./sample-app-taprio -i eth0 -x 2 -q "5 3" -y 3
/home/jiang/Downloads/1sample-app-taprio/sample-app-taprio
Were you trying to attach something? I don't see an attachment ?
Or do you mean you complied https://github.com/intel/iotg_tsn_ref_sw/tree/dev/apollolake-i-2020/sample-app-taprio as is and ran it with those parameters?
Regardless I think I've seen simialr errors errors coming because with the sched-entry list you have has some gates closed forever. If there still is traffic there it consumes permanently some of the TX port memory. I will look into this more. Assuming it is the above sample-app-taprio application and the file https://github.com/intel/iotg_tsn_ref_sw/blob/dev/apollolake-i-2020/sample-app-taprio/tsn_prio3-s1s2s3.cfg is the configuration you use.
Pekka
Hi Pekka,
Thank you for your reply.
I want to attach binary which you can compile https://github.com/intel/iotg_tsn_ref_sw/tree/dev/apollolake-i-2020/sample-app-taprio .
The file https://github.com/intel/iotg_tsn_ref_sw/blob/dev/apollolake-i-2020/sample-app-taprio/tsn_prio3-s1s2s3.cfg is the configuration which I use.
regards,
fenghua
Hi Pekka,
I know the reason,
tc qdisc replace dev parent root handle 100 taprio \ num_tc 4 \ map 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 \ queues 1@0 1@1 1@2 1@3\ base-time 0000 \ sched-entry S 8 125000 \ sched-entry S 4 125000 \ sched-entry S 2 125000 \ sched-entry S 1 250000 \ flags 2
the result eth0 is down,how to set the eth0 up ?