166fde1b9SAlvin Zhang.. SPDX-License-Identifier: BSD-3-Clause 266fde1b9SAlvin Zhang Copyright(c) 2020 Intel Corporation. 366fde1b9SAlvin Zhang 466fde1b9SAlvin ZhangIGC Poll Mode Driver 566fde1b9SAlvin Zhang====================== 666fde1b9SAlvin Zhang 78809f78cSBruce RichardsonThe IGC PMD (**librte_net_igc**) provides poll mode driver support for Foxville 8d9934a8aSQiming YangI225 and I226 Series Network Adapters. 966fde1b9SAlvin Zhang 1035ce677cSCiara Power- For information about I225, please refer to: `Intel® Ethernet Controller I225 Series 1135ce677cSCiara Power <https://ark.intel.com/content/www/us/en/ark/products/series/184686/intel-ethernet-controller-i225-series.html>`_. 12d9934a8aSQiming Yang- For information about I226, please refer to: `Intel® Ethernet Controller I226 Series 13d9934a8aSQiming Yang <https://ark.intel.com/content/www/us/en/ark/products/series/210588/intel-ethernet-controller-i226-series.html>`_. 1466fde1b9SAlvin Zhang 15*b583b9a1SFerruh YigitSupported Chipsets and NICs 16*b583b9a1SFerruh Yigit--------------------------- 17*b583b9a1SFerruh Yigit 18*b583b9a1SFerruh Yigit- Foxville LM (I225 LM, I226 LM): Client 2.5G LAN vPro Corporate 19*b583b9a1SFerruh Yigit- Foxville V (I225 V, I226 V): Client 2.5G LAN Consumer 20*b583b9a1SFerruh Yigit- Foxville I (I225 I, I226 IM): Client 2.5G Industrial Temp 21*b583b9a1SFerruh Yigit- Foxville V (I225 K, I226 K): Client 2.5G LAN Consumer 22*b583b9a1SFerruh Yigit 2366fde1b9SAlvin ZhangDriver compilation and testing 2466fde1b9SAlvin Zhang------------------------------ 2566fde1b9SAlvin Zhang 2666fde1b9SAlvin ZhangRefer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` 2766fde1b9SAlvin Zhangfor details. 2866fde1b9SAlvin Zhang 2966fde1b9SAlvin Zhang 305f266d0dSAlvin ZhangSample Application Notes 315f266d0dSAlvin Zhang------------------------ 325f266d0dSAlvin Zhang 335f266d0dSAlvin ZhangVlan filter 345f266d0dSAlvin Zhang~~~~~~~~~~~ 355f266d0dSAlvin Zhang 365f266d0dSAlvin ZhangVLAN stripping off only works with inner vlan. 375f266d0dSAlvin ZhangOnly the outer VLAN TPID can be set to a vlan other than 0x8100. 385f266d0dSAlvin Zhang 395f266d0dSAlvin ZhangIf extend VLAN is enabled: 405f266d0dSAlvin Zhang 415f266d0dSAlvin Zhang- The VLAN header in a packet that carries a single VLAN header is treated as the external VLAN. 425f266d0dSAlvin Zhang 435f266d0dSAlvin Zhang- Foxville expects that any transmitted packet to have at least the external VLAN added by the 445f266d0dSAlvin Zhang software. For those packets where an external VLAN is not present, any offload that relates to 455f266d0dSAlvin Zhang inner fields to the EtherType might not be provided. 465f266d0dSAlvin Zhang 475f266d0dSAlvin Zhang- If VLAN TX-OFFLOAD is enabled and the packet does not contain an external VLAN, the packet is 485f266d0dSAlvin Zhang dropped, and if configured, the queue from which the packet was sent is disabled. 495f266d0dSAlvin Zhang 505f266d0dSAlvin ZhangTo start ``testpmd``, add vlan 10 to port, set vlan stripping off on, set extend on, set TPID of 515f266d0dSAlvin Zhangouter VLAN to 0x9100: 525f266d0dSAlvin Zhang 535f266d0dSAlvin Zhang.. code-block:: console 545f266d0dSAlvin Zhang 5568d99d00SCiara Power ./app/dpdk-testpmd -l 4-8 -- -i 565f266d0dSAlvin Zhang ... 575f266d0dSAlvin Zhang 585f266d0dSAlvin Zhang testpmd> vlan set filter on 0 595f266d0dSAlvin Zhang testpmd> rx_vlan add 10 0 605f266d0dSAlvin Zhang testpmd> vlan set strip off 0 615f266d0dSAlvin Zhang testpmd> vlan set extend on 0 625f266d0dSAlvin Zhang testpmd> vlan set outer tpid 0x9100 0 63746664d5SAlvin Zhang 64746664d5SAlvin Zhang 65746664d5SAlvin ZhangFlow Director 66746664d5SAlvin Zhang~~~~~~~~~~~~~ 67746664d5SAlvin Zhang 68746664d5SAlvin ZhangThe Flow Director works in receive mode to identify specific flows or sets of flows and route 69746664d5SAlvin Zhangthem to specific queues. 70746664d5SAlvin Zhang 71746664d5SAlvin ZhangThe Flow Director filters includes the following types: 72746664d5SAlvin Zhang 73746664d5SAlvin Zhang- ether-type filter 74746664d5SAlvin Zhang- 2-tuple filter(destination L4 protocol and destination L4 port) 75746664d5SAlvin Zhang- TCP SYN filter 76746664d5SAlvin Zhang- RSS filter 77746664d5SAlvin Zhang 78746664d5SAlvin ZhangStart ``testpmd``: 79746664d5SAlvin Zhang 80746664d5SAlvin Zhang.. code-block:: console 81746664d5SAlvin Zhang 8268d99d00SCiara Power ./dpdk-testpmd -l 4-8 -- i --rxq=4 --txq=4 --pkt-filter-mode=perfect --disable-rss 83746664d5SAlvin Zhang 84746664d5SAlvin ZhangAdd a rule to direct packet whose ``ether-type=0x801`` to queue 1: 85746664d5SAlvin Zhang 86746664d5SAlvin Zhang.. code-block:: console 87746664d5SAlvin Zhang 88746664d5SAlvin Zhang testpmd> flow create 0 ingress pattern eth type is 0x801 / end actions queue index 1 / end 89746664d5SAlvin Zhang 90746664d5SAlvin ZhangAdd a rule to direct packet whose ``ip-protocol=0x6(TCP), tcp_port=0x80`` to queue 1: 91746664d5SAlvin Zhang 92746664d5SAlvin Zhang.. code-block:: console 93746664d5SAlvin Zhang 94746664d5SAlvin Zhang testpmd> flow create 0 ingress pattern eth / ipv4 proto is 6 / tcp dst is 0x80 / end actions queue index 1 / end 95746664d5SAlvin Zhang 96746664d5SAlvin ZhangAdd a rule to direct packet whose ``ip-protocol=0x6(TCP), SYN flag is set`` to queue 1: 97746664d5SAlvin Zhang 98746664d5SAlvin Zhang.. code-block:: console 99746664d5SAlvin Zhang 100746664d5SAlvin Zhang testpmd> flow validate 0 ingress pattern tcp flags spec 0x02 flags mask 0x02 / end actions queue index 1 / end 101746664d5SAlvin Zhang 102746664d5SAlvin ZhangAdd a rule to enable ipv4-udp RSS: 103746664d5SAlvin Zhang 104746664d5SAlvin Zhang.. code-block:: console 105746664d5SAlvin Zhang 106746664d5SAlvin Zhang testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end / end 107