This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

Duplicate ACKs + delayed retransmission

0

I am doing a TCP benchmark on a TI DSP (C6474 on a EVMC6474) using NTTCP and am seeing some strange results... Sometimes the transfer goes well and I get over 220Mbps, which is what I roughly expect with my current setup. However, some transfers are < 50Mbps. There's a clear pattern: every time the speed is < 220Mbps there are 5 "duplicate ACKs" from my PC host system (172.22.23.250) followed by a long delay (about 1 second!) where both systems are not outputting any data and then finally a TCP retransmission from the DSP after which the transmission resumes at full speed. This pattern can recur multiple times during my 8MB transfer. What could cause this? I have tested with and without TCP_NODELAY as well as varied the SO_LINGER value (between 50ms and 1 second)), but to no avail. The problematic sequence still shows up about 20-50% of the time.

The DSP is running "ndk_2_0_0" and on the receiving end I have used Ubuntu 12.01 and Cygwin (on a Win 7 host). I am doing some more tests using UDP and with a newer IP-stack from TI in case this will shed some light on the situation.

I uploaded a capture here.

Thanks, Dirk

asked 16 Feb '15, 15:34

djbuijs's gravatar image

djbuijs
11225
accept rate: 0%


One Answer:

1

The capture shows that TCP/IP stack on the system with IP address 172.22.23.211 does not use "Fast Retransmission" (see rfc5681). Maybe it does not support it, maybe it is not enabled. But since it does not use fast retransmission, it uses the retransmission timeout for resending a packet that was lost.

The next question is why is there packet loss in the first place?

answered 17 Feb '15, 00:20

SYN-bit's gravatar image

SYN-bit ♦♦
17.1k957245
accept rate: 20%

Thanks for reply, this is very helpful! With the term "fast retransmission" I found this thread on the TI forum (the manufacturer of NDK) where the issue is discussed: http://e2e.ti.com/support/embedded/tirtos/f/355/t/169622. As a "workaround" they advise you to use " Selective Acknowledgment(SACK)" as "Fast retransmit" in not supported.

I am not sure why there's packet loss yet though.... Next I'll do a test with the latest NDK to make sure it's not a bug (I don't believe so, but this will be an easy way to exclude it). I'll post results here. Thanks!

(17 Feb '15, 10:00) djbuijs

Hi, I am experiencing TCP retransmission timeouts with the TI NDK. Did you find a solution for your problem? Best regards David

(15 Apr '15, 05:50) DavidA_2015

@DavidA_2015: By experience, it does not make sense to comment on a solved question that has been answered more that 4 years ago.

Please create your own question, with your own problem description and if necessary, add a link to this question (for further information).

Regards
Kurt

(15 Apr '15, 06:07) Kurt Knochner ♦