[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180726225647.11926-1-saeedm@mellanox.com>
Date: Thu, 26 Jul 2018 15:56:34 -0700
From: Saeed Mahameed <saeedm@...lanox.com>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Saeed Mahameed <saeedm@...lanox.com>
Subject: [pull request][net-next 00/13] Mellanox, mlx5e updates 2018-07-26 (XDP redirect)
Hi Dave,
This series from Tariq adds the support for device-out XDP redirect.
For more information please see tag log below.
Please pull and let me know if there's any problem.
Thanks,
Saeed.
---
The following changes since commit 6a8fab17940d4934293d4145abce00e178393bec:
Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue (2018-07-26 14:14:01 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5e-updates-2018-07-26
for you to fetch changes up to 8ee48233566624826d185bf63735cc01d7113fce:
net/mlx5e: TX, Use function to access sq_dma object in fifo (2018-07-26 15:23:59 -0700)
----------------------------------------------------------------
mlx5e-updates-2018-07-26 (XDP redirect)
This series from Tariq adds the support for device-out XDP redirect.
Start with a simple RX and XDP cleanups:
- Replace call to MPWQE free with dealloc in interface down flow
- Do not recycle RX pages in interface down flow
- Gather all XDP pre-requisite checks in a single function
- Restrict the combination of large MTU and XDP
Since now XDP logic is going to be called from TX side as well,
generic XDP TX logic is not RX only anymore, for that Tariq creates
a new xdp.c file and moves XDP related code into it, and generalizes
the code to support XDP TX for XDP redirect, such as the xdp tx sq
structures and xdp counters.
XDP redirect support:
Add implementation for the ndo_xdp_xmit callback.
Dedicate a new set of XDP-SQ instances to satisfy the XDP_REDIRECT
requests. These instances are totally separated from the existing
XDP-SQ objects that satisfy local XDP_TX actions.
Performance tests:
xdp_redirect_map from ConnectX-5 to ConnectX-5.
CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
Packet-rate of 64B packets.
Single queue: 7 Mpps.
Multi queue: 55 Mpps.
-Saeed.
----------------------------------------------------------------
Tariq Toukan (13):
net/mlx5e: Replace call to MPWQE free with dealloc in interface down flow
net/mlx5e: Do not recycle RX pages in interface down flow
net/mlx5e: Gather all XDP pre-requisite checks in a single function
net/mlx5e: Restrict the combination of large MTU and XDP
net/mlx5e: Move XDP related code into new XDP files
net/mlx5e: Add counter for XDP redirect in RX
net/mlx5e: Make XDP xmit functions more generic
net/mlx5e: Refactor XDP counters
net/mlx5e: Re-order fields of struct mlx5e_xdpsq
net/mlx5e: Add support for XDP_REDIRECT in device-out side
net/mlx5e: RX, Prefetch the xdp_frame data area
net/mlx5e: TX, Move DB fields in TXQ-SQ struct
net/mlx5e: TX, Use function to access sq_dma object in fifo
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 61 +++--
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 302 +++++++++++++++++++++
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h | 63 +++++
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 116 ++++++--
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 254 ++---------------
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 80 +++++-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 24 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 19 +-
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 4 +
10 files changed, 612 insertions(+), 313 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h
Powered by blists - more mailing lists