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
| ||
|
Message-ID: <20250706020333.658492-1-saeed@kernel.org> Date: Sat, 5 Jul 2025 19:03:20 -0700 From: Saeed Mahameed <saeed@...nel.org> To: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Eric Dumazet <edumazet@...gle.com> Cc: Saeed Mahameed <saeedm@...dia.com>, netdev@...r.kernel.org, Tariq Toukan <tariqt@...dia.com>, Gal Pressman <gal@...dia.com>, Leon Romanovsky <leonro@...dia.com>, Jiri Pirko <jiri@...dia.com> Subject: [PATCH net-next V5 00/13] devlink, mlx5: Add new parameters for link management and SRIOV/eSwitch configurations From: Saeed Mahameed <saeedm@...dia.com> This patch series introduces several devlink parameters improving device configuration capabilities, link management, and SRIOV/eSwitch, by adding NV config boot time parameters. Userspace(v2): https://lore.kernel.org/netdev/20250704045427.1558605-1-saeed@kernel.org/ v4->v5: - ./tools/net/ynl/ynl-regen.sh for patch #12 - checkpatch issues v3->v4: - Rebase and adapted to new enum variable typed attributes from Jiri: https://lore.kernel.org/netdev/20250505114513.53370-1-jiri@resnulli.us/ v2->v3: - ynl-gen: allow noncontiguous enums, Jakub - devlink.yaml: var-attr-type enum, Jakub v1->v2: - Fix ynl-regen issue reported by Simon. - Fix smatch "could be null" warning reported by Dan Carpenter - Fix double include reported by Kernel test robot - Only allow per PF sriov setting - by Jiri - Add Reviewed-by Jiri and Tested-by Kamal. Below is a summary of the key changes: 1) Enable support for devlink port parameters 2) Implement multi attribute devlink param value data, for u32 array type parameters 3) Implement the following parameters: 3.a) total_vfs Parameter: ------------------------- Adds support for managing the number of VFs (total_vfs) and enabling SR-IOV (enable_sriov for mlx5) through devlink. These additions enhance user control over virtualization features directly from standard kernel interfaces without relying on additional external tools. total_vfs functionality is critical for environments that require flexible num VF configuration. 3.b) devlink keep_link_up Parameter: ------------------------------------ Introduces a new devlink parameter 'keep_link_up', allowing devices to keep the link active even when the driver is not loaded. This functionality is especially useful for maintaining link stability during driver upgrades or reboots without dropping connectivity. 3.c) eSwitch Hairpin per Priority Buffers: ------------------------------------------ Implements new devlink parameters to configure eSwitch hairpin per priority buffers. These parameters provide granular control over how packets are buffered for IEEE802.1p priorities, offering improved traffic management and efficiency for specific priority levels. 3.d) CQE Compression Type: -------------------------- Introduces a new devlink parameter, cqe_compress_type, to configure the rate of CQE compression based on PCIe bus conditions. This setting provides a balance between compression efficiency and overall NIC performance under different traffic loads. Detailed examples of usage for each parameter have been included in the respective commits. Thanks, Saeed Jiri Pirko (1): devlink: pass struct devlink_port * as arg to devlink_nl_param_fill() Saeed Mahameed (9): net/mlx5: Implement cqe_compress_type via devlink params devlink: Implement port params registration devlink: Implement get/dump netlink commands for port params devlink: Implement set netlink command for port params devlink: Add 'keep_link_up' generic devlink device param net/mlx5: Implement devlink keep_link_up port parameter devlink: Throw extack messages on param value validation error devlink: Implement devlink param multi attribute nested data values net/mlx5: Implement eSwitch hairpin per prio buffers devlink params Vlad Dumitrescu (3): devlink: Add 'total_vfs' generic device param net/mlx5: Implement devlink enable_sriov parameter net/mlx5: Implement devlink total_vfs parameter Documentation/netlink/specs/devlink.yaml | 25 +- .../networking/devlink/devlink-params.rst | 7 + Documentation/networking/devlink/mlx5.rst | 65 +- .../net/ethernet/mellanox/mlx5/core/Makefile | 2 +- .../net/ethernet/mellanox/mlx5/core/devlink.c | 8 + .../net/ethernet/mellanox/mlx5/core/devlink.h | 3 + .../ethernet/mellanox/mlx5/core/en/devlink.c | 17 +- .../ethernet/mellanox/mlx5/core/en/devlink.h | 3 +- .../net/ethernet/mellanox/mlx5/core/en_main.c | 4 +- .../mellanox/mlx5/core/lib/nv_param.c | 1001 +++++++++++++++++ .../mellanox/mlx5/core/lib/nv_param.h | 18 + include/linux/mlx5/driver.h | 1 + include/net/devlink.h | 30 + include/uapi/linux/devlink.h | 1 + net/devlink/netlink_gen.c | 25 +- net/devlink/param.c | 412 +++++-- net/devlink/port.c | 3 + 17 files changed, 1535 insertions(+), 90 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/nv_param.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/nv_param.h -- 2.50.0
Powered by blists - more mailing lists