Lines Matching +full:set +full:- +full:rate +full:- +full:parent
1 .. SPDX-License-Identifier: GPL-2.0
9 ``devlink-port`` is a port that exists on the device. It has a logically
19 .. list-table:: List of devlink port flavours
22 * - Flavour
23 - Description
24 * - ``DEVLINK_PORT_FLAVOUR_PHYSICAL``
25 - Any kind of physical port. This can be an eswitch physical port or any
27 * - ``DEVLINK_PORT_FLAVOUR_DSA``
28 - This indicates a DSA interconnect port.
29 * - ``DEVLINK_PORT_FLAVOUR_CPU``
30 - This indicates a CPU port applicable only to DSA.
31 * - ``DEVLINK_PORT_FLAVOUR_PCI_PF``
32 - This indicates an eswitch port representing a port of PCI
34 * - ``DEVLINK_PORT_FLAVOUR_PCI_VF``
35 - This indicates an eswitch port representing a port of PCI
37 * - ``DEVLINK_PORT_FLAVOUR_PCI_SF``
38 - This indicates an eswitch port representing a port of PCI
40 * - ``DEVLINK_PORT_FLAVOUR_VIRTUAL``
41 - This indicates a virtual port for the PCI virtual function.
45 .. list-table:: List of devlink port types
48 * - Type
49 - Description
50 * - ``DEVLINK_PORT_TYPE_ETH``
51 - Driver should set this port type when a link layer of the port is
53 * - ``DEVLINK_PORT_TYPE_IB``
54 - Driver should set this port type when a link layer of the port is
56 * - ``DEVLINK_PORT_TYPE_AUTO``
57 - This type is indicated by the user when driver should detect the port
61 ---------------
74 ---------------------------------------------------------
76 | --------- --------- ------- ------- |
77 ----------- | | vf(s) | | sf(s) | |vf(s)| |sf(s)| |
78 | server | | ------- ----/---- ---/----- ------- ---/--- ---/--- |
80 | connect | | ------- ------- |
81 ----------- | | controller_num=1 (no eswitch) |
82 ------|--------------------------------------------------
85 ---------------------------------------------------------
87 | ----------------------------------------------------- |
88 | |ctrl-0 | ctrl-0 | ctrl-0 | ctrl-0 | ctrl-0 |ctrl-0 | |
90 | ----------------------------------------------------- |
91 | |ctrl-1 | ctrl-1 | ctrl-1 | ctrl-1 | ctrl-1 |ctrl-1 | |
93 | ----------------------------------------------------- |
96 ----------- | --------- --------- ------- ------- |
98 | pci rc |==| ------- ----/---- ---/----- ------- ---/--- ---/--- |
100 ----------- | ------- ------- |
103 ---------------------------------------------------------
121 A user may set the hardware address of the function using
122 `devlink port function set hw_addr` command. For Ethernet port function
125 Users may also set the RoCE capability of the function using
126 `devlink port function set roce` command.
128 Users may also set the function as migratable using
129 `devlink port function set migratable` command.
131 Users may also set the IPsec crypto capability of the function using
132 `devlink port function set ipsec_crypto` command.
134 Users may also set the IPsec packet capability of the function using
135 `devlink port function set ipsec_packet` command.
137 Users may also set the maximum IO event queues of the function
138 using `devlink port function set max_io_eqs` command.
144 -----------------
148 - Get the MAC address of the VF identified by its unique devlink port index::
155 - Set the MAC address of the VF identified by its unique devlink port index::
157 $ devlink port function set pci/0000:06:00.0/2 hw_addr 00:11:22:33:44:55
164 - Get the MAC address of the SF identified by its unique devlink port index::
171 - Set the MAC address of the SF identified by its unique devlink port index::
173 $ devlink port function set pci/0000:06:00.0/32768 hw_addr 00:00:00:00:88:88
181 ---------------------
193 - Get RoCE capability of the VF device::
200 - Set RoCE capability of the VF device::
202 $ devlink port function set pci/0000:06:00.0/2 roce disable
210 ---------------------------
226 - Get migratable capability of the VF device::
233 - Set migratable capability of the VF device::
235 $ devlink port function set pci/0000:06:00.0/2 migratable enable
242 - Bind VF to VFIO driver with migration support::
253 -----------------------------
260 - Get IPsec crypto capability of the VF device::
267 - Set IPsec crypto capability of the VF device::
269 $ devlink port function set pci/0000:06:00.0/2 ipsec_crypto enable
277 -----------------------------
285 - Get IPsec packet capability of the VF device::
292 - Set IPsec packet capability of the VF device::
294 $ devlink port function set pci/0000:06:00.0/2 ipsec_packet enable
302 ------------------------------
315 - Get maximum IO event queues of the VF device::
322 - Set maximum IO event queues of the VF device::
324 $ devlink port function set pci/0000:06:00.0/2 max_io_eqs 32
334 Subfunction is a lightweight function that has a parent PCI function on which
337 A subfunction communicates with the hardware through the parent PCI function.
341 1) create - create a subfunction;
342 2) configure - configure subfunction attributes;
343 3) deploy - deploy the subfunction;
349 ----------
358 -------------
360 entities are created on devlink side, the e-switch port representor is created,
361 but the subfunction device itself is not created. A user might use e-switch port
367 ----------
371 A subfunction device is created on the :ref:`Documentation/driver-api/auxiliary_bus.rst <auxiliary_…
374 Rate object management
378 This is done through rate objects, which can be one of the two types:
386 Represents a group of rate objects (leafs and/or nodes); created/deleted by
387 request from the userspace; initially empty (no rate objects added). In
392 API allows to configure following rate object's parameters:
395 Minimum TX rate value shared among all other rate objects, or rate objects
396 that parts of the parent group, if it is a part of the same group.
399 Maximum TX rate value.
411 strict priority. As a node is configured with a higher rate it gets more
416 ``parent``
417 Parent node name. Parent node rate limits are considered as additional limits
422 Allow users to set the bandwidth allocation per traffic class on rate
423 objects. This enables fine-grained QoS configurations by assigning a relative
426 When applied to a non-leaf node, tc_bw determines how bandwidth is shared
445 #. If all the nodes from the highest priority sub-group are satisfied, or
448 Driver implementations are allowed to support both or either rate object types
450 may export nodes/leafs and their child-parent relationships.
455 .. list-table:: Terms and Definitions
458 * - Term
459 - Definitions
460 * - ``PCI device``
461 - A physical PCI device having one or more PCI buses consists of one or
463 * - ``PCI controller``
464 - A controller consists of potentially multiple physical functions,
466 * - ``Port function``
467 - An object to manage the function of a port.
468 * - ``Subfunction``
469 - A lightweight function that has parent PCI function on which it is
471 * - ``Subfunction device``
472 - A bus device of the subfunction, usually on a auxiliary bus.
473 * - ``Subfunction driver``
474 - A device driver for the subfunction auxiliary device.
475 * - ``Subfunction management device``
476 - A PCI physical function that supports subfunction management.
477 * - ``Subfunction management driver``
478 - A device driver for PCI physical function that supports
480 * - ``Subfunction host driver``
481 - A device driver for PCI physical function that hosts subfunction