Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Oct 2022 23:12:51 +0800
From:      Zhenlei Huang <zlei.huang@gmail.com>
To:        "Cui, Cheng" <Cheng.Cui@netapp.com>
Cc:        Michael Tuexen <michael.tuexen@lurchi.franken.de>, freebsd-net@freebsd.org
Subject:   Re: Too aggressive TCP ACKs
Message-ID:  <E7BD2488-940B-42E5-8C53-F420DA8F2283@gmail.com>
In-Reply-To: <MN2PR06MB6237E90881035621441597989D2D9@MN2PR06MB6237.namprd06.prod.outlook.com>
References:  <75D35F36-7759-4168-ADBA-C2414F5B53BC@gmail.com> <712641B3-5196-40CC-9B64-04637F16F649@lurchi.franken.de> <62A0DD30-B3ED-48BE-9C01-146487599092@gmail.com> <MN2PR06MB6237E90881035621441597989D2D9@MN2PR06MB6237.namprd06.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_CE8B108F-F95C-4892-9C09-3F81D49101F6
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On Oct 21, 2022, at 11:02 PM, Cui, Cheng <Cheng.Cui@netapp.com =
<mailto:Cheng.Cui@netapp.com>> wrote:
>=20
> You can also think about MacOS=E2=80=99s delayed ACK setup in default =
is conservative.
> =20
> https://developer.apple.com/forums/thread/716394 =
<https://developer.apple.com/forums/thread/716394>I thinks that's a good =
starting point.
Thanks!

> =20
> =20
> --=20
> Cheng Cui
> =20
> From: owner-freebsd-net@freebsd.org =
<mailto:owner-freebsd-net@freebsd.org> <owner-freebsd-net@freebsd.org =
<mailto:owner-freebsd-net@freebsd.org>> on behalf of Zhenlei Huang =
<zlei.huang@gmail.com <mailto:zlei.huang@gmail.com>>
> Date: Friday, October 21, 2022 at 11:01 AM
> To: Michael Tuexen <michael.tuexen@lurchi.franken.de =
<mailto:michael.tuexen@lurchi.franken.de>>
> Cc: freebsd-net@freebsd.org <mailto:freebsd-net@freebsd.org> =
<freebsd-net@freebsd.org <mailto:freebsd-net@freebsd.org>>
> Subject: Re: Too aggressive TCP ACKs
>=20
> NetApp Security WARNING: This is an external email. Do not click links =
or open attachments unless you recognize the sender and know the content =
is safe.=20
>=20
>=20
>=20
> =20
> On Oct 21, 2022, at 10:34 PM, Michael Tuexen =
<michael.tuexen@lurchi.franken.de =
<mailto:michael.tuexen@lurchi.franken.de>> wrote:
> =20
> On 21. Oct 2022, at 16:19, Zhenlei Huang <zlei.huang@gmail.com =
<mailto:zlei.huang@gmail.com>> wrote:
>=20
> Hi,
>=20
> While I was repeating =
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D258755 =
<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D258755>, I observed =
a
> strange behavior. The TCP ACKs from FreeBSD host are too aggressive.
>=20
> My setup is simple:
>         A                                 B
>   [ MacOS ]  <=3D=3D=3D=3D> [ FreeBSD VM ]
> 192.168.120.1            192.168.12.134 (disable tso and lro)
> While A <--- B, i.e. A as server and B as client, the packets rate =
looks good.
>=20
> One session on B:
>=20
> root@:~ # iperf3 -c 192.168.120.1 -b 10m
> Connecting to host 192.168.120.1, port 5201
> [  5] local 192.168.120.134 port 54459 connected to 192.168.120.1 port =
5201
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.00   sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> [  5]   1.00-2.00   sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> [  5]   2.00-3.00   sec  1.12 MBytes  9.44 Mbits/sec    0    257 =
KBytes      =20
> [  5]   3.00-4.00   sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> [  5]   4.00-5.00   sec  1.12 MBytes  9.44 Mbits/sec    0    257 =
KBytes      =20
> [  5]   5.00-6.00   sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> [  5]   6.00-7.00   sec  1.12 MBytes  9.44 Mbits/sec    0    257 =
KBytes      =20
> [  5]   7.00-8.00   sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> [  5]   8.00-9.00   sec  1.12 MBytes  9.44 Mbits/sec    0    257 =
KBytes      =20
> [  5]   9.00-10.00  sec  1.25 MBytes  10.5 Mbits/sec    0    257 =
KBytes      =20
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec  12.0 MBytes  10.1 Mbits/sec    0             =
sender
> [  5]   0.00-10.00  sec  12.0 MBytes  10.1 Mbits/sec                  =
receiver
>=20
> iperf Done.
>=20
> Another session on B:
>=20
> root@:~ # netstat -w 1 -I vmx0
>            input           vmx0           output
>   packets  errs idrops      bytes    packets  errs      bytes colls
>         0     0     0          0          0     0          0     0
>         0     0     0          0          0     0          0     0
>       342     0     0      22600        526     0     775724     0
>       150     0     0       9900        851     0    1281454     0
>       109     0     0       7194        901     0    1357850     0
>       126     0     0       8316        828     0    1246632     0
>       122     0     0       8052        910     0    1370780     0
>       109     0     0       7194        819     0    1233702     0
>       120     0     0       7920        910     0    1370780     0
>       110     0     0       7260        819     0    1233702     0
>       123     0     0       8118        910     0    1370780     0
>       109     0     0       7194        819     0    1233702     0
>        73     0     0       5088        465     0     686342     0
>         0     0     0          0          0     0          0     0
>         0     0     0          0          0     0          0     0
>=20
>=20
>=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20
>=20
> While A ---> B, i.e. A as client and B as server, the ACKs sent from B =
looks strange.
>=20
> Session on A:
>=20
> % iperf3 -c 192.168.120.134 -b 10m
> Connecting to host 192.168.120.134, port 5201
> [  5] local 192.168.120.1 port 52370 connected to 192.168.120.134 port =
5201
> [ ID] Interval           Transfer     Bitrate
> [  5]   0.00-1.00   sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> [  5]   1.00-2.00   sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> [  5]   2.00-3.00   sec  1.12 MBytes  9.44 Mbits/sec                 =20=

> [  5]   3.00-4.00   sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> [  5]   4.00-5.00   sec  1.12 MBytes  9.44 Mbits/sec                 =20=

> [  5]   5.00-6.00   sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> [  5]   6.00-7.00   sec  1.12 MBytes  9.44 Mbits/sec                 =20=

> [  5]   7.00-8.00   sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> [  5]   8.00-9.00   sec  1.12 MBytes  9.44 Mbits/sec                 =20=

> [  5]   9.00-10.00  sec  1.25 MBytes  10.5 Mbits/sec                 =20=

> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate
> [  5]   0.00-10.00  sec  12.0 MBytes  10.1 Mbits/sec                  =
sender
> [  5]   0.00-10.00  sec  12.0 MBytes  10.1 Mbits/sec                  =
receiver
>=20
> iperf Done.
>=20
> Session on B:
>=20
> root@:~ # netstat -w 1 -I vmx0
>            input           vmx0           output
>   packets  errs idrops      bytes    packets  errs      bytes colls
>         0     0     0          0          0     0          0     0
>         0     0     0          0          0     0          0     0
>       649     0     0     960562        330     0      21800     0
>       819     0     0    1233702        415     0      27390     0
>       910     0     0    1370780        459     0      30294     0
>       819     0     0    1233702        415     0      27390     0
>       910     0     0    1370780        459     0      30294     0
>       910     0     0    1370780        460     0      30360     0
>       819     0     0    1233702        414     0      27324     0
>       910     0     0    1370780        460     0      30360     0
>       819     0     0    1233702        414     0      27324     0
>       910     0     0    1370780        460     0      30360     0
>       285     0     0     412287        147     0       9981     0
>         0     0     0          0          0     0          0     0
>         0     0     0          0          0     0          0     0
>         0     0     0          0          0     0          0     0
>=20
>=20
> The ACK packets replied from B (the FreeBSD VM) are too aggressive. =
They are
> about one half of TCP packets received from A.
>=20
> I've tested with different bitrates, from 10m to 300m, all behave the =
same.
> Tested with baremetal FreeBSD 13.1 Box as B (with intel em driver), =
the=20
> bitrates is 1g, also  behaves the same.
>=20
> Also tried different FreeBSD versions, 11.4, 12.3, stable/13 and =
current/14 all=20
> behave the same.
>=20
>=20
> My question is, is that the expected behavior of current default TCP =
stack?
> That is what I would expect. TCP (on FreeBSD) is acking every other =
packet. This
> is also what is specified. MacOS, at least newer versions, send less =
ACKs.
> Thanks for fast response!
>=20
> My have old memories about SACK which helps TCP performance. This =
behavior
> seems odd from my mind. But those memories date back to 2008, that is =
14 years ago.
> =20
> The current implementation of TCP stack in FreeBSD head is too =
complexed for me.
> Can you please point me the RFCs specifying this? So I can start over =
with a quick glue.
> =20
> Thanks!
>=20
>=20
> Best regards
> Michael
>=20
>=20
>=20
>=20
> Best regards,
> Zhenlei


--Apple-Mail=_CE8B108F-F95C-4892-9C09-3F81D49101F6
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
Oct 21, 2022, at 11:02 PM, Cui, Cheng &lt;<a =
href=3D"mailto:Cheng.Cui@netapp.com" =
class=3D"">Cheng.Cui@netapp.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"WordSection1" style=3D"page: WordSection1; caret-color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><div style=3D"margin: 0in; font-size: 10pt; =
font-family: Calibri, sans-serif;" class=3D""><span style=3D"font-size: =
11pt;" class=3D"">You can also think about MacOS=E2=80=99s delayed ACK =
setup in default is conservative.<o:p class=3D""></o:p></span></div><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0in; =
font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><a =
href=3D"https://developer.apple.com/forums/thread/716394" style=3D"color: =
blue; text-decoration: underline;" =
class=3D"">https://developer.apple.com/forums/thread/716394</a></span></di=
v></div></div></blockquote><div>I thinks that's a good starting =
point.</div><div>Thanks!</div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D"WordSection1" style=3D"page: =
WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;"><div style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: =
10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0in; =
font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div class=3D""><div class=3D""><div =
class=3D""><div style=3D"margin: 0in; font-size: 10pt; font-family: =
Calibri, sans-serif;" class=3D""><span style=3D"font-size: 11pt;" =
class=3D"">--&nbsp;<o:p =
class=3D""></o:p></span></div></div></div></div><div style=3D"margin: =
0in; font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D"">Cheng Cui</span><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: =
10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"border-style: solid =
none none; border-top-width: 1pt; border-top-color: rgb(181, 196, 223); =
padding: 3pt 0in 0in;" class=3D""><p class=3D"MsoNormal" style=3D"margin: =
0in 0in 12pt; font-size: 10pt; font-family: Calibri, sans-serif;"><b =
class=3D""><span style=3D"font-size: 12pt;" class=3D"">From:<span =
class=3D"Apple-converted-space">&nbsp;</span></span></b><span =
style=3D"font-size: 12pt;" class=3D""><a =
href=3D"mailto:owner-freebsd-net@freebsd.org" style=3D"color: blue; =
text-decoration: underline;" =
class=3D"">owner-freebsd-net@freebsd.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>&lt;<a =
href=3D"mailto:owner-freebsd-net@freebsd.org" style=3D"color: blue; =
text-decoration: underline;" =
class=3D"">owner-freebsd-net@freebsd.org</a>&gt; on behalf of Zhenlei =
Huang &lt;<a href=3D"mailto:zlei.huang@gmail.com" style=3D"color: blue; =
text-decoration: underline;" class=3D"">zlei.huang@gmail.com</a>&gt;<br =
class=3D""><b class=3D"">Date:<span =
class=3D"Apple-converted-space">&nbsp;</span></b>Friday, October 21, =
2022 at 11:01 AM<br class=3D""><b class=3D"">To:<span =
class=3D"Apple-converted-space">&nbsp;</span></b>Michael Tuexen &lt;<a =
href=3D"mailto:michael.tuexen@lurchi.franken.de" style=3D"color: blue; =
text-decoration: underline;" =
class=3D"">michael.tuexen@lurchi.franken.de</a>&gt;<br class=3D""><b =
class=3D"">Cc:<span class=3D"Apple-converted-space">&nbsp;</span></b><a =
href=3D"mailto:freebsd-net@freebsd.org" style=3D"color: blue; =
text-decoration: underline;" class=3D"">freebsd-net@freebsd.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>&lt;<a =
href=3D"mailto:freebsd-net@freebsd.org" style=3D"color: blue; =
text-decoration: underline;" class=3D"">freebsd-net@freebsd.org</a>&gt;<br=
 class=3D""><b class=3D"">Subject:<span =
class=3D"Apple-converted-space">&nbsp;</span></b>Re: Too aggressive TCP =
ACKs<o:p class=3D""></o:p></span></p></div><table class=3D"MsoNormalTable"=
 border=3D"1" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" =
width=3D"200" style=3D"width: 150pt; background-color: rgb(0, 103, 197); =
background-position: initial initial; background-repeat: initial =
initial;"><tbody class=3D""><tr class=3D""><td nowrap=3D"" =
style=3D"padding: 7.5pt;" class=3D""><div style=3D"margin: 0in; =
font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><b =
class=3D""><span style=3D"font-family: Arial, sans-serif; color: =
yellow;" class=3D"">NetApp Security WARNING</span></b><span =
style=3D"font-family: Arial, sans-serif; color: yellow;" class=3D"">: =
This is an external email. Do not click links or open attachments unless =
you recognize the sender and know the content is safe.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D""></o:p></span></div></td></tr></tbody></table><p =
class=3D"MsoNormal" style=3D"margin: 0in 0in 12pt; font-size: 10pt; =
font-family: Calibri, sans-serif;"><span style=3D"font-size: 11pt;" =
class=3D""><br class=3D""><br class=3D""><o:p =
class=3D""></o:p></span></p><div class=3D""><div class=3D""><div =
class=3D""><div style=3D"margin: 0in; font-size: 10pt; font-family: =
Calibri, sans-serif;" class=3D""><span style=3D"font-size: 11pt;" =
class=3D""><o:p class=3D"">&nbsp;</o:p></span></div></div></div><div =
class=3D""><blockquote style=3D"margin-top: 5pt; margin-bottom: 5pt;" =
class=3D""><div class=3D""><div style=3D"margin: 0in; font-size: 10pt; =
font-family: Calibri, sans-serif;" class=3D""><span style=3D"font-size: =
11pt;" class=3D"">On Oct 21, 2022, at 10:34 PM, Michael Tuexen &lt;<a =
href=3D"mailto:michael.tuexen@lurchi.franken.de" style=3D"color: blue; =
text-decoration: underline;" =
class=3D"">michael.tuexen@lurchi.franken.de</a>&gt; wrote:<o:p =
class=3D""></o:p></span></div></div><div style=3D"margin: 0in; =
font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div class=3D""><blockquote =
style=3D"margin-top: 5pt; margin-bottom: 5pt; font-variant-caps: normal; =
text-align: start; -webkit-text-stroke-width: 0px; word-spacing: 0px;" =
class=3D""><div style=3D"margin: 0in; font-size: 10pt; font-family: =
Calibri, sans-serif;" class=3D""><span style=3D"font-size: 9pt; =
font-family: Helvetica;" class=3D"">On 21. Oct 2022, at 16:19, Zhenlei =
Huang &lt;<a href=3D"mailto:zlei.huang@gmail.com" style=3D"color: blue; =
text-decoration: underline;" class=3D"">zlei.huang@gmail.com</a>&gt; =
wrote:<br class=3D""><br class=3D"">Hi,<br class=3D""><br class=3D"">While=
 I was repeating<span class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D258755" =
style=3D"color: blue; text-decoration: underline;" =
class=3D"">https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D258755</a>,=
 I observed a<br class=3D"">strange behavior. The TCP ACKs from FreeBSD =
host are too aggressive.<br class=3D""><br class=3D"">My setup is =
simple:<br class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B<br class=3D"">&nbsp;&nbsp;[ =
MacOS ] &nbsp;&lt;=3D=3D=3D=3D&gt; [ FreeBSD VM ]<br =
class=3D"">192.168.120.1 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.168.=
12.134 (disable tso and lro)<br class=3D"">While A &lt;--- B, i.e. A as =
server and B as client, the packets rate looks good.<br class=3D""><br =
class=3D"">One session on B:<br class=3D""><br class=3D"">root@:~ # =
iperf3 -c 192.168.120.1 -b 10m<br class=3D"">Connecting to host =
192.168.120.1, port 5201<br class=3D"">[ &nbsp;5] local 192.168.120.134 =
port 54459 connected to 192.168.120.1 port 5201<br class=3D"">[ ID] =
Interval =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer =
&nbsp;&nbsp;&nbsp;&nbsp;Bitrate =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retr &nbsp;Cwnd<br =
class=3D"">[ &nbsp;5] &nbsp;&nbsp;0.00-1.00 &nbsp;&nbsp;sec &nbsp;1.25 =
MBytes &nbsp;10.5 Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 =
KBytes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;1.00-2.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;2.00-3.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;3.00-4.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;4.00-5.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;5.00-6.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;6.00-7.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;7.00-8.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;8.00-9.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;9.00-10.00 &nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 Mbits/sec =
&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;257 KBytes =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">- - - - - - - - - - - =
- - - - - - - - - - - - - -<br class=3D"">[ ID] Interval =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer =
&nbsp;&nbsp;&nbsp;&nbsp;Bitrate =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retr<br class=3D"">[ =
&nbsp;5] &nbsp;&nbsp;0.00-10.00 &nbsp;sec &nbsp;12.0 MBytes &nbsp;10.1 =
Mbits/sec &nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;se=
nder<br class=3D"">[ &nbsp;5] &nbsp;&nbsp;0.00-10.00 &nbsp;sec =
&nbsp;12.0 MBytes &nbsp;10.1 Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;receiver<br class=3D""><br class=3D"">iperf =
Done.<br class=3D""><br class=3D"">Another session on B:<br class=3D""><br=
 class=3D"">root@:~ # netstat -w 1 -I vmx0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;input =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmx0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output<br =
class=3D"">&nbsp;&nbsp;packets &nbsp;errs idrops =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes &nbsp;&nbsp;&nbsp;packets &nbsp;errs =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes colls<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;342 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22600 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;526 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;775724 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;150 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9900 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;851 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1281454 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;109 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7194 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;901 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1357850 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;126 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8316 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;828 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1246632 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;122 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8052 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;109 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7194 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;120 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7920 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;110 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7260 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;123 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8118 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;109 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7194 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;73 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5088 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;465 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;686342 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br class=3D""><br =
class=3D""><br class=3D"">While A ---&gt; B, i.e. A as client and B as =
server, the ACKs sent from B looks strange.<br class=3D""><br =
class=3D"">Session on A:<br class=3D""><br class=3D"">% iperf3 -c =
192.168.120.134 -b 10m<br class=3D"">Connecting to host 192.168.120.134, =
port 5201<br class=3D"">[ &nbsp;5] local 192.168.120.1 port 52370 =
connected to 192.168.120.134 port 5201<br class=3D"">[ ID] Interval =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer =
&nbsp;&nbsp;&nbsp;&nbsp;Bitrate<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;0.00-1.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;1.00-2.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;2.00-3.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;3.00-4.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;4.00-5.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;5.00-6.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;6.00-7.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;7.00-8.00 &nbsp;&nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;8.00-9.00 &nbsp;&nbsp;sec &nbsp;1.12 MBytes &nbsp;9.44 =
Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;9.00-10.00 &nbsp;sec &nbsp;1.25 MBytes &nbsp;10.5 Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;<br class=3D"">- - - - - - - - - - - - - - - =
- - - - - - - - - -<br class=3D"">[ ID] Interval =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer =
&nbsp;&nbsp;&nbsp;&nbsp;Bitrate<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;0.00-10.00 &nbsp;sec &nbsp;12.0 MBytes &nbsp;10.1 Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;sender<br class=3D"">[ &nbsp;5] =
&nbsp;&nbsp;0.00-10.00 &nbsp;sec &nbsp;12.0 MBytes &nbsp;10.1 Mbits/sec =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;receiver<br class=3D""><br class=3D"">iperf =
Done.<br class=3D""><br class=3D"">Session on B:<br class=3D""><br =
class=3D"">root@:~ # netstat -w 1 -I vmx0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;input =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmx0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output<br =
class=3D"">&nbsp;&nbsp;packets &nbsp;errs idrops =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes &nbsp;&nbsp;&nbsp;packets &nbsp;errs =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes colls<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;649 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;960562 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;330 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21800 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;415 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27390 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;459 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30294 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;415 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27390 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;459 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30294 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;460 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30360 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;414 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27324 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;460 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30360 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;819 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1233702 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;414 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27324 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;910 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;1370780 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;460 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30360 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;285 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;412287 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;147 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9981 &nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =
&nbsp;&nbsp;&nbsp;&nbsp;0<br class=3D""><br class=3D""><br class=3D"">The =
ACK packets replied from B (the FreeBSD VM) are too aggressive. They =
are<br class=3D"">about one half of TCP packets received from A.<br =
class=3D""><br class=3D"">I've tested with different bitrates, from 10m =
to 300m, all behave the same.<br class=3D"">Tested with baremetal =
FreeBSD 13.1 Box as B (with intel em driver), the<span =
class=3D"apple-converted-space">&nbsp;</span><br class=3D"">bitrates is =
1g, also &nbsp;behaves the same.<br class=3D""><br class=3D"">Also tried =
different FreeBSD versions, 11.4, 12.3, stable/13 and current/14 =
all<span class=3D"apple-converted-space">&nbsp;</span><br =
class=3D"">behave the same.<br class=3D""><br class=3D""><br class=3D"">My=
 question is, is that the expected behavior of current default TCP =
stack?<o:p class=3D""></o:p></span></div></blockquote><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 9pt; font-family: =
Helvetica;" class=3D"">That is what I would expect. TCP (on FreeBSD) is =
acking every other packet. This<br class=3D"">is also what is specified. =
MacOS, at least newer versions, send less ACKs.</span><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D""></o:p></span></div></div></blockquote><div class=3D""><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D"">Thanks=
 for fast response!<o:p class=3D""></o:p></span></div></div><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D""><br =
class=3D"">My have old memories about SACK which helps TCP performance. =
This behavior<o:p class=3D""></o:p></span></div></div><div class=3D""><div=
 style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D"">seems =
odd from my mind. But those&nbsp;<span style=3D"" class=3D"">memories =
date back to 2008, that is 14 years ago.</span><o:p =
class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: =
0in; font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div></div><div class=3D""><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D"">The =
current implementation of TCP stack in FreeBSD head is too complexed for =
me.<o:p class=3D""></o:p></span></div></div><div class=3D""><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D"">Can =
you please point me the RFCs specifying this? So I can start over with a =
quick glue.<o:p class=3D""></o:p></span></div></div><div class=3D""><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div></div><div class=3D""><div =
style=3D"margin: 0in; font-size: 10pt; font-family: Calibri, =
sans-serif;" class=3D""><span style=3D"font-size: 11pt;" =
class=3D"">Thanks!<br class=3D""><br class=3D""><o:p =
class=3D""></o:p></span></div><blockquote style=3D"margin-top: 5pt; =
margin-bottom: 5pt;" class=3D""><div class=3D""><div style=3D"margin: =
0in; font-size: 10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 9pt; font-family: Helvetica;" class=3D""><br =
class=3D"">Best regards<br class=3D"">Michael<br style=3D"caret-color: =
rgb(0, 0, 0); font-variant-caps: normal; text-align: start; =
-webkit-text-stroke-width: 0px; word-spacing: 0px;" class=3D""><br =
class=3D""></span><span style=3D"font-size: 11pt;" class=3D""><o:p =
class=3D""></o:p></span></div><blockquote style=3D"margin-top: 5pt; =
margin-bottom: 5pt;" class=3D""><div style=3D"margin: 0in; font-size: =
10pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"font-size: 9pt; font-family: Helvetica;" class=3D""><br =
class=3D""><br class=3D""><br class=3D"">Best regards,<br =
class=3D"">Zhenlei</span></div></blockquote></div></blockquote></div></div=
></div></div></blockquote></div><br class=3D""></body></html>=

--Apple-Mail=_CE8B108F-F95C-4892-9C09-3F81D49101F6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E7BD2488-940B-42E5-8C53-F420DA8F2283>