Lines Matching +full:add +full:- +full:vdpa
1 .. SPDX-License-Identifier: GPL-2.0
8 used to control internal switching on SmartNICs. For the closely-related port
9 representors on physical (multi-port) switches, see
13 ----------
15 Since the mid-2010s, network cards have started offering more complex
16 virtualisation capabilities than the legacy SR-IOV approach (with its simple
17 MAC/VLAN-based switching model) can support. This led to a desire to offload
18 software-defined networks (such as OpenVSwitch) to these NICs to specify the
23 virtual switches and IOV devices. Just as each physical port of a Linux-
41 -----------
47 Depending on NIC design, a multi-port NIC might have a single switchdev function
52 only create representors for the ports on the (sub-)switch it directly
59 ---------------------------
68 fast-path rules in the virtual switch. Packets transmitted on the
87 -----------------------------------------
98 - VFs belonging to the switchdev function.
99 - Other PFs on the local PCIe controller, and any VFs belonging to them.
100 - PFs and VFs on external PCIe controllers on the device (e.g. for any embedded
101 System-on-Chip within the SmartNIC).
102 - PFs and VFs with other personalities, including network block devices (such
103 as a vDPA virtio-blk PF backed by remote/distributed storage), if (and only
107 - Subfunctions (SFs) belonging to any of the above PFs or VFs, if they have
109 - Any accelerators or plugins on the device whose interface to the network is
137 Contrast this with the case of a virtio-blk implementation which forwards the
140 run over the virtual switch and the virtio-blk PF should thus *not* have a
144 -----------------------------
147 port on the switch, create a pure-software netdevice which has some form of
148 in-kernel reference to the switchdev function's own netdevice or driver private
160 --------------------------------
163 through ``net_dev->dev.parent`` / ``SET_NETDEV_DEV()``), either of the
171 :ref:`Documentation/networking/devlink/devlink-port.rst <devlink_port>` for the
183 -------------------------------------------
198 tc filter add dev $REP_DEV parent ffff: protocol ipv4 flower \
200 tc filter add dev $PORT_DEV parent ffff: protocol ipv4 flower skip_sw \
212 Of course the rules can (if supported by the NIC) include packet-modifying
217 a VxLAN device created with ``ip link add vxlan0 type vxlan external``) and
221 tc filter add dev $REP_DEV parent ffff: flower \
225 tc filter add dev vxlan0 parent ffff: flower enc_src_ip $REMOTE_IP \
245 ---------------------------------
254 the representor MTU should correspond to the representee's MRU and vice-versa.)
259 - legacy SR-IOV (``ip link set DEVICE vf NUM mac LLADDR``)
260 - devlink port function (see **devlink-port(8)** and
261 :ref:`Documentation/networking/devlink/devlink-port.rst <devlink_port>`)