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