ethdev: refine debug build option
[dpdk.git] / doc / guides / nics / igc.rst
index 358aec2..da77e08 100644 (file)
@@ -4,26 +4,11 @@
 IGC Poll Mode Driver
 ======================
 
-The IGC PMD (librte_pmd_igc) provides poll mode driver support for Foxville
+The IGC PMD (**librte_net_igc**) provides poll mode driver support for Foxville
 I225 Series Network Adapters.
 
-- For information about I225, please refer to:
-  `https://ark.intel.com/content/www/us/en/ark/products/series/184686/
-  intel-ethernet-controller-i225-series.html`
-
-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_IGC_PMD`` (default ``y``)
-
-  Toggle compilation of the ``librte_pmd_igc`` driver.
-
-- ``CONFIG_RTE_LIBRTE_IGC_DEBUG_*`` (default ``n``)
-
-  Toggle display of generic debugging messages.
+- For information about I225, please refer to: `IntelĀ® Ethernet Controller I225 Series
+  <https://ark.intel.com/content/www/us/en/ark/products/series/184686/intel-ethernet-controller-i225-series.html>`_.
 
 
 Driver compilation and testing
@@ -40,3 +25,82 @@ Foxville LM (I225 LM): Client 2.5G LAN vPro Corporate
 Foxville V (I225 V): Client 2.5G LAN Consumer
 Foxville I (I225 I): Client 2.5G Industrial Temp
 Foxville V (I225 K): Client 2.5G LAN Consumer
+
+
+Sample Application Notes
+------------------------
+
+Vlan filter
+~~~~~~~~~~~
+
+VLAN stripping off only works with inner vlan.
+Only the outer VLAN TPID can be set to a vlan other than 0x8100.
+
+If extend VLAN is enabled:
+
+- The VLAN header in a packet that carries a single VLAN header is treated as the external VLAN.
+
+- Foxville expects that any transmitted packet to have at least the external VLAN added by the
+  software. For those packets where an external VLAN is not present, any offload that relates to
+  inner fields to the EtherType might not be provided.
+
+- If VLAN TX-OFFLOAD is enabled and the packet does not contain an external VLAN, the packet is
+  dropped, and if configured, the queue from which the packet was sent is disabled.
+
+To start ``testpmd``, add vlan 10 to port, set vlan stripping off on, set extend on, set TPID of
+outer VLAN to 0x9100:
+
+.. code-block:: console
+
+   ./app/dpdk-testpmd -l 4-8 -- -i
+   ...
+
+   testpmd> vlan set filter on 0
+   testpmd> rx_vlan add 10 0
+   testpmd> vlan set strip off 0
+   testpmd> vlan set extend on 0
+   testpmd> vlan set outer tpid 0x9100 0
+
+
+Flow Director
+~~~~~~~~~~~~~
+
+The Flow Director works in receive mode to identify specific flows or sets of flows and route
+them to specific queues.
+
+The Flow Director filters includes the following types:
+
+- ether-type filter
+- 2-tuple filter(destination L4 protocol and destination L4 port)
+- TCP SYN filter
+- RSS filter
+
+Start ``testpmd``:
+
+.. code-block:: console
+
+   ./dpdk-testpmd -l 4-8 -- i --rxq=4 --txq=4 --pkt-filter-mode=perfect --disable-rss
+
+Add a rule to direct packet whose ``ether-type=0x801`` to queue 1:
+
+.. code-block:: console
+
+   testpmd> flow create 0 ingress pattern eth type is 0x801 / end actions queue index 1 / end
+
+Add a rule to direct packet whose ``ip-protocol=0x6(TCP), tcp_port=0x80`` to queue 1:
+
+.. code-block:: console
+
+   testpmd> flow create 0 ingress pattern eth / ipv4 proto is 6 / tcp dst is 0x80 / end actions queue index 1 / end
+
+Add a rule to direct packet whose ``ip-protocol=0x6(TCP), SYN flag is set`` to queue 1:
+
+.. code-block:: console
+
+   testpmd> flow validate 0 ingress pattern tcp flags spec 0x02 flags mask 0x02 / end actions queue index 1 / end
+
+Add a rule to enable ipv4-udp RSS:
+
+.. code-block:: console
+
+   testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end / end