The Linux TCP stack has a myriad of sysctl tuneables by which its behaviour can be changed.
There are a various blog posts/articles that recommend to disable some TCP extensions, notably timestamps and/or selective acknowledgments (SACK) for various “performance tuning” or “security” reasons. However, there is little to no reason anymore to do this. The motivation is to debunk a few myths about these features.
I rarely mess with anything that low-level myself, but I’ve seen complaints about TCP and corrupt TCP stacks on occasion. For example, the “Known Limitations” section of wireguard.com has some wording about TCP being terrible. I’d be curious to know more about these sort of problems.
No, this has nothing to do with hardware or software of any kind. There are a bunch of (older) blog posts that make claims that are not true (or not true anymore), thus the clarification. It might make sense to write another article later that covers other/different aspects of tcp or tcp related network offloads such as (tcp) segmentation offload. I will think about it, let me know if you have a particular (related) topic you might want covered.