1 .. SPDX-License-Identifier: GPL-2.0
3 ==========================
4 Devlink E-Switch Attribute
5 ==========================
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.
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>`.
20 In addition, the devlink E-Switch also comes with other attributes listed
21 in the following section.
23 Attributes Description
24 ======================
26 The following is a list of E-Switch attributes.
28 .. list-table:: E-Switch attributes
36 - The mode of the device. The mode can be one of the following:
38 * ``legacy`` operates based on traditional MAC/VLAN steering
40 * ``switchdev`` allows for more advanced offloading capabilities of
41 the E-Switch to hardware.
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.
50 * ``network`` L3 mode.
51 * ``transport`` L4 mode.
54 - The encapsulation mode of the device. Support for both switchdev mode
55 and legacy mode. The mode can be one of the following:
57 * ``none`` Disable encapsulation support.
58 * ``basic`` Enable encapsulation support.
65 # enable switchdev mode
66 $ devlink dev eswitch set pci/0000:08:00.0 mode switchdev
68 # set inline-mode and encap-mode
69 $ devlink dev eswitch set pci/0000:08:00.0 inline-mode none encap-mode basic
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
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