Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jun 2019 14:31:08 -0700
From:      Lars Eggert <lars@eggert.org>
To:        Yu He <yuhe@vmware.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Gopakumar Pillai <gpillai@vmware.com>
Subject:   Re: Some question about DCTCP implementation in FreeBSD
Message-ID:  <D4DBFD20-0908-467C-A129-B1DD96C4A64F@eggert.org>
In-Reply-To: <2F719086-68CA-46CB-AE01-40E2AAB6E964@vmware.com>
References:  <2F719086-68CA-46CB-AE01-40E2AAB6E964@vmware.com>

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

--Apple-Mail=_F17B59A5-63CB-4755-9F89-57054981FF8D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi,

glad to see interest in DCTCP!

On 2019-6-4, at 11:05, Yu He via freebsd-net <freebsd-net@freebsd.org> =
wrote:
> In line 387 of file cc_tcp.c, the update of alpha is calculated by =
following code:
>=20
>     dctcp_data->alpha =3D min(alpha_prev - (alpha_prev >> =
V_dctcp_shift_g) +
>         (dctcp_data->bytes_ecn << (10 - V_dctcp_shift_g)) /
>         dctcp_data->bytes_total, MAX_ALPHA_VALUE);
>=20
> As the update formula from the original paper is alpha =3D (1 - g) * =
alpha + g * F, I=E2=80=99m wandering about what the intention is of =
using left-shift when calculating the g * F part, which might seemingly =
multiplying the value rather than dividing it as suggested by the =
previous code. Let alone the operand (10 -   V_dctcp_shift_g) might be a =
negative value, which will lead to an undefined behavior in C.

You should really, really be looking at RFC8257 =
(https://tools.ietf.org/html/rfc8257) if you are interested in a DCTCP =
implementation, and not the original paper (which is of course still =
required reading for much of the background). The RFC fixes a bunch of =
issues with the paper, and this is one of them.

Also, the tcpm@ietf.org list is likely going to be a better forum for =
these questions, except for FreeBSD-specific ones.

Lars

--Apple-Mail=_F17B59A5-63CB-4755-9F89-57054981FF8D
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEDrrUO3PMwKM8fddaHbmKvSnuNPgFAlz24xwACgkQHbmKvSnu
NPgpuA//XuCUqm0JUJ54tRLy5lB/jfYtiOohgkrAO9Xw7eMDkb593o/sf64tCnHx
ChVsrRoidHAr32xseiQXdqUxlk+mEflLh3RzJfrhhFq6C1Eh+tL/kI8OBnPCB5Vh
QXxIXVI1+Mnpl5ekA4sAFPjhCpa0MPxmoACARsYXorEJsi+bzwe+Jv1xjqlS/fal
A8O+wigxq/tJKpVyn5Y1fQFF/PUwRgG5j+sbBHIylvH70huC1KhsXxf+XG/7PZG5
euV+Pdi2YhY1X761C3u6LqmKPKc0Lr1XtMW+j95wOH4W8M/Ko6VC8+dQQnqqCxwV
txDhROBuibqwouq4aJ5X4BOLPOYRYCPTO4qxfOcuVXvP78zLpj/1CasQUnr2OpPf
oUyHhH4ZEOO0Oo+1UxdX91vstUZjZskzaDOYBoRMfgEtmiwIckxGZq6cu4GISmY9
7fzkHq2p0/uk1kUc0eHJFdSLy9Ui6QYd3rWa9xxA4YuB9wYd/V4e/6LNDUXEe/Ol
avSU7NWL9rMDRJtzynCw9soQeTPZ6MYRiRVO1QM2ngOWPEGotvp/jsuxYhc9xEeV
8plBM1I32VVnejdeHT0uaeLSaAA11RZ0FvmOd7HaZnzTSqNKjPIoqwVi0O4wtPfH
bQ4waXlqk+hdIjsXhGf66pHRXMg/dqDZ37Jmb9hDUmfAhZoepJg=
=snOf
-----END PGP SIGNATURE-----

--Apple-Mail=_F17B59A5-63CB-4755-9F89-57054981FF8D--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D4DBFD20-0908-467C-A129-B1DD96C4A64F>