Took me a while to finally review this series. Since there is not much time left, I'm taking care of v3 with several minor changes summarized below and my ack included directly.
v3 (Adrien): - Drop a few unrelated or unnecessary changes such as the removal of MLX4_PMD_TX_MP_CACHE. - Move device checksum support detection code to its previous location. - Fix include guard in mlx4_prm.h. - Reorder #includes alphabetically. - Replace MLX4_TRANSPOSE() macro with documented inline function. - Remove extra spaces and blank lines. - Use uint8_t * instead of char * for buffers. - Replace mlx4_get_cqe() macro with a documented inline function. - Replace several unsigned int with uint32_t. - Add consistency to field names (sge_n => sges_n). - Make mbuf size checks in RX queue setup function similar to mlx5. - Update various comments. - Fix indentation. - Replace run-time endian conversion with static ones where possible. - Reorder fields in struct rxq and struct txq for consistency, remove one level of unnecessary inner structures. - Fix memory leak on Tx bounce buffer. - Update commit logs. - Fix remaining checkpatch warnings. v2 (Matan): Rearange patches. Semantics. Enhancements. Fix compilation issues. Moti Haimovsky (6): net/mlx4: add simple Tx bypassing Verbs net/mlx4: restore full Rx support bypassing Verbs net/mlx4: restore Tx gather support net/mlx4: restore Tx checksum offloads net/mlx4: restore Rx offloads net/mlx4: add loopback Tx from VF drivers/net/mlx4/mlx4.c | 11 + drivers/net/mlx4/mlx4.h | 2 + drivers/net/mlx4/mlx4_ethdev.c | 10 + drivers/net/mlx4/mlx4_prm.h | 152 +++++++ drivers/net/mlx4/mlx4_rxq.c | 179 ++++++--- drivers/net/mlx4/mlx4_rxtx.c | 768 ++++++++++++++++++++++++++---------- drivers/net/mlx4/mlx4_rxtx.h | 54 +-- drivers/net/mlx4/mlx4_txq.c | 67 +++- drivers/net/mlx4/mlx4_utils.h | 20 + mk/rte.app.mk | 2 +- 10 files changed, 975 insertions(+), 290 deletions(-) create mode 100644 drivers/net/mlx4/mlx4_prm.h -- 2.1.4