[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190216013452.21131-1-saeedm@mellanox.com>
Date: Fri, 15 Feb 2019 17:34:39 -0800
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, BlueField SmartNIC
Hi Dave,
This series adds the support for Melanox BlueField SmartNIC.
For more information please see tag log below.
Please note the merge commit of mlx5-next at the base of the pull request:
259fae5a2cff ("Merge branch 'mlx5-next' of git://git.kernel.org/.../mellanox/linux")
Please pull and let me know if there is any problem.
Thanks,
Saeed.
---
The following changes since commit 259fae5a2cff72e19f82094fb73e2149f8d64396:
Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux (2019-02-15 16:45:31 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2019-02-15
for you to fetch changes up to c96692fb8f3d0a161c6892ab9cc51a5e9992ccf2:
net/mlx5: E-Switch, Allow transition to offloads mode for ECPF (2019-02-15 17:25:58 -0800)
----------------------------------------------------------------
Support Mellanox BlueField SmartNIC (mlx5-updates-2019-02-15)
Bodong Wang says,
BlueField device is a multi-core ARM processor in a highly integrated
system on chip coupled with the ConnectX interconnect controller.
BlueField device can be presented in one out of two modes:
- SEPARATED_HOST: ARM processors as a separated and orthogonal host
like any other external host in the multi-host virtualization model.
- EMBEDDED_CPU: ARM processors as Embedded CPU (EC) and part of the
external hosts virtualization model.
While existing driver already supports the device on separated_host
mode, this patch series focus on the functionalities of embedded_cpu
mode.
On embedded_cpu mode, BlueField device exposes regular network
controller PCI function in the BlueField host(e.g, x86). However, a
separate PCI function called Embedded CPU Physical Function(ECPF) is
also added to the ARM host side, where standard Linux distributions is
able to run on the ARM cores. Depends on the NV configuration from
firmware, ECPF can be the e-switch manager and firmware pages supplier.
If ECPF is configured as e-switch manager and page supplier, it will
take over the responsibilities from the PF on BlueField host includes:
- Owns, controls and manages all e-switch parts, and takes e-switch
traffic by default. It also should perform ENABLE_HCA for the host
PF just like a PF does for its VFs.
- Provides and manages the ICM host memory required for the HCA to
store various contexts for itself, the PF and VFs belong the
e-switch it manages.
The PF on BlueField host side is still responsible for:
- Control its own permanent MAC.
- PCI and SRIOV configurations and perform ENABLE_HCA for its VFs.
The ECPF can also retrieve information about the external host it
controls, like host identifier, PCI BDF and number of virtual functions.
As these parameters may be changed dynamically, an event will be triggered
to the driver on ECPF side.
----------------------------------------------------------------
Bodong Wang (13):
net/mlx5: Correctly set LAG mode for ECPF
net/mlx5: E-Switch, Properly refer to the esw manager vport
net/mlx5: E-Switch, Properly refer to host PF vport as other vport
net/mlx5: E-Switch, Refactor offloads flow steering init/cleanup
net/mlx5: E-Switch, Split VF and special vports for offloads mode
net/mlx5: E-Switch, Use getter and iterator to access vport/rep
net/mlx5: E-Switch, Add state to eswitch vport representors
net/mlx5: E-Switch, Support load/unload reps of specific vport types
net/mlx5: E-Switch, Centralize repersentor reg/unreg to eswitch driver
net/mlx5: E-Switch, Assign a different position for uplink rep and vport
net/mlx5: E-Switch, Consider ECPF vport depends on eswitch ownership
net/mlx5: E-Switch, Load/unload VF reps according to event from host PF
net/mlx5: E-Switch, Allow transition to offloads mode for ECPF
drivers/infiniband/hw/mlx5/ib_rep.c | 20 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 25 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 175 +++++---
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 65 ++-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 470 +++++++++++++++++----
drivers/net/ethernet/mellanox/mlx5/core/lag.c | 5 +
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 10 +-
include/linux/mlx5/driver.h | 5 +
include/linux/mlx5/eswitch.h | 19 +-
include/linux/mlx5/mlx5_ifc.h | 3 +-
include/linux/mlx5/vport.h | 20 +-
11 files changed, 617 insertions(+), 200 deletions(-)
Powered by blists - more mailing lists