Commit | Line | Data |
---|---|---|
6c39e015 JK |
1 | .. SPDX-License-Identifier: GPL-2.0 |
2 | ||
3 | ==================== | |
4 | mlx5 devlink support | |
5 | ==================== | |
6 | ||
7 | This document describes the devlink features implemented by the ``mlx5`` | |
8 | device driver. | |
9 | ||
10 | Parameters | |
11 | ========== | |
12 | ||
13 | .. list-table:: Generic parameters implemented | |
14 | ||
15 | * - Name | |
16 | - Mode | |
0844fa5f | 17 | - Validation |
6c39e015 JK |
18 | * - ``enable_roce`` |
19 | - driverinit | |
745a1306 | 20 | - Type: Boolean |
0844fa5f SD |
21 | * - ``io_eq_size`` |
22 | - driverinit | |
23 | - The range is between 64 and 4096. | |
57ca7678 SD |
24 | * - ``event_eq_size`` |
25 | - driverinit | |
26 | - The range is between 64 and 4096. | |
8680a60f SD |
27 | * - ``max_macs`` |
28 | - driverinit | |
29 | - The range is between 1 and 2^31. Only power of 2 values are supported. | |
6c39e015 JK |
30 | |
31 | The ``mlx5`` driver also implements the following driver-specific | |
32 | parameters. | |
33 | ||
34 | .. list-table:: Driver-specific parameters implemented | |
35 | :widths: 5 5 5 85 | |
36 | ||
37 | * - Name | |
38 | - Type | |
39 | - Mode | |
40 | - Description | |
41 | * - ``flow_steering_mode`` | |
42 | - string | |
43 | - runtime | |
44 | - Controls the flow steering mode of the driver | |
45 | ||
46 | * ``dmfs`` Device managed flow steering. In DMFS mode, the HW | |
47 | steering entities are created and managed through firmware. | |
48 | * ``smfs`` Software managed flow steering. In SMFS mode, the HW | |
49 | steering entities are created and manage through the driver without | |
50 | firmware intervention. | |
87dac697 JL |
51 | * - ``fdb_large_groups`` |
52 | - u32 | |
53 | - driverinit | |
54 | - Control the number of large groups (size > 1) in the FDB table. | |
55 | ||
56 | * The default value is 15, and the range is between 1 and 1024. | |
a32327a3 RD |
57 | * - ``esw_multiport`` |
58 | - Boolean | |
59 | - runtime | |
60 | - Control MultiPort E-Switch shared fdb mode. | |
61 | ||
62 | An experimental mode where a single E-Switch is used and all the vports | |
63 | and physical ports on the NIC are connected to it. | |
64 | ||
65 | An example is to send traffic from a VF that is created on PF0 to an | |
66 | uplink that is natively associated with the uplink of PF1 | |
67 | ||
68 | Note: Future devices, ConnectX-8 and onward, will eventually have this | |
69 | as the default to allow forwarding between all NIC ports in a single | |
70 | E-switch environment and the dual E-switch mode will likely get | |
71 | deprecated. | |
72 | ||
73 | Default: disabled | |
74 | ||
1bffcea4 GP |
75 | * - ``hairpin_num_queues`` |
76 | - u32 | |
77 | - driverinit | |
78 | - We refer to a TC NIC rule that involves forwarding as "hairpin". | |
79 | Hairpin queues are mlx5 hardware specific implementation for hardware | |
80 | forwarding of such packets. | |
81 | ||
82 | Control the number of hairpin queues. | |
83 | * - ``hairpin_queue_size`` | |
84 | - u32 | |
85 | - driverinit | |
86 | - Control the size (in packets) of the hairpin queues. | |
6c39e015 JK |
87 | |
88 | The ``mlx5`` driver supports reloading via ``DEVLINK_CMD_RELOAD`` | |
d4255d75 JK |
89 | |
90 | Info versions | |
91 | ============= | |
92 | ||
93 | The ``mlx5`` driver reports the following versions | |
94 | ||
95 | .. list-table:: devlink info versions implemented | |
96 | :widths: 5 5 90 | |
97 | ||
98 | * - Name | |
99 | - Type | |
100 | - Description | |
101 | * - ``fw.psid`` | |
102 | - fixed | |
103 | - Used to represent the board id of the device. | |
104 | * - ``fw.version`` | |
105 | - stored, running | |
106 | - Three digit major.minor.subminor firmware version number. |