Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 (mlx5) adapters can take advantage of, such as:
- Separate post and doorbell operations on all queues. - Lightweight RX queues called Work Queues (WQs). - Low-level RSS indirection table and hash key configuration. This patchset enhances mlx5 with all of these for better performance and flexibility. Documentation is updated accordingly. [1] http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers Adrien Mazarguil (8): mlx5: use fast Verbs interface for scattered RX operation mlx5: get rid of the WR structure in RX queue elements mlx5: refactor RX code for the new Verbs RSS API mlx5: restore allmulti and promisc modes after device restart app/testpmd: fix missing initialization in the RSS hash show command mlx5: use experimental flows in hash RX queues mlx5: enable multi packet send WR in TX CQ doc: update mlx5 documentation Nelio Laranjeiro (5): mlx5: adapt indirection table size depending on RX queues number mlx5: add RSS hash update/get mlx5: use one RSS hash key per flow type app/testpmd: add missing type to RSS hash commands mlx5: remove normal MAC flows when enabling promiscuous mode Olga Shern (3): mlx5: use separate indirection table for default hash RX queue mlx5: define specific flow steering rules for each hash RX QP mlx5: use alternate method to configure promiscuous mode Yaacov Hazan (1): mlx5: fix compilation error with GCC < 4.6 app/test-pmd/cmdline.c | 45 +- app/test-pmd/config.c | 69 +- app/test-pmd/testpmd.h | 6 +- doc/guides/nics/mlx5.rst | 26 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +- drivers/net/mlx5/Makefile | 10 +- drivers/net/mlx5/mlx5.c | 69 +- drivers/net/mlx5/mlx5.h | 56 +- drivers/net/mlx5/mlx5_defs.h | 3 + drivers/net/mlx5/mlx5_ethdev.c | 53 +- drivers/net/mlx5/mlx5_mac.c | 214 ++++--- drivers/net/mlx5/mlx5_rss.c | 213 +++++++ drivers/net/mlx5/mlx5_rxmode.c | 327 +++++----- drivers/net/mlx5/mlx5_rxq.c | 938 ++++++++++++++++++---------- drivers/net/mlx5/mlx5_rxtx.c | 68 +- drivers/net/mlx5/mlx5_rxtx.h | 88 ++- drivers/net/mlx5/mlx5_trigger.c | 86 +-- drivers/net/mlx5/mlx5_txq.c | 7 + drivers/net/mlx5/mlx5_utils.h | 2 - drivers/net/mlx5/mlx5_vlan.c | 44 +- 20 files changed, 1451 insertions(+), 875 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_rss.c -- 2.1.0