[dpdk-dev] [PATCH v2 00/13] Mellanox ConnectX-4 PMD (mlx5)

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


This PMD adds basic support for Mellanox ConnectX-4 (mlx5) families of
10/25/40/50/100 Gb/s adapters through the Verbs framework.

Its design is very similar to that of mlx4 from which most of its code is
borrowed without the mistake of putting it all in a single huge file.

It is disabled by default due to its dependency on libibverbs.

Changes in v2:
- Removed useless port inactive warning.
- Simplified code by replacing configured MAC addresses RX queue bit-field
  with flow pointer checks.
- Replaced allmulti/promisc status bits with request bits to fix
  inconsistencies when restoring these modes.
- Updated comments about maximum number of MAC addresses and VLAN filters.
- Improved performance with better prefetching.
- Fixed deadlock in case of error during port start.
- Simplified VLAN filtering configuration storage using a basic list instead
  of a table (with holes).

Adrien Mazarguil (13):
  mlx5: new poll-mode driver for Mellanox ConnectX-4 adapters
  mlx5: add non-scattered TX and RX support
  mlx5: add MAC handling
  mlx5: add device configure/start/stop
  mlx5: add support for scattered RX and TX buffers
  mlx5: add MTU configuration support
  mlx5: add software counters and related callbacks
  mlx5: add promiscuous and allmulticast RX modes
  mlx5: add link update device operation
  mlx5: add flow control device operations
  mlx5: add VLAN filtering
  mlx5: add checksum offloading support
  doc: add mlx5 documentation and release notes for version 2.2

 MAINTAINERS                               |    4 +
 config/common_bsdapp                      |    9 +
 config/common_linuxapp                    |    9 +
 doc/guides/nics/mlx5.rst                  |  308 +++++++++
 doc/guides/rel_notes/release_2_2.rst      |    9 +
 drivers/net/Makefile                      |    1 +
 drivers/net/mlx5/Makefile                 |  128 ++++
 drivers/net/mlx5/mlx5.c                   |  553 +++++++++++++++
 drivers/net/mlx5/mlx5.h                   |  212 ++++++
 drivers/net/mlx5/mlx5_defs.h              |   78 +++
 drivers/net/mlx5/mlx5_ethdev.c            |  844 +++++++++++++++++++++++
 drivers/net/mlx5/mlx5_mac.c               |  464 +++++++++++++
 drivers/net/mlx5/mlx5_rxmode.c            |  311 +++++++++
 drivers/net/mlx5/mlx5_rxq.c               | 1064 +++++++++++++++++++++++++++++
 drivers/net/mlx5/mlx5_rxtx.c              | 1009 +++++++++++++++++++++++++++
 drivers/net/mlx5/mlx5_rxtx.h              |  194 ++++++
 drivers/net/mlx5/mlx5_stats.c             |  144 ++++
 drivers/net/mlx5/mlx5_trigger.c           |  154 +++++
 drivers/net/mlx5/mlx5_txq.c               |  513 ++++++++++++++
 drivers/net/mlx5/mlx5_utils.h             |  166 +++++
 drivers/net/mlx5/mlx5_vlan.c              |  156 +++++
 drivers/net/mlx5/rte_pmd_mlx5_version.map |    3 +
 mk/rte.app.mk                             |    5 +
 23 files changed, 6338 insertions(+)
 create mode 100644 doc/guides/nics/mlx5.rst
 create mode 100644 drivers/net/mlx5/Makefile
 create mode 100644 drivers/net/mlx5/mlx5.c
 create mode 100644 drivers/net/mlx5/mlx5.h
 create mode 100644 drivers/net/mlx5/mlx5_defs.h
 create mode 100644 drivers/net/mlx5/mlx5_ethdev.c
 create mode 100644 drivers/net/mlx5/mlx5_mac.c
 create mode 100644 drivers/net/mlx5/mlx5_rxmode.c
 create mode 100644 drivers/net/mlx5/mlx5_rxq.c
 create mode 100644 drivers/net/mlx5/mlx5_rxtx.c
 create mode 100644 drivers/net/mlx5/mlx5_rxtx.h
 create mode 100644 drivers/net/mlx5/mlx5_stats.c
 create mode 100644 drivers/net/mlx5/mlx5_trigger.c
 create mode 100644 drivers/net/mlx5/mlx5_txq.c
 create mode 100644 drivers/net/mlx5/mlx5_utils.h
 create mode 100644 drivers/net/mlx5/mlx5_vlan.c
 create mode 100644 drivers/net/mlx5/rte_pmd_mlx5_version.map

-- 
2.1.0



More information about the dev mailing list