lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200619033255.163-1-parav@mellanox.com>
Date:   Fri, 19 Jun 2020 03:32:46 +0000
From:   Parav Pandit <parav@...lanox.com>
To:     netdev@...r.kernel.org
Cc:     saeedm@...lanox.com, davem@...emloft.net, kuba@...nel.org,
        jiri@...lanox.com, Parav Pandit <parav@...lanox.com>
Subject: [PATCH net-next 0/9] devlink: Support get,set mac address of a port function

Currently, ip link set dev <pfndev> vf <vf_num> <param> <value> has
below few limitations.

1. Command is limited to set VF parameters only.
It cannot set the default MAC address for the PCI PF.

2. It can be set only on system where PCI SR-IOV capability exists.
In smartnic based system, eswitch of a NIC resides on a different
embedded cpu which has the VF and PF representors for the SR-IOV
functions of a host system in which this smartnic is plugged-in.

3. It cannot setup the function attributes of sub-function described
in detail in comprehensive RFC [1] and [2].

This series covers the first small part to let user query and set MAC
address (hardware address) of a PCI PF/VF which is represented by
devlink port pcipf, pcivf port flavours respectively.

Whenever a devlink port manages a function connected to a devlink port,
it allows to query and set its hardware address.

Driver implements necessary get/set callback functions if it supports
port function for a given port type.

Patch summary:
Patch-1 Prepares devlink port fill routines for extack
Patch-2 and 3 extended devlink interface to get/set port function
attributes, mainly hardware address to start with.

Patch-2 Extended port dump command to query port function hardware
address
Patch-3 Introduces a command to set the hardware address of a port
function

Patch-4 to 9 refactors and implement devlink callbacks in mlx5_core
driver.
Patch-4 Constify the mac address pointer in set routines
Patch-5 Introduces eswich check helper to use in devlink facing
callbacks
Patch-6 Moves port index, port number conversion routine to eswitch
header file
Patch-7 Implements port function query devlink callback
Patch-8 Refactors mac address setting routine to uniformly use
state_lock
Patch-9 Implements port function set devlink callback

[1] https://lore.kernel.org/netdev/20200519092258.GF4655@nanopsycho/
[2] https://marc.info/?l=linux-netdev&m=158555928517777&w=2

Parav Pandit (9):
  net/devlink: Prepare devlink port functions to fill extack
  net/devlink: Support querying hardware address of port function
  net/devlink: Support setting hardware address of port function
  net/mlx5: Constify mac address pointer
  net/mlx5: E-switch, Introduce and use eswitch support check helper
  net/mlx5: Move helper to eswitch layer
  net/mlx5: E-switch, Support querying port function mac address
  net/mlx5: Split mac address setting function for using state_lock
  net/mlx5: E-switch, Supporting setting devlink port function mac
    address

 .../net/ethernet/mellanox/mlx5/core/devlink.c |   2 +
 .../net/ethernet/mellanox/mlx5/core/en_rep.c  |   8 +-
 .../net/ethernet/mellanox/mlx5/core/eswitch.c | 142 ++++++++++++++++--
 .../net/ethernet/mellanox/mlx5/core/eswitch.h |  25 ++-
 .../mellanox/mlx5/core/eswitch_offloads.c     |  66 ++++----
 .../net/ethernet/mellanox/mlx5/core/vport.c   |   2 +-
 include/linux/mlx5/vport.h                    |   2 +-
 include/net/devlink.h                         |  22 +++
 include/uapi/linux/devlink.h                  |  10 ++
 net/core/devlink.c                            | 133 +++++++++++++++-
 10 files changed, 343 insertions(+), 69 deletions(-)

-- 
2.19.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ