466af556c8b3f7c9efc12aac24d721b8eb023436
[dpdk.git] / doc / guides / nics / ice.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2018 Intel Corporation.
3
4 ICE Poll Mode Driver
5 ======================
6
7 The ice PMD (librte_pmd_ice) provides poll mode driver support for
8 10/25 Gbps IntelĀ® Ethernet 810 Series Network Adapters based on
9 the Intel Ethernet Controller E810.
10
11
12 Prerequisites
13 -------------
14
15 - Identifying your adapter using `Intel Support
16   <http://www.intel.com/support>`_ and get the latest NVM/FW images.
17
18 - Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
19
20 - To get better performance on Intel platforms, please follow the "How to get best performance with NICs on Intel platforms"
21   section of the :ref:`Getting Started Guide for Linux <linux_gsg>`.
22
23
24 Pre-Installation Configuration
25 ------------------------------
26
27 Config File Options
28 ~~~~~~~~~~~~~~~~~~~
29
30 The following options can be modified in the ``config`` file.
31 Please note that enabling debugging options may affect system performance.
32
33 - ``CONFIG_RTE_LIBRTE_ICE_PMD`` (default ``y``)
34
35   Toggle compilation of the ``librte_pmd_ice`` driver.
36
37 - ``CONFIG_RTE_LIBRTE_ICE_DEBUG_*`` (default ``n``)
38
39   Toggle display of generic debugging messages.
40
41 - ``CONFIG_RTE_LIBRTE_ICE_RX_ALLOW_BULK_ALLOC`` (default ``y``)
42
43   Toggle bulk allocation for RX.
44
45 - ``CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC`` (default ``n``)
46
47   Toggle to use a 16-byte RX descriptor, by default the RX descriptor is 32 byte.
48
49 Runtime Config Options
50 ~~~~~~~~~~~~~~~~~~~~~~
51
52 - ``Maximum Number of Queue Pairs``
53
54   The maximum number of queue pairs is decided by HW. If not configured, APP
55   uses the number from HW. Users can check the number by calling the API
56   ``rte_eth_dev_info_get``.
57   If users want to limit the number of queues, they can set a smaller number
58   using EAL parameter like ``max_queue_pair_num=n``.
59
60
61 Driver compilation and testing
62 ------------------------------
63
64 Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
65 for details.
66
67 Sample Application Notes
68 ------------------------
69
70 Vlan filter
71 ~~~~~~~~~~~
72
73 Vlan filter only works when Promiscuous mode is off.
74
75 To start ``testpmd``, and add vlan 10 to port 0:
76
77 .. code-block:: console
78
79     ./app/testpmd -l 0-15 -n 4 -- -i
80     ...
81
82     testpmd> rx_vlan add 10 0
83
84 Limitations or Known issues
85 ---------------------------
86
87 19.02 limitation
88 ~~~~~~~~~~~~~~~~
89
90 Ice code released in 19.02 is for evaluation only.
91
92
93 Promiscuous mode not supported
94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95 As promiscuous mode is not supported as this stage, a port can only receive the
96 packets which destination MAC address is this port's own.
97
98
99 TX anti-spoofing cannot be disabled
100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101 TX anti-spoofing is enabled by default. At this stage it's not supported to
102 disable it. So any TX packet which source MAC address is not this port's own
103 will be dropped by HW. It means io-fwd is not supported now. Recommand to use
104 MAC-fwd for evaluation.