5.52) Solaris 2.5 and Solaris 2.4 patch 101945-34+ have poor TCP performance over slow links.

Solaris 2.5 and Solaris 2.4 kernel patch 101945-34 and later have a bug in their TCP retransmission algorithm that cause excessive retransmissions over slow links, Sun's bug ID is #1233827.

A work around for this bug is running the following commands at system boot, e.g., by adding them to /etc/init.d/inetinit (values are in milliseconds):

	# DO NOT USE THESE CHANGES ON PATCHED SYSTEMS
	/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_min 3000
	/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_initial 3000

someone else suggested different changes, because with the above retransmits when you do lose a packet take a long time. The following uses a smaller value for the minimal retransmit interval but also limits the outgoing packet size to 536 bytes, so retransmitted packets are smaller and lost packets too.

	# DO NOT USE THESE CHANGES ON PATCHED SYSTEMS
	/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_min 1000
	/usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_initial 3000
	/usr/sbin/ndd -set /dev/tcp tcp_mss_max 536

Patches for this bug have been released, as listed below. You should not combine the patches with the tcp_rexmit_interval setting listed here (patches listed are the first revisions with the fixes; newer versions fixing more problems have been released and can be applied instead)

101945-42: SunOS 5.4: patch for kernel

103169-06: SunOS 5.5: ip driver and ifconfig fixes 103447-03: SunOS 5.5: tcp patch

103448-03: SunOS 5.5_x86: tcp patch 103170-06: SunOS 5.5_x86: ip driver and ifconfig fixes

103582-01: SunOS 5.5.1: /kernel/drv/tcp patch 103630-01: SunOS 5.5.1: ip and ifconfig patch

103631-01: SunOS 5.5.1_x86: ip and ifconfig patch 103581-01: SunOS 5.5.1_x86: /kernel/drv/tcp patch

103632-01: SunOS 5.5.1_ppc: ip and ifconfig patch 103583-01: SunOS 5.5.1_ppc: /kernel/drv/tcp patch

PREV INDEX NEXT