[dpdk-dev] [PATCH v1 00/48] net/mlx4: trim and refactor entire PMD
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Tue Aug 1 18:53:47 CEST 2017
The main purpose of this large series is to relieve the mlx4 PMD from its
dependency on Mellanox OFED to instead rely on the standard rdma-core
package provided by Linux distributions.
While compatibility with Mellanox OFED is preserved, all nonstandard
functionality has to be stripped from the PMD in order to re-implement it
through an approach compatible with rdma-core.
Due to the amount of changes necessary to achieve this goal, this rework
starts off by removing extraneous code to simplify the PMD as much as
possible before either replacing or dismantling functionality that relies on
nonstandard Verbs.
What remains after applying this series is single-segment Tx/Rx support,
without offloads nor RSS, on the default MAC address (which cannot be
configured). Support for multiple queues and the flow API (minus the RSS
action) are also preserved.
Missing functionality that needs substantial work will be restored later by
subsequent series.
Also because the mlx4 PMD is mostly contained in a single very large source
file of 6400+ lines (mlx4.c) which has become extremely difficult to
maintain, this rework is used as an opportunity to finally group functions
into separate files, as in mlx5.
This rework targets DPDK 17.11.
Adrien Mazarguil (48):
net/mlx4: add consistency to copyright notices
net/mlx4: remove limitation on number of instances
net/mlx4: check max number of ports dynamically
net/mlx4: remove useless compilation checks
net/mlx4: remove secondary process support
net/mlx4: remove useless code
net/mlx4: remove soft counters compilation option
net/mlx4: remove scatter mode compilation option
net/mlx4: remove Tx inline compilation option
net/mlx4: remove allmulti and promisc support
net/mlx4: remove VLAN filter support
net/mlx4: remove MAC address configuration support
net/mlx4: drop MAC flows affecting all Rx queues
net/mlx4: revert flow API RSS support
net/mlx4: revert RSS parent queue refactoring
net/mlx4: drop RSS support
net/mlx4: drop checksum offloads support
net/mlx4: drop packet type recognition support
net/mlx4: drop scatter/gather support
net/mlx4: drop inline receive support
net/mlx4: use standard QP attributes
net/mlx4: revert resource domain support
net/mlx4: revert multicast echo prevention
net/mlx4: revert fast Verbs interface for Tx
net/mlx4: revert fast Verbs interface for Rx
net/mlx4: simplify link update function
net/mlx4: standardize on negative errno values
net/mlx4: clean up coding style inconsistencies
net/mlx4: remove control path locks
net/mlx4: remove unnecessary wrapper functions
net/mlx4: remove mbuf macro definitions
net/mlx4: use standard macro to get array size
net/mlx4: separate debugging macros
net/mlx4: use a single interrupt handle
net/mlx4: rename alarm field
net/mlx4: refactor interrupt FD settings
net/mlx4: clean up interrupt functions prototypes
net/mlx4: compact interrupt functions
net/mlx4: separate interrupt handling
net/mlx4: separate Rx/Tx definitions
net/mlx4: separate Rx/Tx functions
net/mlx4: separate device control functions
net/mlx4: separate Tx configuration functions
net/mlx4: separate Rx configuration functions
net/mlx4: group flow API handlers in common file
net/mlx4: rename private functions in flow API
net/mlx4: separate memory management functions
net/mlx4: clean up includes and comments
config/common_base | 3 -
doc/guides/nics/features/mlx4.ini | 13 -
doc/guides/nics/mlx4.rst | 37 +-
drivers/net/mlx4/Makefile | 41 +-
drivers/net/mlx4/mlx4.c | 6370 ++------------------------------
drivers/net/mlx4/mlx4.h | 322 +-
drivers/net/mlx4/mlx4_ethdev.c | 792 ++++
drivers/net/mlx4/mlx4_flow.c | 457 +--
drivers/net/mlx4/mlx4_flow.h | 51 +-
drivers/net/mlx4/mlx4_intr.c | 377 ++
drivers/net/mlx4/mlx4_mr.c | 183 +
drivers/net/mlx4/mlx4_rxq.c | 632 ++++
drivers/net/mlx4/mlx4_rxtx.c | 533 +++
drivers/net/mlx4/mlx4_rxtx.h | 164 +
drivers/net/mlx4/mlx4_txq.c | 472 +++
drivers/net/mlx4/mlx4_utils.c | 66 +
drivers/net/mlx4/mlx4_utils.h | 105 +
17 files changed, 3824 insertions(+), 6794 deletions(-)
create mode 100644 drivers/net/mlx4/mlx4_ethdev.c
create mode 100644 drivers/net/mlx4/mlx4_intr.c
create mode 100644 drivers/net/mlx4/mlx4_mr.c
create mode 100644 drivers/net/mlx4/mlx4_rxq.c
create mode 100644 drivers/net/mlx4/mlx4_rxtx.c
create mode 100644 drivers/net/mlx4/mlx4_rxtx.h
create mode 100644 drivers/net/mlx4/mlx4_txq.c
create mode 100644 drivers/net/mlx4/mlx4_utils.c
create mode 100644 drivers/net/mlx4/mlx4_utils.h
--
2.1.4
More information about the dev
mailing list