net/iavf: support RSS for GRE tunnel packet
[dpdk.git] / doc / guides / nics / virtio.rst
index 012410a..ac07d4d 100644 (file)
@@ -71,7 +71,7 @@ In this release, the virtio PMD driver provides the basic functionality of packe
 
 *   Virtio supports software vlan stripping and inserting.
 
 
 *   Virtio supports software vlan stripping and inserting.
 
-*   Virtio supports using port IO to get PCI resource when uio/igb_uio module is not available.
+*   Virtio supports using port IO to get PCI resource when UIO module is not available.
 
 Prerequisites
 -------------
 
 Prerequisites
 -------------
@@ -103,14 +103,15 @@ Host2VM communication example
 
         insmod rte_kni.ko
 
 
         insmod rte_kni.ko
 
-    Other basic DPDK preparations like hugepage enabling, uio port binding are not listed here.
+    Other basic DPDK preparations like hugepage enabling,
+    UIO port binding are not listed here.
     Please refer to the *DPDK Getting Started Guide* for detailed instructions.
 
 #.  Launch the kni user application:
 
     .. code-block:: console
 
     Please refer to the *DPDK Getting Started Guide* for detailed instructions.
 
 #.  Launch the kni user application:
 
     .. code-block:: console
 
-        examples/kni/build/app/kni -l 0-3 -n 4 -- -p 0x1 -P --config="(0,1,3)"
+        <build_dir>/examples/dpdk-kni -l 0-3 -n 4 -- -p 0x1 -P --config="(0,1,3)"
 
     This command generates one network device vEth0 for physical port.
     If specify more physical ports, the generated network device will be vEth1, vEth2, and so on.
 
     This command generates one network device vEth0 for physical port.
     If specify more physical ports, the generated network device will be vEth1, vEth2, and so on.
@@ -152,9 +153,9 @@ Host2VM communication example
     .. code-block:: console
 
         modprobe uio
     .. code-block:: console
 
         modprobe uio
-        echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+        dpdk-hugepages.py --setup 1G
         modprobe uio_pci_generic
         modprobe uio_pci_generic
-        python usertools/dpdk-devbind.py -b uio_pci_generic 00:03.0
+        ./usertools/dpdk-devbind.py -b uio_pci_generic 00:03.0
 
     We use testpmd as the forwarding application in this example.
 
 
     We use testpmd as the forwarding application in this example.
 
@@ -266,7 +267,7 @@ There is no vector callbacks for packed virtqueue for now.
 Example of using the vector version of the virtio poll mode driver in
 ``testpmd``::
 
 Example of using the vector version of the virtio poll mode driver in
 ``testpmd``::
 
-   testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1
+   dpdk-testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1
 
 In-order callbacks only work on simulated virtio user vdev.
 
 
 In-order callbacks only work on simulated virtio user vdev.
 
@@ -329,7 +330,7 @@ To support Rx interrupts,
 
     .. code-block:: console
 
 
     .. code-block:: console
 
-        python usertools/dpdk-devbind.py -b vfio-pci 00:03.0
+        ./usertools/dpdk-devbind.py -b vfio-pci 00:03.0
 
 Example
 ~~~~~~~
 
 Example
 ~~~~~~~
@@ -340,7 +341,7 @@ Here we use l3fwd-power as an example to show how to get started.
 
     .. code-block:: console
 
 
     .. code-block:: console
 
-        $ l3fwd-power -l 0-1 -- -p 1 -P --config="(0,0,1)" \
+        $ dpdk-l3fwd-power -l 0-1 -- -p 1 -P --config="(0,0,1)" \
                                                --no-numa --parse-ptype
 
 
                                                --no-numa --parse-ptype
 
 
@@ -361,7 +362,7 @@ Below devargs are supported by the PCI virtio driver:
     It is used to specify link speed of virtio device. Link speed is a part of
     link status structure. It could be requested by application using
     rte_eth_link_get_nowait function.
     It is used to specify link speed of virtio device. Link speed is a part of
     link status structure. It could be requested by application using
     rte_eth_link_get_nowait function.
-    (Default: 10000 (10G))
+    (Default: 0xffffffff (Unknown))
 
 #.  ``vectorized``:
 
 
 #.  ``vectorized``:
 
@@ -422,7 +423,7 @@ Below devargs are supported by the virtio-user vdev:
     It is used to specify link speed of virtio device. Link speed is a part of
     link status structure. It could be requested by application using
     rte_eth_link_get_nowait function.
     It is used to specify link speed of virtio device. Link speed is a part of
     link status structure. It could be requested by application using
     rte_eth_link_get_nowait function.
-    (Default: 10000 (10G))
+    (Default: 0xffffffff (Unknown))
 
 #.  ``vectorized``:
 
 
 #.  ``vectorized``:
 
@@ -482,6 +483,13 @@ according to below configuration:
    both negotiated, this path will be selected.
 #. Packed virtqueue in-order non-mergeable path: If in-order feature is negotiated and
    Rx mergeable is not negotiated, this path will be selected.
    both negotiated, this path will be selected.
 #. Packed virtqueue in-order non-mergeable path: If in-order feature is negotiated and
    Rx mergeable is not negotiated, this path will be selected.
+#. Packed virtqueue vectorized Rx path: If building and running environment support
+   (AVX512 || NEON) && in-order feature is negotiated && Rx mergeable
+   is not negotiated && TCP_LRO Rx offloading is disabled && vectorized option enabled,
+   this path will be selected.
+#. Packed virtqueue vectorized Tx path: If building and running environment support
+   (AVX512 || NEON)  && in-order feature is negotiated && vectorized option enabled,
+   this path will be selected.
 
 Rx/Tx callbacks of each Virtio path
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Rx/Tx callbacks of each Virtio path
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~