Unable to enable decompression in Rx


I wanted to enable decompression and compression of wqes , by enabling the flag rx_cqe_compress from ethtool using ethtool --set-priv-flags enp5s0f1np1 rx_cqe_compress on
I have enabled rx_cqe_compress flag however, when I am sending packets the decompression is not performed.

Can someone provide the detail how compression and decompression of the wqes work.
Thank You

Hi Osama,

We will need to know a bit more info to be able to understand and help with your question
What adapter are you using connectX-4,5,6,7?
What is the OS you are using?
What MOFED version do you have installed?


Hi llan,

I am using connectX-5.
I am using Linux .
I am using MOFED 5.9.


Hi Osama!

The RX CQE Compression feature in NVIDIA network adapters allows the network adapter to compress the size of the received packet completion queue entry (CQE) and transmit it to the CPU. This reduces the amount of data that needs to be transferred from the adapter to the CPU, thereby reducing the amount of data that needs to be processed by the CPU.

When a packet is received, the network adapter generates a CQE that contains information about the packet, such as the packet length, packet type, and the location of the data buffer. The RX CQE Compression feature compresses this CQE and sends it to the CPU.

When the CPU receives the compressed CQE, it decompresses it and processes it in the same way as a normal CQE. The decompression is performed by the network driver, which uses the same compression algorithm as the network adapter.

In order to use the RX CQE Compression feature, both the network adapter and the network driver must support it. Additionally, the ethtool command should be used to enable the RX CQE Compression feature on the network adapter.

As you have already enabled the RX CQE Compression feature using the ethtool command, and the driver is the latest, and packets are still not being decompressed, there may be other issues that could be causing the problem. Here are a few things you can try:

  1. Verify that the RX CQE Compression feature is actually enabled on the network adapter by running the “ethtool -k ” command and checking if the “rx_cqe_compress” flag is listed as “on”.

  2. Check if there are any other conflicting settings that could be affecting RX CQE Compression. For example, some network drivers may have other settings that override the RX CQE Compression setting. You can try disabling these settings to see if it resolves the issue.

  3. Check if there are any network configuration issues that could be causing the problem. For example, there could be issues with the switch or router configuration that are preventing the packets from being properly transmitted and received.

Finally, if none of the above steps work, please open a case with NVIDIA Support so this can be investigated.


Hi llan,

  1. The rx_cqe_compress flag is not listed on “ethtool -k”. However, it is listed on “ethtool --show-priv-flags” and is listed as “on”.
  2. Are there any configurations that I need to do or check at the firmware level, and if so, can you please tell me how to do it?
  3. Can you please elaborate point 2 and 3 as I am not exactly sure what kind of problems or configurations are you talking about in each of them.