Date: Thu, 27 Dec 2018 18:32:54 +0000 From: "Youssef GHORBAL" <youssef.ghorbal@pasteur.fr> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: DUP ACKs sent with no reason Message-ID: <D15A92F5-91C2-44C3-A794-D3B399F67D8C@pasteur.fr>
next in thread | raw e-mail | index | archive | help
Hello, I'm having an issue with a FreeBSD 12 based system, sending DUP ACKs with = no obvisous reason during an iperf3 test. The test consists of : - FreeBSD 12 server box running ./iperf3 -s -p 55556 - Linux CentOS 7 client box running ./iperf3 --cport 3333 -t 60 -Rc 192.16= 8.133.2 -p 55556 Server side iperf is reporting huge packet loss: ----------------------------------------------------------- Server listening on 55556 ----------------------------------------------------------- Accepted connection from 192.168.131.140, port 60244 [ 5] local 192.168.133.2 port 55556 connected to 192.168.131.140 port 3333 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.00 GBytes 8.60 Gbits/sec 0 472 KBytes [ 5] 1.00-2.00 sec 1.09 GBytes 9.39 Gbits/sec 0 676 KBytes [ 5] 2.00-3.00 sec 1.09 GBytes 9.39 Gbits/sec 0 820 KBytes [ 5] 3.00-4.00 sec 1.09 GBytes 9.39 Gbits/sec 0 954 KBytes [ 5] 4.00-5.00 sec 1.04 GBytes 8.98 Gbits/sec 7 107 KBytes [ 5] 5.00-6.00 sec 870 MBytes 7.30 Gbits/sec 24 182 KBytes [ 5] 6.00-7.00 sec 831 MBytes 6.97 Gbits/sec 45 84.8 KBytes [ 5] 7.00-8.00 sec 796 MBytes 6.67 Gbits/sec 43 94.7 KBytes [ 5] 8.00-9.00 sec 1.05 GBytes 9.02 Gbits/sec 9 115 KBytes [ 5] 9.00-10.00 sec 913 MBytes 7.66 Gbits/sec 40 83.4 KBytes [ 5] 9.00-10.00 sec 913 MBytes 7.66 Gbits/sec 40 83.4 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 9.96 GBytes 8.55 Gbits/sec 168 sende= r iperf3: the client has terminated I've captured pcaps[1][2] on both sides that show that somehow the client = is receiving packets out of order or sometimes missing segments, to which i= t reacts with selective ACKs. As far I can tell this is "normal" behaviour = and clearly shows some issues on the path between those two hosts but that'= s not my main concern for now. However, what I can't explain is the huge amount a TCP DUP ACKs sent by th= e FreeBSD server for no obvious reason. In this setup client is connecting = to server and due to -R option, data is flowing from server to client. The = only data I see coming from the client is at test initialisation where clie= nt sends one small data packet, that gets ACKed quickly afterword by the wa= y. =09 What can explain those DUP ACKs sent by the FreeBSD host? (DUP ACKs sent b= y the client are "normal" in a way to report missing packet loss and carry = Selective ACKs, but those sent by the BSD stack are hard to explain) How can I push the investigation further ? Youssef Ghorbal [1] client side pcap : https://cp.sync.com/dl/44f5d34b0#h8bb5gda-frp78vyt-y= apws5gx-kidhq4mb [2] server side pcap : https://cp.sync.com/dl/323677c10#gh3gy88t-ge3gyyxn-h= ka5ya6q-q6ydp5fn=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D15A92F5-91C2-44C3-A794-D3B399F67D8C>