[dpdk-dev] [PATCH v2 00/51] net/mlx4: trim and refactor entire PMD
Ferruh Yigit
ferruh.yigit at intel.com
Tue Sep 5 11:59:50 CEST 2017
On 9/1/2017 9:06 AM, Adrien Mazarguil wrote:
> 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.
>
> Changes since v1:
>
> - Rebased series on top of the latest upstream fixes.
>
> - Cleaned up remaining typos and coding style issues.
>
> - "net/mlx4: check max number of ports dynamically":
> Removed extra loop and added error message on maximum number of ports
> according to Allain's suggestion.
>
> - "net/mlx4: drop scatter/gather support":
> Additionally removed unnecessary mbuf pool from rxq_alloc_elts().
>
> - "net/mlx4: simplify Rx buffer handling":
> New patch removing unnecessary code from the simplified Rx path.
>
> - "net/mlx4: remove isolated mode constraint":
> New patch removing needless constraint for isolated mode, which can now
> be toggled anytime.
>
> - "net/mlx4: rely on ethdev for Tx/Rx queue arrays":
> New patch refactoring duplicated information from ethdev.
>
> Adrien Mazarguil (51):
> 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 Rx buffer handling
> 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
> net/mlx4: remove isolated mode constraint
> net/mlx4: rely on ethdev for Tx/Rx queue arrays
Series applied to dpdk-next-net/master, thanks.
More information about the dev
mailing list