TCP Selective Acknowledgment (SACK) has to be disabled on the Linux kernel. TCP Selective Acknowledgment (SACK) is used to improve performance of data transfer on TCP stack.

When TCP SACK is enabled the TCP packet capture will have TCP options similar to below screenshot

TCP packet capture sample when TCP SACK is enabled

Disable TCP SACK

To disable SACK run the below command on Linux cli as root.

# sudo echo “net.ipv4.tcp_sack = 0” >> /etc/sysctl.conf
# sudo sysctl -p

After running the above commands the Linux server needs to be rebooted to apply the new configuration.

Once the server is rebooted the Linux server will not do TCP SACK any more.

Disabling TCP SACK will negatively effect the data transfer performance. The magnitude of performance hit depends on type of data transfer.