From owner-freebsd-current@freebsd.org Tue Jan 5 08:05:51 2016 Return-Path: Delivered-To: freebsd-current@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 883A6A616F6; Tue, 5 Jan 2016 08:05:51 +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 CN "mail.strugglingcoder.info", Issuer "mail.strugglingcoder.info" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7A3131358; Tue, 5 Jan 2016 08:05:51 +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 ESMTPA id 20858C8033; Mon, 4 Jan 2016 23:57:12 -0800 (PST) Date: Mon, 4 Jan 2016 23:57:12 -0800 From: hiren panchasara To: Sam Kumar Cc: transport@freebsd.org Subject: Re: TCP Stack: Challenge ACKs and Timestamps Message-ID: <20160105075712.GA6605@strugglingcoder.info> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="gBBFr7Ir9EOA20Yy" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Mailman-Approved-At: Tue, 05 Jan 2016 12:14:38 +0000 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jan 2016 08:05:51 -0000 --gBBFr7Ir9EOA20Yy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable bcc: current@ Moving the discussion to transport@. On 12/28/15 at 12:25P, Sam Kumar wrote: > Hello, > I am working with the code for the TCP Stack. I noticed that support for > Challenge Acks have been added since the latest release (10.2.0), and I > think I may have found a bug in how they relate to TCP timestamps. All li= ne > numbers below are those in commit e66e064c45687b5d294565dbd829b419848f799= 2. >=20 > Looking at tcp_input.c, at lines 1594 to 1604, I see code that expects a > timestamp to be in every segment during the session, if they were > negotiated when the connection was being established. > ( > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L1= 595 > ) >=20 > Looking at tcp_input.c, at lines 2161 and 2188, I see that Challenge ACKs > are sent via calls to tcp_respond(). > ( > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L2= 161 > and > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L2= 188 > ) >=20 > Looking at tcp_subr.c, at line 978, I see that the segment sent by > tcp_respond() never contains TCP options. > (https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_subr.c#L9= 78) >=20 > Therefore, it seems to me that Challenge ACKs will never contain any TCP > options. This violates the condition that once timestamps are negotiated, > they must be present in every segment. >=20 > Please let me know if I am mistaken, or if this is actually a bug. >=20 > Sam Kumar > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" --gBBFr7Ir9EOA20Yy Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAABCgBmBQJWi3dUXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lmeYH/2cIasO818MSJhrR1pR95t2K MmOtpO+nxCOW2qKPdJSkU2DFeYoJ/2qOne8Qi647IZQRFZox+gxOoIYy9PZn6ZKY 1GyWGUrxhdO8IGgP32RS4TfpI8mo2GFz+yoVs17ntWeEXKKCatVbuHMWlQIn3ZCW tR1lCBY7+bEpI8qPfUySoeBh4hbzmdJEnX9TmiHJlhtvC+NB4JYmL2DpriYPIYsz Duo91qFVnck9PiI5PAU0rzKFBhQJSOboN6AZkd/57ydz3kE6btqAphQ1QRBJvQlF t2MaF6JvRWLBFBhrj8T6xuzD/59ByvMy7GtJANKuWMLNad04xaAs0VUsbMVqYtI= =WYNc -----END PGP SIGNATURE----- --gBBFr7Ir9EOA20Yy--