[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211122144307.218021-1-sunrani@nvidia.com>
Date: Mon, 22 Nov 2021 16:43:05 +0200
From: Sunil Rani <sunrani@...dia.com>
To: <netdev@...r.kernel.org>, <davem@...emloft.net>, <kuba@...nel.org>
CC: <parav@...dia.com>, <jiri@...dia.com>, <saeedm@...dia.com>,
Sunil Rani <sunrani@...dia.com>
Subject: [PATCH net-next 0/2] Extend devlink for port trust setting
Currently a function (VF/SF) is always untrusted by default. Such a
function does not have the privilege to perform steering database update
as what a switchdev device can do.
In a use case where, a trusted application wants to modify/update the
device steering database through a VF or a SF, add a user knob through
which administrator can mark the function trusted; thereby it can update
the steering database.
This patchset introduces a knob to mark a function trusted. Function
restores to its untrusted state when either user marks it as untrusted
or the function is deleted (SR-IOV disablement or SF port deletion).
Patch Summary:
patch1: extends devlink to get/set trust state
patch2: extends mlx5 driver to get/set trust state setting
example config sequence:
Add SF Port:
$ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 88
pci/0000:08:00.0/32768: type eth netdev eth6 flavour pcisf controller 0 pfnum 0 sfnum 88 splittable false
function:
hw_addr 00:00:00:00:00:00 state inactive opstate detached trusted false
Set SF trust setting:
$ devlink port function set pci/0000:08:00.0/32768 trusted true
Query SF settings:
$ devlink port show pci/0000:08:00.0/32768
pci/0000:08:00.0/32768: type eth netdev eth6 flavour pcisf controller 0 pfnum 0 sfnum 88 splittable false
function:
hw_addr 00:00:00:00:00:00 state inactive opstate detached trusted true
Sunil Rani (2):
devlink: Add support to set port function as trusted
net/mlx5: SF/VF, Port function trust set support
.../networking/devlink/devlink-port.rst | 4 +
.../net/ethernet/mellanox/mlx5/core/devlink.c | 2 +
.../net/ethernet/mellanox/mlx5/core/eswitch.c | 24 ++++
.../net/ethernet/mellanox/mlx5/core/eswitch.h | 11 +-
.../mellanox/mlx5/core/eswitch_offloads.c | 116 ++++++++++++++++++
include/linux/mlx5/driver.h | 1 +
include/linux/mlx5/mlx5_ifc.h | 10 +-
include/net/devlink.h | 22 ++++
include/uapi/linux/devlink.h | 1 +
net/core/devlink.c | 55 +++++++++
10 files changed, 244 insertions(+), 2 deletions(-)
--
2.26.2
Powered by blists - more mailing lists