net/igc: support VLAN
[dpdk.git] / doc / guides / nics / igc.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2020 Intel Corporation.
3
4 IGC Poll Mode Driver
5 ======================
6
7 The IGC PMD (librte_pmd_igc) provides poll mode driver support for Foxville
8 I225 Series Network Adapters.
9
10 - For information about I225, please refer to:
11   `https://ark.intel.com/content/www/us/en/ark/products/series/184686/
12   intel-ethernet-controller-i225-series.html`
13
14 Config File Options
15 ~~~~~~~~~~~~~~~~~~~
16
17 The following options can be modified in the ``config`` file.
18 Please note that enabling debugging options may affect system performance.
19
20 - ``CONFIG_RTE_LIBRTE_IGC_PMD`` (default ``y``)
21
22   Toggle compilation of the ``librte_pmd_igc`` driver.
23
24 - ``CONFIG_RTE_LIBRTE_IGC_DEBUG_*`` (default ``n``)
25
26   Toggle display of generic debugging messages.
27
28
29 Driver compilation and testing
30 ------------------------------
31
32 Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
33 for details.
34
35
36 Supported Chipsets and NICs
37 ---------------------------
38
39 Foxville LM (I225 LM): Client 2.5G LAN vPro Corporate
40 Foxville V (I225 V): Client 2.5G LAN Consumer
41 Foxville I (I225 I): Client 2.5G Industrial Temp
42 Foxville V (I225 K): Client 2.5G LAN Consumer
43
44
45 Sample Application Notes
46 ------------------------
47
48 Vlan filter
49 ~~~~~~~~~~~
50
51 VLAN stripping off only works with inner vlan.
52 Only the outer VLAN TPID can be set to a vlan other than 0x8100.
53
54 If extend VLAN is enabled:
55
56 - The VLAN header in a packet that carries a single VLAN header is treated as the external VLAN.
57
58 - Foxville expects that any transmitted packet to have at least the external VLAN added by the
59   software. For those packets where an external VLAN is not present, any offload that relates to
60   inner fields to the EtherType might not be provided.
61
62 - If VLAN TX-OFFLOAD is enabled and the packet does not contain an external VLAN, the packet is
63   dropped, and if configured, the queue from which the packet was sent is disabled.
64
65 To start ``testpmd``, add vlan 10 to port, set vlan stripping off on, set extend on, set TPID of
66 outer VLAN to 0x9100:
67
68 .. code-block:: console
69
70    ./app/testpmd -l 4-8 -- -i
71    ...
72
73    testpmd> vlan set filter on 0
74    testpmd> rx_vlan add 10 0
75    testpmd> vlan set strip off 0
76    testpmd> vlan set extend on 0
77    testpmd> vlan set outer tpid 0x9100 0