I’m trying to make SMB compression work in Windows, but I still cannot get the expected compression headers in traffic captures.
Environment
- Client: Windows 11
- Server/share host: Windows 11
- SMB dialect: the correct modern dialect is negotiated
- RDMA: disabled
- Transfer test: large file
- Copy method: Explorer, net use, and robocopy /compress
What I expected
I expected SMB compression to be used and to see the corresponding compressed SMB transform headers in Wireshark.
What I already checked
- SMB compression is enabled on the client.
- SMB compression is enabled on the server/share.
- RequestCompression is enabled on the client.
- RequestCompression is enabled on the server side as well.
- RDMA is disabled.
- I tested with a large file to avoid small-transfer edge cases.
- I also tried robocopy /compress.
- The SMB dialect is correct (3.1.1).
- The connection is recreated after changing the settings.
What I see instead
- The connection works normally.
- The packets still look like standard SMB traffic.
- I do not see the SMB compression transform headers I expected.
- In Wireshark, I only see the normal SMB framing, not compressed SMB traffic.
Current question
What else should I check to understand why SMB compression is not being used in this setup?
UPD
I tested this on two different Windows 11 machines, including one running in VirtualBox, and the result is the same. SMB compression is enabled on both sides, RDMA is disabled, and I also tested with a large file and robocopy /compress, but the data is still not being compressed at all. This makes it look more like a Windows limitation or bug than a configuration issue.