The Linux Kernel

6.5.0

Quick search

Contents

  • A guide to the Kernel Development Process
  • Submitting patches: the essential guide to getting your code into the kernel
  • Code of conduct
  • Kernel Maintainer Handbook
  • All development-process docs
  • Core API Documentation
  • Driver implementer's API guide
  • Kernel subsystem documentation
    • Human interfaces
    • Storage interfaces
      • Filesystems in the Linux kernel
      • Block
      • CD-ROM
      • SCSI Subsystem
      • TCM Virtual Device
      • Driver implementer's API guide
      • Core API Documentation
      • Locking
      • Accounting
      • CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
      • FPGA
      • I2C/SMBus Subsystem
      • Industrial I/O
      • ISDN
      • InfiniBand
      • LEDs
      • NetLabel
      • Networking
      • PCMCIA
      • Power Management
      • Timers
      • Serial Peripheral Interface (SPI)
      • 1-Wire Subsystem
      • Watchdog Support
      • Virtualization Support
      • Hardware Monitoring
      • Compute Accelerators
      • Security Documentation
      • Crypto API
      • Memory Management Documentation
      • BPF Documentation
      • USB support
      • PCI Bus Subsystem
      • Assorted Miscellaneous Devices Documentation
      • Scheduler
      • MHI
      • PECI Subsystem
      • WMI Subsystem
  • Locking in the kernel
  • Linux kernel licensing rules
  • How to write kernel documentation
  • Development tools for the kernel
  • Kernel Testing Guide
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • fault-injection
  • Kernel Livepatching
  • Rust
  • The Linux kernel user's and administrator's guide
  • The kernel build system
  • Reporting issues
  • User-space tools
  • The Linux kernel user-space API guide
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • CPU Architectures
  • Unsorted Documentation
  • Translations

This Page

  • Show Source

mlx5 devlink support¶

This document describes the devlink features implemented by the mlx5 device driver.

Parameters¶

Generic parameters implemented¶

Name

Mode

Validation

enable_roce

driverinit

Type: Boolean

io_eq_size

driverinit

The range is between 64 and 4096.

event_eq_size

driverinit

The range is between 64 and 4096.

max_macs

driverinit

The range is between 1 and 2^31. Only power of 2 values are supported.

The mlx5 driver also implements the following driver-specific parameters.

Driver-specific parameters implemented¶

Name

Type

Mode

Description

flow_steering_mode

string

runtime

Controls the flow steering mode of the driver

  • dmfs Device managed flow steering. In DMFS mode, the HW steering entities are created and managed through firmware.

  • smfs Software managed flow steering. In SMFS mode, the HW steering entities are created and manage through the driver without firmware intervention.

fdb_large_groups

u32

driverinit

Control the number of large groups (size > 1) in the FDB table.

  • The default value is 15, and the range is between 1 and 1024.

esw_multiport

Boolean

runtime

Control MultiPort E-Switch shared fdb mode.

An experimental mode where a single E-Switch is used and all the vports and physical ports on the NIC are connected to it.

An example is to send traffic from a VF that is created on PF0 to an uplink that is natively associated with the uplink of PF1

Note: Future devices, ConnectX-8 and onward, will eventually have this as the default to allow forwarding between all NIC ports in a single E-switch environment and the dual E-switch mode will likely get deprecated.

Default: disabled

hairpin_num_queues

u32

driverinit

We refer to a TC NIC rule that involves forwarding as "hairpin". Hairpin queues are mlx5 hardware specific implementation for hardware forwarding of such packets.

Control the number of hairpin queues.

hairpin_queue_size

u32

driverinit

Control the size (in packets) of the hairpin queues.

The mlx5 driver supports reloading via DEVLINK_CMD_RELOAD

Info versions¶

The mlx5 driver reports the following versions

devlink info versions implemented¶

Name

Type

Description

fw.psid

fixed

Used to represent the board id of the device.

fw.version

stored, running

Three digit major.minor.subminor firmware version number.

©The kernel development community. | Powered by Sphinx 5.0.1 & Alabaster 0.7.12 | Page source