eal: introduce internal wrappers for file operations
[dpdk.git] / doc / guides / sample_app_ug / kernel_nic_interface.rst
index f8fe17b..aac4ebd 100644 (file)
@@ -21,14 +21,14 @@ The FIFO queues contain pointers to data packets in the DPDK. This:
 
 *   Provides a faster mechanism to interface with the kernel net stack and eliminates system calls
 
 
 *   Provides a faster mechanism to interface with the kernel net stack and eliminates system calls
 
-*   Facilitates the DPDK using standard Linux* userspace net tools (tcpdump, ftp, and so on)
+*   Facilitates the DPDK using standard Linux* userspace net tools (tshark, rsync, and so on)
 
 *   Eliminate the copy_to_user and copy_from_user operations on packets.
 
 The Kernel NIC Interface sample application is a simple example that demonstrates the use
 of the DPDK to create a path for packets to go through the Linux* kernel.
 This is done by creating one or more kernel net devices for each of the DPDK ports.
 
 *   Eliminate the copy_to_user and copy_from_user operations on packets.
 
 The Kernel NIC Interface sample application is a simple example that demonstrates the use
 of the DPDK to create a path for packets to go through the Linux* kernel.
 This is done by creating one or more kernel net devices for each of the DPDK ports.
-The application allows the use of standard Linux tools (ethtool, ifconfig, tcpdump) with the DPDK ports and
+The application allows the use of standard Linux tools (ethtool, iproute, tshark) with the DPDK ports and
 also the exchange of packets between the DPDK application and the Linux* kernel.
 
 The Kernel NIC Interface sample application requires that the
 also the exchange of packets between the DPDK application and the Linux* kernel.
 
 The Kernel NIC Interface sample application requires that the
@@ -220,13 +220,13 @@ Enable KNI interface and assign an IP address:
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    # ifconfig vEth0_0 192.168.0.1
+    # ip addr add dev vEth0_0 192.168.0.1
 
 Show KNI interface configuration and statistics:
 
 .. code-block:: console
 
 
 Show KNI interface configuration and statistics:
 
 .. code-block:: console
 
-    # ifconfig vEth0_0
+    # ip -s -d addr show vEth0_0
 
 The user can also check and reset the packet statistics inside the ``kni``
 application by sending the app the USR1 and USR2 signals:
 
 The user can also check and reset the packet statistics inside the ``kni``
 application by sending the app the USR1 and USR2 signals:
@@ -234,16 +234,16 @@ application by sending the app the USR1 and USR2 signals:
 .. code-block:: console
 
     # Print statistics
 .. code-block:: console
 
     # Print statistics
-    # kill -SIGUSR1 `pidof kni`
+    # pkill -USR1 kni
 
     # Zero statistics
 
     # Zero statistics
-    # kill -SIGUSR2 `pidof kni`
+    # pkill -USR2 kni
 
 Dump network traffic:
 
 .. code-block:: console
 
 
 Dump network traffic:
 
 .. code-block:: console
 
-    # tcpdump -i vEth0_0
+    # tshark -n -i vEth0_0
 
 The normal Linux commands can also be used to change the MAC address and
 MTU size used by the physical NIC which corresponds to the KNI interface.
 
 The normal Linux commands can also be used to change the MAC address and
 MTU size used by the physical NIC which corresponds to the KNI interface.
@@ -254,23 +254,19 @@ Change the MAC address:
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    # ifconfig vEth0_0 hw ether 0C:01:02:03:04:08
+    # ip link set dev vEth0_0 lladdr 0C:01:02:03:04:08
 
 Change the MTU size:
 
 .. code-block:: console
 
 
 Change the MTU size:
 
 .. code-block:: console
 
-    # ifconfig vEth0_0 mtu 1450
+    # ip link set dev vEth0_0 mtu 1450
 
 
-If DPDK is compiled with ``CONFIG_RTE_KNI_KMOD_ETHTOOL=y`` and an Intel
-NIC is used, the user can use ``ethtool`` on the KNI interface as if it
-were a normal Linux kernel interface.
-
-Displaying the NIC registers:
+Limited ethtool support:
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    # ethtool -d vEth0_0
+    # ethtool -i vEth0_0
 
 When the ``kni`` application is closed, all the KNI interfaces are deleted
 from the Linux kernel.
 
 When the ``kni`` application is closed, all the KNI interfaces are deleted
 from the Linux kernel.