Prerequisites
-------------
-- Identifying your adapter using `Intel Support
- <http://www.intel.com/support>`_ and get the latest NVM/FW images.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
- To get better performance on Intel platforms, please follow the "How to get best performance with NICs on Intel platforms"
section of the :ref:`Getting Started Guide for Linux <linux_gsg>`.
-Recommended Matching List
--------------------------
-
-It is highly recommended to upgrade the ice kernel driver and firmware and
-DDP packages to avoid the compatibility issues with ice PMD. Here is the
-suggested matching list.
-
- +----------------------+-----------------------+------------------+----------------+-------------------+
- | DPDK version | Kernel driver version | Firmware version | DDP OS Package | DDP COMMS Package |
- +======================+=======================+==================+================+===================+
- | 19.11 | 0.12.25 | 1.1.16.39 | 1.3.4 | 1.3.10 |
- +----------------------+-----------------------+------------------+----------------+-------------------+
- | 19.08 (experimental) | 0.10.1 | 1.1.12.7 | 1.2.0 | N/A |
- +----------------------+-----------------------+------------------+----------------+-------------------+
- | 19.05 (experimental) | 0.9.4 | 1.1.10.16 | 1.1.0 | N/A |
- +----------------------+-----------------------+------------------+----------------+-------------------+
-
Pre-Installation Configuration
------------------------------
-Config File Options
-~~~~~~~~~~~~~~~~~~~
-
-The following options can be modified in the ``config`` file.
-Please note that enabling debugging options may affect system performance.
-
-- ``CONFIG_RTE_LIBRTE_ICE_PMD`` (default ``y``)
-
- Toggle compilation of the ``librte_pmd_ice`` driver.
-
-- ``CONFIG_RTE_LIBRTE_ICE_DEBUG_*`` (default ``n``)
-
- Toggle display of generic debugging messages.
-
-- ``CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC`` (default ``n``)
-
- Toggle to use a 16-byte RX descriptor, by default the RX descriptor is 32 byte.
Runtime Config Options
~~~~~~~~~~~~~~~~~~~~~~
-w 80:00.0,pipeline-mode-support=1
-- ``Flow Mark Support`` (default ``0``)
-
- This is a hint to the driver to select the data path that supports flow mark extraction
- by default.
- NOTE: This is an experimental devarg, it will be removed when any of below conditions
- is ready.
- 1) all data paths support flow mark (currently vPMD does not)
- 2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
- Example::
-
- -w 80:00.0,flow-mark-support=1
-
- ``Protocol extraction for per queue``
Configure the RX queues to do protocol extraction into mbuf for protocol
The grouping ``()`` can be omitted for single element group. If no queues are
specified, PMD will use this protocol extraction type for all queues.
- Protocol is : ``vlan, ipv4, ipv6, ipv6_flow, tcp``.
+ Protocol is : ``vlan, ipv4, ipv6, ipv6_flow, tcp, ip_offset``.
.. code-block:: console
- testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+ dpdk-testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
VLAN extraction, other queues run with no protocol extraction.
.. code-block:: console
- testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+ dpdk-testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
IPv6 extraction, other queues use the default VLAN extraction.
TCPHDR2 - Reserved
+ .. table:: Protocol extraction : ``ip_offset``
+
+ +----------------------------+----------------------------+
+ | IPHDR2 | IPHDR1 |
+ +============================+============================+
+ | IPv6 HDR Offset | IPv4 HDR Offset |
+ +----------------------------+----------------------------+
+
+ IPHDR1 - Outer/Single IPv4 Header offset.
+
+ IPHDR2 - Outer/Single IPv6 Header offset.
+
Use ``rte_net_ice_dynf_proto_xtr_metadata_get`` to access the protocol
extraction metadata, and use ``RTE_PKT_RX_DYNF_PROTO_XTR_*`` to get the
metadata type of ``struct rte_mbuf::ol_flags``.
#. Bind the VF0, and run testpmd with 'cap=dcf' devarg::
- testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+ dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
#. Monitor the VF2 interface network traffic::
.. code-block:: console
- ./app/testpmd -l 0-15 -n 4 -- -i
+ ./app/dpdk-testpmd -l 0-15 -n 4 -- -i
...
testpmd> rx_vlan add 10 0
A symbolic link to the DDP package file is also ok. The same package
file is used by both the kernel driver and the DPDK PMD.
-
-19.02 limitation
-~~~~~~~~~~~~~~~~
-
-Ice code released in 19.02 is for evaluation only.