X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fsfc_efx.rst;h=843c24991c0b27235a919d9a7f2fff04f7d74311;hb=735155ee3b7c126b14ac28c5667d5a2d811ddf4c;hp=5e19e5bb5e03e5460463f8ccc2773781ef7ce40a;hpb=01628fc5f6504a9a67dca4f2841988ff2ca7ac26;p=dpdk.git diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst index 5e19e5bb5e..843c24991c 100644 --- a/doc/guides/nics/sfc_efx.rst +++ b/doc/guides/nics/sfc_efx.rst @@ -1,5 +1,5 @@ .. 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 @@ -74,6 +74,8 @@ SFC EFX PMD has support for: - SR-IOV PF +- Port representors (see :ref: switch_representation) + Non-supported Features ---------------------- @@ -188,10 +190,74 @@ Supported actions (***non-transfer*** rules): - MARK (supported only with ef10_essb Rx datapath) +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) + +- PF (cannot repeat; conflicts with other traffic source items) + +- VF (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_PUSH_VLAN + +- OF_VLAN_SET_VID + +- OF_VLAN_SET_PCP + +- VXLAN_DECAP + +- VXLAN_ENCAP + +- FLAG + +- MARK + +- PHY_PORT + +- PF + +- VF + +- 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -296,11 +362,41 @@ Per-Device Parameters ~~~~~~~~~~~~~~~~~~~~~ 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.