.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2019-2020 Xilinx, Inc.
+ Copyright(c) 2019-2021 Xilinx, Inc.
Copyright(c) 2016-2019 Solarflare Communications Inc.
This software was jointly developed between OKTET Labs (under contract
- SR-IOV PF
+- Port representors (see :ref: switch_representation)
+
Non-supported Features
----------------------
Supported pattern items (***transfer*** rules):
+- PORT_REPRESENTOR (cannot repeat; conflicts with other traffic source items)
+
- PORT_ID (cannot repeat; conflicts with other traffic source items)
- PHY_PORT (cannot repeat; conflicts with other traffic source items)
- ETH
+- VLAN (double-tagging is supported)
+
+- IPV4 (source/destination addresses, IP transport protocol,
+ type of service, time to live)
+
+- IPV6 (source/destination addresses, IP transport protocol,
+ traffic class, hop limit)
+
+- TCP (source/destination ports, TCP header length + TCP flags)
+
+- UDP (source/destination ports)
+
+- VXLAN (exact match of VXLAN network identifier)
+
+- GENEVE (exact match of virtual network identifier)
+
+- NVGRE (exact match of virtual subnet ID)
+
Supported actions (***transfer*** rules):
- OF_POP_VLAN
- OF_VLAN_SET_PCP
+- VXLAN_DECAP
+
+- VXLAN_ENCAP
+
- FLAG
- MARK
- PORT_ID
+- COUNT
+
- DROP
Validating flow rules depends on the firmware variant.
The :ref:`flow_isolated_mode` is supported.
+The implementation is natively thread-safe.
+
Ethernet destination individual/group match
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
The following per-device parameters can be passed via EAL PCI device
-whitelist option like "-w 02:00.0,arg1=value1,...".
+allow option like "-a 02:00.0,arg1=value1,...".
Case-insensitive 1/y/yes/on or 0/n/no/off may be used to specify
boolean parameters value.
+- ``class`` [net|vdpa] (default **net**)
+
+ Choose the mode of operation of ef100 device.
+ **net** device will work as network device and will be probed by net/sfc driver.
+ **vdpa** device will work as vdpa device and will be probed by vdpa/sfc driver.
+ If this parameter is not specified then ef100 device will operate as
+ network device.
+
+- ``switch_mode`` [legacy|switchdev] (see below for default)
+
+ In legacy mode, NIC firmware provides Ethernet virtual bridging (EVB) API
+ to configure switching inside NIC to deliver traffic to physical (PF) and
+ virtual (VF) PCI functions. PF driver is responsible to build the
+ infrastructure for VFs, and traffic goes to/from VF by default in accordance
+ with MAC address assigned, permissions and filters installed by VF drivers.
+ In switchdev mode VF traffic goes via port representor (if any) on PF, and
+ software virtual switch (for example, Open vSwitch) makes the decision.
+ Software virtual switch may install MAE rules to pass established traffic
+ flows via hardware and offload software datapath as the result.
+ Default is legacy, unless representors are specified, in which case switchdev
+ is chosen.
+
+- ``representor`` parameter [list]
+
+ Instantiate port representor Ethernet devices for specified Virtual
+ Functions list.
+
+ It is a standard parameter whose format is described in
+ :ref:`ethernet_device_standard_device_arguments`.
+
- ``rx_datapath`` [auto|efx|ef10|ef10_essb] (default **auto**)
Choose receive datapath implementation.