Solaris 2.5 and Solaris 2.4 patch 101945-34+ have poor TCP performance

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






Home
FAQ