X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fi40e.rst;h=2ab1e012248ffee354dcff2017af89239c730423;hb=1b0801390bb4699a70ca84143d7989d614e86d3f;hp=961a51820b09c45dca81fd3dfcab69ce17393467;hpb=55384497feb4aa17cc7eed35dbe0a1a4788c9cdc;p=dpdk.git diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 961a51820b..2ab1e01224 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -46,8 +46,8 @@ Features of the i40e PMD are: - Malicious Device Drive event catch and notify - Generic flow API -Prerequisites -------------- +Linux Prerequisites +------------------- - Identifying your adapter using `Intel Support `_ and get the latest NVM/FW images. @@ -75,6 +75,18 @@ Prerequisites * In all cases Intel recommends using Intel Ethernet Optics; other modules may function but are not validated by Intel. Contact Intel for supported media types. +Windows Prerequisites +--------------------- + +- Follow the DPDK `Getting Started Guide for Windows `_ to setup the basic DPDK environment. + +- Identify the Intel® Ethernet adapter and get the latest NVM/FW version. + +- To access any Intel® Ethernet hardware, load the NetUIO driver in place of existing built-in (inbox) driver. + +- To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository + `_. + Recommended Matching List ------------------------- @@ -176,7 +188,7 @@ Runtime Config Options The number of reserved queue per VF is determined by its host PF. If the PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per - VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n. + VF can be configured with EAL parameter like -a aaaa:bb.cc,queue-num-per-vf=n. The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the number of reserved queues per VF is 4 by default. If VF request more than reserved queues per VF, PF will able to allocate max to 16 queues after a VF @@ -189,7 +201,7 @@ Runtime Config Options Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs`` parameter ``support-multi-driver`` is introduced, for example:: - -w 84:00.0,support-multi-driver=1 + -a 84:00.0,support-multi-driver=1 With the above configuration, DPDK PMD will not change global registers, and will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between @@ -204,20 +216,11 @@ Runtime Config Options port representors for on initialization of the PF PMD by passing the VF IDs of the VFs which are required.:: - -w DBDF,representor=[0,1,4] + -a DBDF,representor=[0,1,4] Currently hot-plugging of representor ports is not supported so all required representors must be specified on the creation of the PF. -- ``Use latest supported vector`` (default ``disable``) - - Latest supported vector path may not always get the best perf so vector path was - recommended to use only on later platform. But users may want the latest vector path - since it can get better perf in some real work loading cases. So ``devargs`` param - ``use-latest-supported-vec`` is introduced, for example:: - - -w 84:00.0,use-latest-supported-vec=1 - - ``Enable validation for VF message`` (default ``not enabled``) The PF counts messages from each VF. If in any period of seconds the message @@ -226,7 +229,7 @@ Runtime Config Options Format -- "maximal-message@period-seconds:ignore-seconds" For example:: - -w 84:00.0,vf_msg_cfg=80@120:180 + -a 84:00.0,vf_msg_cfg=80@120:180 Vector RX Pre-conditions ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -456,7 +459,7 @@ no physical uplink on the associated NIC port. To enable this feature, the user should pass a ``devargs`` parameter to the EAL, for example:: - -w 84:00.0,enable_floating_veb=1 + -a 84:00.0,enable_floating_veb=1 In this configuration the PMD will use the floating VEB feature for all the VFs created by this PF device. @@ -464,7 +467,7 @@ VFs created by this PF device. Alternatively, the user can specify which VFs need to connect to this floating VEB using the ``floating_veb_list`` argument:: - -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4 + -a 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4 In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB, while other VFs connect to the normal VEB. @@ -562,9 +565,9 @@ Generic flow API - ``RSS Flow`` RSS Flow supports to set hash input set, hash function, enable hash - and configure queue region. + and configure queues. For example: - Configure queue region as queue 0, 1, 2, 3. + Configure queues as queue 0, 1, 2, 3. .. code-block:: console @@ -732,6 +735,11 @@ When programming cloud filters for IPv4/6_UDP/TCP/SCTP with SRC port only or DST it will make any cloud filter using inner_vlan or tunnel key invalid. Default configuration will be recovered only by NIC core reset. +Mirror rule limitation for X722 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Due to firmware restriction of X722, the same VSI cannot have more than one mirror rule. + High Performance of Small Packets on 40GbE NIC ---------------------------------------------- @@ -800,7 +808,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup. 7. The command line of running l3fwd would be something like the following:: - ./dpdk-l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \ + ./dpdk-l3fwd -l 18-21 -n 4 -a 82:00.0 -a 85:00.0 \ -- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)' This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,