1 .. SPDX-License-Identifier: GPL-2.0 2 3 ========================== 4 Devlink E-Switch Attribute 5 ========================== 6 7 Devlink E-Switch supports two modes of operation: legacy and switchdev. 8 Legacy mode operates based on traditional MAC/VLAN steering rules. Switching 9 decisions are made based on MAC addresses, VLANs, etc. There is limited ability 10 to offload switching rules to hardware. 11 12 On the other hand, switchdev mode allows for more advanced offloading 13 capabilities of the E-Switch to hardware. In switchdev mode, more switching 14 rules and logic can be offloaded to the hardware switch ASIC. It enables 15 representor netdevices that represent the slow path of virtual functions (VFs) 16 or scalable-functions (SFs) of the device. See more information about 17 :ref:`Documentation/networking/switchdev.rst <switchdev>` and 18 :ref:`Documentation/networking/representors.rst <representors>`. 19 20 In addition, the devlink E-Switch also comes with other attributes listed 21 in the following section. 22 23 Attributes Description 24 ====================== 25 26 The following is a list of E-Switch attributes. 27 28 .. list-table:: E-Switch attributes 29 :widths: 8 5 45 30 31 * - Name 32 - Type 33 - Description 34 * - ``mode`` 35 - enum 36 - The mode of the device. The mode can be one of the following: 37 38 * ``legacy`` operates based on traditional MAC/VLAN steering 39 rules. 40 * ``switchdev`` allows for more advanced offloading capabilities of 41 the E-Switch to hardware. 42 * - ``inline-mode`` 43 - enum 44 - Some HWs need the VF driver to put part of the packet 45 headers on the TX descriptor so the e-switch can do proper 46 matching and steering. Support for both switchdev mode and legacy mode. 47 48 * ``none`` none. 49 * ``link`` L2 mode. 50 * ``network`` L3 mode. 51 * ``transport`` L4 mode. 52 * - ``encap-mode`` 53 - enum 54 - The encapsulation mode of the device. Support for both switchdev mode 55 and legacy mode. The mode can be one of the following: 56 57 * ``none`` Disable encapsulation support. 58 * ``basic`` Enable encapsulation support. 59 60 Example Usage 61 ============= 62 63 .. code:: shell 64 65 # enable switchdev mode 66 $ devlink dev eswitch set pci/0000:08:00.0 mode switchdev 67 68 # set inline-mode and encap-mode 69 $ devlink dev eswitch set pci/0000:08:00.0 inline-mode none encap-mode basic 70 71 # display devlink device eswitch attributes 72 $ devlink dev eswitch show pci/0000:08:00.0 73 pci/0000:08:00.0: mode switchdev inline-mode none encap-mode basic 74 75 # enable encap-mode with legacy mode 76 $ devlink dev eswitch set pci/0000:08:00.0 mode legacy inline-mode none encap-mode basic
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.