Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Sep 2015 16:08:28 -0700
From:      Garrett Cooper <yaneurabeya@gmail.com>
To:        Jeff Meegan <jeffm@frob.org>
Cc:        Jack Vogel <jfvogel@gmail.com>, "K. Macy" <kmacy@freebsd.org>, "net@freebsd.org" <net@freebsd.org>, Hrishikesh Keremane <hr1sh1@yahoo.com>, "hackers@freebsd.org" <hackers@freebsd.org>, Vijay Singh <vijju.singh@gmail.com>
Subject:   Re: GPL issues around OFED code in FreeBSD 9.1
Message-ID:  <B1BC39E3-6AEA-4759-B7C0-F506E5972E4C@gmail.com>
In-Reply-To: <7FF6BFC8-0031-4E40-AB38-75B5FD4EF466@frob.org>
References:  <5BFB9010-159A-44EE-BB9A-A4E445383AA2@yahoo.com> <C0A50BDF-6AD3-4006-B954-66385F8DACD0@gmail.com> <CALCNsJT-XLY2MpxOs4Ls=GLX8r16bBXyMjUU4Nnj%2BwXRBcwidA@mail.gmail.com> <CAHM0Q_NGttERk%2BmaOz9V5-FXD5krRcZ5zGLsqLG7ooTzmzAn0A@mail.gmail.com> <CAFOYbcmp%2BSVMjsm9knD8BxZ5Sk09RDGQ66Oko1E6t-zJY-d-Dw@mail.gmail.com> <7FF6BFC8-0031-4E40-AB38-75B5FD4EF466@frob.org>

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

> On Sep 3, 2015, at 13:18, Jeff Meegan <jeffm@frob.org> wrote:
> 
> According to their EULA, it is BSD licensed.
> 
> http://www.mellanox.com/page/mlnx_ofed_eula?mtag=linux_sw_drivers

Yes, but the 9.1 version wasn't strictly from Mellanox..

I don't know if I'd use the pre-Mellanox version though, tbh.

Thanks,
-NGie
From owner-freebsd-net@freebsd.org  Thu Sep  3 23:32:31 2015
Return-Path: <owner-freebsd-net@freebsd.org>
Delivered-To: freebsd-net@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1080B9CAF13
 for <freebsd-net@mailman.ysv.freebsd.org>;
 Thu,  3 Sep 2015 23:32:31 +0000 (UTC)
 (envelope-from hiren@strugglingcoder.info)
Received: from mail.strugglingcoder.info (strugglingcoder.info [65.19.130.35])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256
 bits)) (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id E7EAF18C;
 Thu,  3 Sep 2015 23:32:30 +0000 (UTC)
 (envelope-from hiren@strugglingcoder.info)
Received: from localhost (unknown [10.1.1.3])
 (Authenticated sender: hiren@strugglingcoder.info)
 by mail.strugglingcoder.info (Postfix) with ESMTPSA id 9F542CCD45;
 Thu,  3 Sep 2015 16:32:29 -0700 (PDT)
Date: Thu, 3 Sep 2015 16:32:29 -0700
From: hiren panchasara <hiren@strugglingcoder.info>
To: Lawrence Stewart <lstewart@freebsd.org>
Cc: freebsd-net@freebsd.org
Subject: Re: Value of congestion window (cwnd) when loss is detected
Message-ID: <20150903233229.GT68814@strugglingcoder.info>
References: <20150903005405.GN68814@strugglingcoder.info>
 <55E82B59.6000202@freebsd.org>
 <20150903161651.GQ68814@strugglingcoder.info>
 <20150903175313.GS68814@strugglingcoder.info>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="U8v/hV883cEE9JJG"
Content-Disposition: inline
In-Reply-To: <20150903175313.GS68814@strugglingcoder.info>
User-Agent: Mutt/1.5.23 (2014-03-12)
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net/>;
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Sep 2015 23:32:31 -0000


--U8v/hV883cEE9JJG
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 09/03/15 at 10:53P, hiren panchasara wrote:
> On 09/03/15 at 09:16P, hiren panchasara wrote:
> > On 09/03/15 at 09:13P, Lawrence Stewart wrote:
> [skip]
> > >=20
> > > You want to read up about window inflation during fast recovery in RFC
> > > 5681 followed by 3782, and then consult Stevens vol 2 to understand h=
ow
> > > variables are used for different purposes depending on connection sta=
te
> > > and which code path was taken (something I greatly dislike and would
> > > love to change one day).
>=20
> Here is my understanding of these rfcs:
> RFC 5681:
> 3.2.  Fast Retransmit/Fast Recovery
> When we detect loss:
> 2. When the third duplicate ACK is received, a TCP MUST set ssthresh to
> no more than the value given in equation (4).  When [RFC3042]is in use,
> additional data sent in limited transmit MUST NOT be included in this
> calculation.
>=20
> ssthresh =3D max (FlightSize / 2, 2*SMSS)   <-- equation (4).
> In my example,
> ssthresh =3D max (14480 / 2, 2*1448) =3D 7240. i.e. 5 packets
>=20
> 3. The lost segment starting at SND.UNA MUST be retransmitted and cwnd
> set to ssthresh plus 3*SMSS.  This artificially "inflates" the
> congestion window by the number of segments (three) that haveleft the
> network and which the receiver has buffered.
>=20
> cwnd =3D (ssthresh + 3*SMSS)
> In my example,
> cwnd =3D 7240 + 3*1448 =3D 11584, i,e, 8 packets
>=20
> RFC 3782:
> We either do sack based recovery *or* newreno based recovery. And we do
> sack based when TF_SACK_PERMIT is present.
> So I don't think this comes into play. Please correct me if that is not t=
he
> case.
>=20
> Stevens vol 2:
>=20
> sshthresh:
> "When t_dupacks reaches 3 ( tcprexmtthresh ), the value of snd_nxt is
> saved in onxt and the slow start threshold ( ssthresh ) is set to one-half
> the current congestion window, with a minimum value of two segments."
>=20
> snd_cwnd:
> The congestion window is set to the slow start threshold plus the number
> of segments that the other end has cached. By cached we mean the number
> of out-of-order segments that the other end has received and generated
> duplicate ACKs for. These cannot be passed to the process at the other
> end until the missing segment (which was just sent) is received.
>=20
> So, according to this, sshthresh itself is set pretty high i.e. cwnd/2.
> And, snd_cwnd =3D sshthresh + cached packets at the other end.
>=20
> In my example, when server realizes loss, cwnd is 17377 i.e. 12 packets.
> Half of that is 6 packets. And cached packets is 2 because the dup acks
> we got were for 'ack 2897'. So, according to stevens, snd_cwnd should
> have been 6+2 =3D 8 packets. Which matches up to what RFC 5681 suggests.

My interpretation of cached packets is wrong here. It should be the packets
that receiver *cannot* send up the stack. Receiver told us via
SACK (sack 1 {4345:10137}) that it has got at least up to 10137,
i.e. 7 packets. And cumulative ack is 2897, i.e. 2 packets. So cached
packets at the receiver that it cannot send up comes out to be 5
packets.
According to this, the snd_cwnd should be 6(ssthresh) + 5(cached) =3D 11 pa=
ckets.

Cheers,
Hiren

--U8v/hV883cEE9JJG
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQF8BAEBCgBmBQJV6NiNXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4
QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lTkAH/1wSoKTNbrFEcuZnbWVM/w+D
FXeSG/7J/+WuOclkxNHVM2eDG4UBPYB0ANke/E8Cs4+MJ51AotSosprI76bJ58QO
wq43P5oWCn22JPq/vEfMQCSF2AF710io2yz8XlTpuiyXpoF5SGbbkSXaaO0CcThX
jv52DAtSV+TqQJ86YV2m8GbyEFhxH7bThuA018/WVpLbpk3zdiTPO+ynvw/5Vev/
0KkBtvqAsTLtcoPDeBf1QbvF0SOGKW5B6oMyHHB3uWdCBU/soDvdXd5/EZJRIIU+
KJa5xE7DECTuuLDgMSZdFDn2LeROeSyXA6RvLx6KnOqRRXheijYhrcrh8w5l0co=
=fRAN
-----END PGP SIGNATURE-----

--U8v/hV883cEE9JJG--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B1BC39E3-6AEA-4759-B7C0-F506E5972E4C>