CQE compression reduces PCI bandwidth usage by coalescing and compressing multiple CQEs into a single zipped CQE. This improves Rx message rate, especially for small packet traffic.
CQEs must be almost identical to be successfully merged and compressed together. All the shared data is contained in the Title Compression block, while the packet size, for example, may differ and stored in the each compressed CQE independently. CQE compression doesn't tolerate any other differences except the packet size and the Checksum/Hash and falls back to the regular CQE scheme in all other cases. There is a proposal to include more fields into the CQE compression format to achieve a better performance in the following scenarios: 1. Different RTE Flow marks associated with Rx traffic. Having the mark ID as part of the mini-CQE structure allows us to keep the CQE compression uninterrupted for multiple different RTE flows with different mark IDs. 2. Mixed TCP/UDP and IPv4/IPv6 traffic. Adding L3/L4 header type to the mini-CQE format helps with the performance of the mixed traffic of various TCP/UDP headers and coexistence of IPv4 and IPv6 protocols in one compression session.