[dpdk-dev] [PATCH v2 00/16] Enhance mlx5 with Mellanox OFED 3.1

Adrien Mazarguil adrien.mazarguil at 6wind.com
Fri Oct 30 19:55:03 CET 2015


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

Changes in v2:
- Fixed compilation errors due to a missing libibverbs callback in the first
  two commits.
- Improved clean up in device stop function.
- Added flows clean up when going promiscuous to save HW resources.
- Removed VF check in promiscuous mode.
- Added RSS support for IPv6 flows.
- Renamed flow specification generator function.
- Modified allmulticast code to use enhanced flow specifications.
- Remaining changes are caused by rebase on v2 of the initial patchset
  ("Mellanox ConnectX-4 PMD (mlx5)").

Adrien Mazarguil (7):
  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
  app/testpmd: fix missing initialization in the RSS hash show command
  mlx5: add IPv6 RSS support using experimental flows
  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: disable useless flows in 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 promisc and allmulti modes

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                   |   14 +-
 drivers/net/mlx5/mlx5.c                     |   67 +-
 drivers/net/mlx5/mlx5.h                     |   54 +-
 drivers/net/mlx5/mlx5_defs.h                |    3 +
 drivers/net/mlx5/mlx5_ethdev.c              |   54 +-
 drivers/net/mlx5/mlx5_mac.c                 |  212 +++---
 drivers/net/mlx5/mlx5_rss.c                 |  213 ++++++
 drivers/net/mlx5/mlx5_rxmode.c              |  313 +++++----
 drivers/net/mlx5/mlx5_rxq.c                 | 1012 ++++++++++++++++++---------
 drivers/net/mlx5/mlx5_rxtx.c                |   68 +-
 drivers/net/mlx5/mlx5_rxtx.h                |   97 ++-
 drivers/net/mlx5/mlx5_trigger.c             |   87 +--
 drivers/net/mlx5/mlx5_txq.c                 |    7 +
 drivers/net/mlx5/mlx5_utils.h               |    2 -
 drivers/net/mlx5/mlx5_vlan.c                |   33 +-
 20 files changed, 1532 insertions(+), 852 deletions(-)
 create mode 100644 drivers/net/mlx5/mlx5_rss.c

-- 
2.1.0



More information about the dev mailing list