1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright(c) 2020 Intel Corporation. 3 4IGC Poll Mode Driver 5====================== 6 7The IGC PMD (**librte_net_igc**) provides poll mode driver support for Foxville 8I225 and I226 Series Network Adapters. 9 10- For information about I225, please refer to: `Intel® Ethernet Controller I225 Series 11 <https://ark.intel.com/content/www/us/en/ark/products/series/184686/intel-ethernet-controller-i225-series.html>`_. 12- For information about I226, please refer to: `Intel® Ethernet Controller I226 Series 13 <https://ark.intel.com/content/www/us/en/ark/products/series/210588/intel-ethernet-controller-i226-series.html>`_. 14 15Supported Chipsets and NICs 16--------------------------- 17 18- Foxville LM (I225 LM, I226 LM): Client 2.5G LAN vPro Corporate 19- Foxville V (I225 V, I226 V): Client 2.5G LAN Consumer 20- Foxville I (I225 I, I226 IM): Client 2.5G Industrial Temp 21- Foxville V (I225 K, I226 K): Client 2.5G LAN Consumer 22 23Driver compilation and testing 24------------------------------ 25 26Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` 27for details. 28 29 30Sample Application Notes 31------------------------ 32 33Vlan filter 34~~~~~~~~~~~ 35 36VLAN stripping off only works with inner vlan. 37Only the outer VLAN TPID can be set to a vlan other than 0x8100. 38 39If extend VLAN is enabled: 40 41- The VLAN header in a packet that carries a single VLAN header is treated as the external VLAN. 42 43- Foxville expects that any transmitted packet to have at least the external VLAN added by the 44 software. For those packets where an external VLAN is not present, any offload that relates to 45 inner fields to the EtherType might not be provided. 46 47- If VLAN TX-OFFLOAD is enabled and the packet does not contain an external VLAN, the packet is 48 dropped, and if configured, the queue from which the packet was sent is disabled. 49 50To start ``testpmd``, add vlan 10 to port, set vlan stripping off on, set extend on, set TPID of 51outer VLAN to 0x9100: 52 53.. code-block:: console 54 55 ./app/dpdk-testpmd -l 4-8 -- -i 56 ... 57 58 testpmd> vlan set filter on 0 59 testpmd> rx_vlan add 10 0 60 testpmd> vlan set strip off 0 61 testpmd> vlan set extend on 0 62 testpmd> vlan set outer tpid 0x9100 0 63 64 65Flow Director 66~~~~~~~~~~~~~ 67 68The Flow Director works in receive mode to identify specific flows or sets of flows and route 69them to specific queues. 70 71The Flow Director filters includes the following types: 72 73- ether-type filter 74- 2-tuple filter(destination L4 protocol and destination L4 port) 75- TCP SYN filter 76- RSS filter 77 78Start ``testpmd``: 79 80.. code-block:: console 81 82 ./dpdk-testpmd -l 4-8 -- i --rxq=4 --txq=4 --pkt-filter-mode=perfect --disable-rss 83 84Add a rule to direct packet whose ``ether-type=0x801`` to queue 1: 85 86.. code-block:: console 87 88 testpmd> flow create 0 ingress pattern eth type is 0x801 / end actions queue index 1 / end 89 90Add a rule to direct packet whose ``ip-protocol=0x6(TCP), tcp_port=0x80`` to queue 1: 91 92.. code-block:: console 93 94 testpmd> flow create 0 ingress pattern eth / ipv4 proto is 6 / tcp dst is 0x80 / end actions queue index 1 / end 95 96Add a rule to direct packet whose ``ip-protocol=0x6(TCP), SYN flag is set`` to queue 1: 97 98.. code-block:: console 99 100 testpmd> flow validate 0 ingress pattern tcp flags spec 0x02 flags mask 0x02 / end actions queue index 1 / end 101 102Add a rule to enable ipv4-udp RSS: 103 104.. code-block:: console 105 106 testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end / end 107