Subject: Re: RFC 1323 implementation

From: Fred Bohle <[email-masked]>
Date: Tue, 28 Apr 1998 10:56:05 -0400

Dave,

	For TCPaccess release 4.1 for MVS:

We have a configuration value for Window Scaling.  If it is zero,
we will not send Window Scaling nor Timestamp options.  If it is 
not zero, we support 1,2,4,5,6,8,9,10,11,12,13,14.

	For TCPaccess release 5.2 for MVS:

The remarks about configuration are the same. For nonzero scaling,
we support 1,2,4,5,6,7,8,9,10,11,12,13,14.  In other words, we added
support for 7 in release 5.2

We control Window Scaling from configuration control, not from buffer
sizes, so we do not support item 3 in either release.

Fred
------------------------------------------------------------------------
Fred Bohle			EMAIL: [email-masked]
Interlink Computer Sciences	AT&T : 410-992-7750 x314
9250 Rumsey Road, Suite 200
Columbia, MD 21045-1946
------------------------------------------------------------------------

---

From: Craig Buffinton <[email-masked]>
Date: Thu, 30 Apr 1998 20:27:25 -0400

>>Reply to your message of 4/27/98 5:00 PM
>
The FTP Software OnNet Kernel for Windows 95 includes support
for all but #13 on the check list. It also implements 
RFC 2001 and 2018.

Craig Buffinton
Senior Software Engineer
FTP Software
978-684-6653

	      _  Section 2.2
	  1. |x|   Window Scale Option
	  2. |x|   Only send in SYN/ACK if received in SYN
	  3. |x|   Window Scale size based on receive buffer size

-->			receive buffer size can be set by registry or app.

	      _  Section 2.3
	  4. |x|   Shift values > 14 are logged and treated as 14.

-->			Shift values > 14 are not logged

	      _  Section 3.2
	  5. |x|   Timestamps Option
	  6. |x|   Only send in SYN/ACK if received in SYN
	  7. |x|   RTT calculations based on Timestamps

	      _  Section 3.4
	 *8. |x|   Update TS.Recent if:
	             SEG.TSval >= TSrecent and SEG.SEQ <= Last.ACK.sent

	      _  Section 4.x
	  9. |x|   PAWS
	 10. |x|   "invalidate" TS.Recent if idle > 24 days.
 
	      _  Appendix A:
	*11. |x|   TCP Maxseg option: MSS = MTU - fixed IP/TCP header
	*12. |x|   On output: adjust TCP data length for TCP options
	*13. |_|              adjust TCP data length for IP options

--> 			TCP data length not adjusted for IP options 

	      _  Appendix C:
	*14. |x|   Disable Karn algorithm w/RTTM

>>End of message

---

From: Hsiao-keng Jerry Chu <[email-masked]>
Date: Fri, 1 May 1998 15:59:05 -0700 (PDT)

Vendor: Sun Microsystems, Inc.
	Product: Solaris
	    Version: 2.6
	    Checklist items: 1-14 (except for a couple of minor known bugs
		described below)

	By default the active open side will NOT initiate any window scale/
	timestamp options unless necessary (e.g. app specifying a >= 64k
	receive buffer size). The can be overridden by some system tunables.

------------------------------------------------
	      _  Section 2.2
	  1. |X|   Window Scale Option
	  2. |X|   Only send in SYN/ACK if received in SYN
	  3. |X|   Window Scale size based on receive buffer size

	      _  Section 2.3
	  4. |X|   Shift values > 14 are logged and treated as 14.

=> We treat values > 14 as 14 but don't log an error.

	      _  Section 3.2
	  5. |x|   Timestamps Option

	      _  Section 3.4

	      _  Section 4.x
	  9. |X|   PAWS
	 10. |X|   "invalidate" TS.Recent if idle > 24 days.
 
	      _  Appendix A:
	*11. |X|   TCP Maxseg option: MSS = MTU - fixed IP/TCP header

=> We just discovered a bug, although minor, when some IP option is
=> enabled. The size of the IP option gets subtracted from MSS by mistake.
=> Since we implemented 12/13 correctly, this only unnecessarily reduces
=> the effective usable payload size. The bug will be fixed asap.

	*12. |X|   On output: adjust TCP data length for TCP options
	*13. |X|              adjust TCP data length for IP options

	      _  Appendix C:
	*14. |X|   Disable Karn algorithm w/RTTM

* New/changed items from RFC 1323.

---

From: Jason Thorpe <[email-masked]>
Date: Mon, 04 May 1998 00:10:09 -0700

Regarding Dave's RFC1323 survey (Dave, this is an update/correction to
the one which Kevin sent to you earlier...):

	      _  Section 2.2
	  1. |_|   Window Scale Option
	  2. |_|   Only send in SYN/ACK if received in SYN
	  3. |_|   Window Scale size based on receive buffer size

	      _  Section 2.3
	  4. |_|   Shift values > 14 are logged and treated as 14.

	      _  Section 3.2
	  5. |_|   Timestamps Option
	  6. |_|   Only send in SYN/ACK if received in SYN
	  7. |_|   RTT calculations based on Timestamps

	      _  Section 3.4
	 *8. |_|   Update TS.Recent if:
	             SEG.TSval >= TSrecent and SEG.SEQ <= Last.ACK.sent

	      _  Section 4.x
	  9. |_|   PAWS
	 10. |_|   "invalidate" TS.Recent if idle > 24 days.
 
	      _  Appendix A:
	*11. |_|   TCP Maxseg option: MSS = MTU - fixed IP/TCP header
	*12. |_|   On output: adjust TCP data length for TCP options
	*13. |_|              adjust TCP data length for IP options

	      _  Appendix C:
	*14. |_|   Disable Karn algorithm w/RTTM

	Vendor: The NetBSD Foundation, Inc.
	Product: NetBSD
	    Version: 1.4 [1]
	    Checklist items: 1 - 14

	    Version: 1.3.1 and earlier
	    Checklist items: 1 - 7 [2], 9 - 11, 14

	Contacts: Kevin M. Lahey <[email-masked]>
		  Jason R. Thorpe <[email-masked]>

[1] NetBSD 1.4 is not yet released, but the development sources which
    implement all checklist items are currently available as NetBSD 1.3E.

[2] Window scale values > 14 are treated as 14, but not logged.  This is
    changed in NetBSD 1.4, where the illegal value and the peer which
    sent it is now logged.

Jason R. Thorpe                                       [email-masked]
NASA Ames Research Center                            Home: +1 408 866 1912
NAS: M/S 258-5                                       Work: +1 650 604 0935
Moffett Field, CA 94035                             Pager: +1 415 428 6939