From e0c7c47319576799f5affced83caf776ea4de61b Mon Sep 17 00:00:00 2001 From: Siobhan Butler Date: Thu, 18 Dec 2014 10:51:19 +0000 Subject: [PATCH] doc: remove Intel references from sample apps guide Removed redundant references to Intel(R) DPDK in Sample App UG. Signed-off-by: Siobhan Butler Acked-by: Bernard Iremonger --- doc/guides/sample_app_ug/cmd_line.rst | 10 ++-- doc/guides/sample_app_ug/exception_path.rst | 8 +-- doc/guides/sample_app_ug/hello_world.rst | 8 +-- .../sample_app_ug/intel_quickassist.rst | 18 +++--- .../internet_proto_ip_pipeline.rst | 4 +- doc/guides/sample_app_ug/intro.rst | 12 ++-- doc/guides/sample_app_ug/ip_frag.rst | 6 +- doc/guides/sample_app_ug/ip_reassembly.rst | 6 +- doc/guides/sample_app_ug/ipv4_multicast.rst | 6 +- .../sample_app_ug/kernel_nic_interface.rst | 34 +++++------ .../sample_app_ug/l2_forward_real_virtual.rst | 12 ++-- doc/guides/sample_app_ug/l3_forward.rst | 8 +-- .../sample_app_ug/l3_forward_access_ctrl.rst | 6 +- .../sample_app_ug/l3_forward_power_man.rst | 16 +++--- .../sample_app_ug/l3_forward_virtual.rst | 8 +-- doc/guides/sample_app_ug/link_status_intr.rst | 10 ++-- doc/guides/sample_app_ug/load_balancer.rst | 12 ++-- doc/guides/sample_app_ug/multi_process.rst | 34 +++++------ .../sample_app_ug/netmap_compatibility.rst | 30 +++++----- doc/guides/sample_app_ug/qos_metering.rst | 4 +- doc/guides/sample_app_ug/qos_scheduler.rst | 6 +- doc/guides/sample_app_ug/quota_watermark.rst | 12 ++-- doc/guides/sample_app_ug/test_pipeline.rst | 10 ++-- doc/guides/sample_app_ug/timer.rst | 6 +- doc/guides/sample_app_ug/vhost.rst | 56 +++++++++---------- .../sample_app_ug/vmdq_dcb_forwarding.rst | 10 ++-- 26 files changed, 176 insertions(+), 176 deletions(-) diff --git a/doc/guides/sample_app_ug/cmd_line.rst b/doc/guides/sample_app_ug/cmd_line.rst index 0a0ea41171..6a72959950 100644 --- a/doc/guides/sample_app_ug/cmd_line.rst +++ b/doc/guides/sample_app_ug/cmd_line.rst @@ -32,15 +32,15 @@ Command Line Sample Application =============================== This chapter describes the Command Line sample application that -is part of the Intel® Data Plane Development Kit (Intel® DPDK). +is part of the Data Plane Development Kit (DPDK). Overview -------- The Command Line sample application is a simple application that -demonstrates the use of the command line interface in the Intel® DPDK. +demonstrates the use of the command line interface in the DPDK. This application is a readline-like interface that can be used -to debug an Intel® DPDK application, in a Linux* application environment. +to debug a DPDK application, in a Linux* application environment. .. note:: @@ -81,7 +81,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - Refer to the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + Refer to the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -98,7 +98,7 @@ To run the application in linuxapp environment, issue the following command: $ ./build/cmdline -c f -n 4 -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/exception_path.rst b/doc/guides/sample_app_ug/exception_path.rst index e440268eb1..0b71f9ea7d 100644 --- a/doc/guides/sample_app_ug/exception_path.rst +++ b/doc/guides/sample_app_ug/exception_path.rst @@ -31,10 +31,10 @@ Exception Path Sample Application ================================= -The Exception Path sample application is a simple example that demonstrates the use of the Intel® DPDK +The Exception Path sample application is a simple example that demonstrates the use of the DPDK to set up an exception path for packets to go through the Linux* kernel. This is done by using virtual TAP network interfaces. -These can be read from and written to by the Intel® DPDK application and +These can be read from and written to by the DPDK application and appear to the kernel as a standard network interface. Overview @@ -74,7 +74,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc This application is intended as a linuxapp only. -See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. +See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -99,7 +99,7 @@ where: * -o OUT_CORES: A hex bitmask of cores which write to NIC -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. The number of bits set in each bitmask must be the same. diff --git a/doc/guides/sample_app_ug/hello_world.rst b/doc/guides/sample_app_ug/hello_world.rst index 3213ba8116..72e1e1152c 100644 --- a/doc/guides/sample_app_ug/hello_world.rst +++ b/doc/guides/sample_app_ug/hello_world.rst @@ -31,7 +31,7 @@ Hello World Sample Application ============================== -The Hello World sample application is an example of the simplest Intel® DPDK application that can be written. +The Hello World sample application is an example of the simplest DPDK application that can be written. The application simply prints an "helloworld" message on every enabled lcore. Compiling the Application @@ -50,7 +50,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started* Guide for possible RTE_TARGET values. + See the *DPDK Getting Started* Guide for possible RTE_TARGET values. #. Build the application: @@ -67,7 +67,7 @@ To run the example in a linuxapp environment: $ ./build/helloworld -c f -n 4 -Refer to *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation @@ -135,4 +135,4 @@ The following code is equivalent and simpler: rte_eal_mp_remote_launch(lcore_hello, NULL, CALL_MASTER); -Refer to the *Intel® DPDK API Reference* for detailed information on the rte_eal_mp_remote_launch() function. +Refer to the *DPDK API Reference* for detailed information on the rte_eal_mp_remote_launch() function. diff --git a/doc/guides/sample_app_ug/intel_quickassist.rst b/doc/guides/sample_app_ug/intel_quickassist.rst index cbc92f071e..d063f08aef 100644 --- a/doc/guides/sample_app_ug/intel_quickassist.rst +++ b/doc/guides/sample_app_ug/intel_quickassist.rst @@ -32,8 +32,8 @@ Intel® QuickAssist Technology Sample Application ================================================ This sample application demonstrates the use of the cryptographic operations provided -by the Intel® QuickAssist Technology from within the Intel® DPDK environment. -Therefore, building and running this application requires having both the Intel® DPDK and +by the Intel® QuickAssist Technology from within the DPDK environment. +Therefore, building and running this application requires having both the DPDK and the QuickAssist Technology Software Library installed, as well as at least one Intel® QuickAssist Technology hardware device present in the system. @@ -102,14 +102,14 @@ For the cryptographic path, it is the payload of the IPv4 packet that is encrypt Setup ~~~~~ -Building and running this application requires having both the Intel® DPDK package and +Building and running this application requires having both the DPDK package and the QuickAssist Technology Software Library installed, as well as at least one Intel® QuickAssist Technology hardware device present in the system. -For more details on how to build and run Intel® DPDK and Intel® QuickAssist Technology applications, +For more details on how to build and run DPDK and Intel® QuickAssist Technology applications, please refer to the following documents: -* *Intel® DPDK Getting Started Guide* +* *DPDK Getting Started Guide* * Intel® Communications Chipset 8900 to 8920 Series Software for Linux* Getting Started Guide (440005) @@ -127,7 +127,7 @@ Steps to build the application: .. code-block:: console - export RTE_SDK= + export RTE_SDK= export ICP_ROOT= #. Set the target (a default target is used if not specified). For example: @@ -136,7 +136,7 @@ Steps to build the application: export RTE_TARGET=x86_64-native-linuxapp-gcc - Refer to the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + Refer to the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -152,7 +152,7 @@ Intel® QuickAssist Technology Configuration Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Intel® QuickAssist Technology configuration files used by the application are located in the config_files folder in the application folder. -There following sets of configuration files are included in the Intel® DPDK package: +There following sets of configuration files are included in the DPDK package: * Stargo CRB (single CPU socket): located in the stargo folder @@ -218,7 +218,7 @@ performing AES-CBC-128 encryption with AES-XCBC-MAC-96 hash, the following setti ./build/dpdk_qat -c 0xff -n 2 -- -p 0x3 --config '(0,0,1),(1,0,2)' -Refer to the *Intel® DPDK Test Report* for more examples of traffic generator setup and the application startup command lines. +Refer to the *DPDK Test Report* for more examples of traffic generator setup and the application startup command lines. If no errors are generated in response to the startup commands, the application is running correctly. .. |quickassist_block_diagram| image:: img/quickassist_block_diagram.png diff --git a/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst b/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst index 166978db73..257ce3ff87 100644 --- a/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst +++ b/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst @@ -31,8 +31,8 @@ Internet Protocol (IP) Pipeline Sample Application ================================================== -The Internet Protocol (IP) Pipeline application illustrates the use of the Intel® DPDK Packet Framework tool suite. -The Intel® DPDK pipeline methodology is used to implement functional blocks such as +The Internet Protocol (IP) Pipeline application illustrates the use of the DPDK Packet Framework tool suite. +The DPDK pipeline methodology is used to implement functional blocks such as packet RX, packet TX, flow classification, firewall, routing, IP fragmentation, IP reassembly, etc which are then assigned to different CPU cores and connected together to create complex multi-core applications. diff --git a/doc/guides/sample_app_ug/intro.rst b/doc/guides/sample_app_ug/intro.rst index e2f82e18fa..d3f261b341 100644 --- a/doc/guides/sample_app_ug/intro.rst +++ b/doc/guides/sample_app_ug/intro.rst @@ -31,21 +31,21 @@ Introduction ============ -This document describes the sample applications that are included in the Intel® Data Plane Development Kit (Intel® DPDK). +This document describes the sample applications that are included in the Data Plane Development Kit (DPDK). Each chapter describes a sample application that showcases specific functionality and provides instructions on how to compile, run and use the sample application. Documentation Roadmap --------------------- -The following is a list of Intel® DPDK documents in suggested reading order: +The following is a list of DPDK documents in suggested reading order: * **Release Notes** : Provides release-specific information, including supported features, limitations, fixed issues, known issues and so on. Also, provides the answers to frequently asked questions in FAQ format. * **Getting Started Guides** : Describes how to install and - configure the Intel® DPDK software for your operating system; + configure the DPDK software for your operating system; designed to get users up and running quickly with the software. * **Programmer's Guide:** Describes: @@ -53,15 +53,15 @@ The following is a list of Intel® DPDK documents in suggested reading order: * The software architecture and how to use it (through examples), specifically in a Linux* application (linuxapp) environment. - * The content of the Intel® DPDK, the build system - (including the commands that can be used in the root Intel® DPDK Makefile to build the development kit and an application) + * The content of the DPDK, the build system + (including the commands that can be used in the root DPDK Makefile to build the development kit and an application) and guidelines for porting an application. * Optimizations used in the software and those that should be considered for new development A glossary of terms is also provided. -* **API Reference** : Provides detailed information about Intel® DPDK functions, +* **API Reference** : Provides detailed information about DPDK functions, data structures and other programming constructs. * **Sample Applications User Guide** : Describes a set of sample applications. diff --git a/doc/guides/sample_app_ug/ip_frag.rst b/doc/guides/sample_app_ug/ip_frag.rst index 18c1a3457c..815cb4ac51 100644 --- a/doc/guides/sample_app_ug/ip_frag.rst +++ b/doc/guides/sample_app_ug/ip_frag.rst @@ -32,7 +32,7 @@ IP Fragmentation Sample Application =================================== The IPv4 Fragmentation application is a simple example of packet processing -using the Intel® Data Plane Development Kit (Intel® DPDK). +using the Data Plane Development Kit (DPDK). The application does L3 forwarding with IPv4 and IPv6 packet fragmentation. Overview @@ -78,7 +78,7 @@ To build the application: export RTE_TARGET=x86_64-native-linuxapp-gcc -See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. +See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -183,5 +183,5 @@ IP Fragmentation sample application provides basic NUMA support in that all the memory structures are allocated on all sockets that have active lcores on them. -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst index 103e12bd83..6c500c0a07 100644 --- a/doc/guides/sample_app_ug/ip_reassembly.rst +++ b/doc/guides/sample_app_ug/ip_reassembly.rst @@ -31,13 +31,13 @@ IP Reassembly Sample Application ================================ -The L3 Forwarding application is a simple example of packet processing using the Intel® DPDK. +The L3 Forwarding application is a simple example of packet processing using the DPDK. The application performs L3 forwarding with reassembly for fragmented IPv4 and IPv6 packets. Overview -------- -The application demonstrates the use of the Intel® DPDK libraries to implement packet forwarding +The application demonstrates the use of the DPDK libraries to implement packet forwarding with reassembly for IPv4 and IPv6 fragmented packets. The initialization and run- time paths are very similar to those of the L2 forwarding application (see Chapter 9 "L2 Forwarding Sample Application" for more information). @@ -69,7 +69,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc -See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. +See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: diff --git a/doc/guides/sample_app_ug/ipv4_multicast.rst b/doc/guides/sample_app_ug/ipv4_multicast.rst index a9c9df81b9..2020c4ba2a 100644 --- a/doc/guides/sample_app_ug/ipv4_multicast.rst +++ b/doc/guides/sample_app_ug/ipv4_multicast.rst @@ -32,7 +32,7 @@ IPv4 Multicast Sample Application ================================= The IPv4 Multicast application is a simple example of packet processing -using the Intel® Data Plane Development Kit (Intel® DPDK). +using the Data Plane Development Kit (DPDK). The application performs L3 multicasting. Overview @@ -76,7 +76,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc -See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. +See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -126,7 +126,7 @@ In this command: * The -q option assigns 1 queue to each lcore -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/kernel_nic_interface.rst b/doc/guides/sample_app_ug/kernel_nic_interface.rst index b75eed346c..e32fbbf0e5 100644 --- a/doc/guides/sample_app_ug/kernel_nic_interface.rst +++ b/doc/guides/sample_app_ug/kernel_nic_interface.rst @@ -31,32 +31,32 @@ Kernel NIC Interface Sample Application ======================================= -The Kernel NIC Interface (KNI) is an Intel® DPDK control plane solution that +The Kernel NIC Interface (KNI) is a DPDK control plane solution that allows userspace applications to exchange packets with the kernel networking stack. -To accomplish this, Intel® DPDK userspace applications use an IOCTL call +To accomplish this, DPDK userspace applications use an IOCTL call to request the creation of a KNI virtual device in the Linux* kernel. -The IOCTL call provides interface information and the Intel® DPDK's physical address space, +The IOCTL call provides interface information and the DPDK's physical address space, which is re-mapped into the kernel address space by the KNI kernel loadable module that saves the information to a virtual device context. -The Intel® DPDK creates FIFO queues for packet ingress and egress +The DPDK creates FIFO queues for packet ingress and egress to the kernel module for each device allocated. The KNI kernel loadable module is a standard net driver, -which upon receiving the IOCTL call access the Intel® DPDK's FIFO queue to -receive/transmit packets from/to the Intel® DPDK userspace application. -The FIFO queues contain pointers to data packets in the Intel® DPDK. This: +which upon receiving the IOCTL call access the DPDK's FIFO queue to +receive/transmit packets from/to the DPDK userspace application. +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 -* Facilitates the Intel® DPDK using standard Linux* userspace net tools (tcpdump, ftp, and so on) +* Facilitates the DPDK using standard Linux* userspace net tools (tcpdump, ftp, 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 Intel® 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 Intel® DPDK ports. -The application allows the use of standard Linux tools (ethtool, ifconfig, tcpdump) with the Intel® DPDK ports and -also the exchange of packets between the Intel® DPDK application and the Linux* kernel. +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 +also the exchange of packets between the DPDK application and the Linux* kernel. Overview -------- @@ -110,7 +110,7 @@ Compile the application as follows: Loading the Kernel Module ------------------------- -Loading the KNI kernel module without any parameter is the typical way an Intel® DPDK application +Loading the KNI kernel module without any parameter is the typical way a DPDK application gets packets into and out of the kernel net stack. This way, only one kernel thread is created for all KNI devices for packet receiving in kernel side: @@ -132,7 +132,7 @@ For optimum performance, the lcore in the mask must be selected to be on the same socket as the lcores used in the KNI application. To provide flexibility of performance, the kernel module of the KNI, -located in the kmod sub-directory of the Intel® DPDK target directory, +located in the kmod sub-directory of the DPDK target directory, can be loaded with parameter of kthread_mode as follows: * #insmod rte_kni.ko kthread_mode=single @@ -149,7 +149,7 @@ can be loaded with parameter of kthread_mode as follows: Multiple kernel thread mode can provide scalable higher performance. To measure the throughput in a loopback mode, the kernel module of the KNI, -located in the kmod sub-directory of the Intel® DPDK target directory, +located in the kmod sub-directory of the DPDK target directory, can be loaded with parameters as follows: * #insmod rte_kni.ko lo_mode=lo_mode_fifo @@ -179,7 +179,7 @@ Where: * --config="(port,lcore_rx, lcore_tx[,lcore_kthread, ...]) [, port,lcore_rx, lcore_tx[,lcore_kthread, ...]]": Determines which lcores of RX, TX, kernel thread are mapped to which ports. -Refer to *Intel® DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. +Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. The -c coremask parameter of the EAL options should include the lcores indicated by the lcore_rx and lcore_tx, but does not need to include lcores indicated by lcore_kthread as they are used to pin the kernel thread on. @@ -228,7 +228,7 @@ Dumping the network traffic: #tcpdump -i vEth0_0 -When the Intel® DPDK userspace application is closed, all the KNI devices are deleted from Linux*. +When the DPDK userspace application is closed, all the KNI devices are deleted from Linux*. Explanation ----------- diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst index dcec353cda..f9360c4e1e 100644 --- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst +++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst @@ -32,13 +32,13 @@ L2 Forwarding Sample Application (in Real and Virtualized Environments) ======================================================================= The L2 Forwarding sample application is a simple example of packet processing using -the Intel® Data Plane Development Kit (Intel® DPDK) which +the Data Plane Development Kit (DPDK) which also takes advantage of Single Root I/O Virtualization (SR-IOV) features in a virtualized environment. .. note:: Please note that previously a separate L2 Forwarding in Virtualized Environments sample application was used, - however, in later Intel® DPDK versions these sample applications have been merged. + however, in later DPDK versions these sample applications have been merged. Overview -------- @@ -58,7 +58,7 @@ This application can be used to benchmark performance using a traffic-generator, The application can also be used in a virtualized environment as shown in Figure 4. -The L2 Forwarding application can also be used as a starting point for developing a new application based on the Intel® DPDK. +The L2 Forwarding application can also be used as a starting point for developing a new application based on the DPDK. .. _figure_3: @@ -111,7 +111,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - *See the Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + *See the DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -140,7 +140,7 @@ To run the application in linuxapp environment with 4 lcores, 16 ports and 8 RX $ ./build/l2fwd -c f -n 4 -- -q 8 -p ffff -Refer to the *Intel® *DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation @@ -222,7 +222,7 @@ Driver Initialization The main part of the code in the main() function relates to the initialization of the driver. To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver -in the *Intel® DPDK Programmer's Guide* - Rel 1.4 EAR and the *Intel® DPDK API Reference*. +in the *DPDK Programmer's Guide* - Rel 1.4 EAR and the *DPDK API Reference*. .. code-block:: c diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst index 9f952faf0d..6ca03f9094 100644 --- a/doc/guides/sample_app_ug/l3_forward.rst +++ b/doc/guides/sample_app_ug/l3_forward.rst @@ -31,13 +31,13 @@ L3 Forwarding Sample Application ================================ -The L3 Forwarding application is a simple example of packet processing using the Intel® DPDK. +The L3 Forwarding application is a simple example of packet processing using the DPDK. The application performs L3 forwarding. Overview -------- -The application demonstrates the use of the hash and LPM libraries in the Intel® DPDK to implement packet forwarding. +The application demonstrates the use of the hash and LPM libraries in the DPDK to implement packet forwarding. The initialization and run-time paths are very similar to those of the L2 forwarding application (see Chapter 9 "L2 Forwarding Sample Application (in Real and Virtualized Environments)" for more information). The main difference from the L2 Forwarding sample application is that the forwarding decision @@ -77,7 +77,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -153,7 +153,7 @@ In this command: | | | | | +----------+-----------+-----------+-------------------------------------+ -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst index bc66f74c58..79ba24df0a 100644 --- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst +++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst @@ -31,7 +31,7 @@ L3 Forwarding with Access Control Sample Application ==================================================== -The L3 Forwarding with Access Control application is a simple example of packet processing using the Intel® DPDK. +The L3 Forwarding with Access Control application is a simple example of packet processing using the DPDK. The application performs a security check on received packets. Packets that are in the Access Control List (ACL), which is loaded during initialization, are dropped. Others are forwarded to the correct port. @@ -39,7 +39,7 @@ Others are forwarded to the correct port. Overview -------- -The application demonstrates the use of the ACL library in the Intel® DPDK to implement access control +The application demonstrates the use of the ACL library in the DPDK to implement access control and packet L3 forwarding. The application loads two types of rules at initialization: @@ -267,7 +267,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK IPL Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK IPL Getting Started Guide* for possible RTE_TARGET values. #. Build the application: diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst index 3a93a6b4e9..20e4be7e72 100644 --- a/doc/guides/sample_app_ug/l3_forward_power_man.rst +++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst @@ -34,7 +34,7 @@ L3 Forwarding with Power Management Sample Application Introduction ------------ -The L3 Forwarding with Power Management application is an example of power-aware packet processing using the Intel® DPDK. +The L3 Forwarding with Power Management application is an example of power-aware packet processing using the DPDK. The application is based on existing L3 Forwarding sample application, with the power management algorithms to control the P-states and C-states of the Intel processor via a power management library. @@ -42,17 +42,17 @@ C-states of the Intel processor via a power management library. Overview -------- -The application demonstrates the use of the Power libraries in the Intel® DPDK to implement packet forwarding. +The application demonstrates the use of the Power libraries in the DPDK to implement packet forwarding. The initialization and run-time paths are very similar to those of the L3 forwarding sample application (see Chapter 10 "L3 Forwarding Sample Application" for more information). The main difference from the L3 Forwarding sample application is that this application introduces power-aware optimization algorithms by leveraging the Power library to control P-state and C-state of processor based on packet load. -The Intel® DPDK includes poll-mode drivers to configure Intel NIC devices and their receive (Rx) and transmit (Tx) queues. +The DPDK includes poll-mode drivers to configure Intel NIC devices and their receive (Rx) and transmit (Tx) queues. The design principle of this PMD is to access the Rx and Tx descriptors directly without any interrupts to quickly receive, process and deliver packets in the user space. -In general, the Intel® DPDK executes an endless packet processing loop on dedicated IA cores that include the following steps: +In general, the DPDK executes an endless packet processing loop on dedicated IA cores that include the following steps: * Retrieve input packets through the PMD to poll Rx queue @@ -72,12 +72,12 @@ to switch between different supported operating frequencies and voltages. If configured correctly, according to system workload, this feature provides power savings. CPUFreq is the infrastructure provided by the Linux* kernel to control the processor performance state capability. CPUFreq supports a user space governor that enables setting frequency via manipulating the virtual file device from a user space application. -The Power library in the Intel® DPDK provides a set of APIs for manipulating a virtual file device to allow user space application +The Power library in the DPDK provides a set of APIs for manipulating a virtual file device to allow user space application to set the CPUFreq governor and set the frequency of specific cores. This application includes a P-state power management algorithm to generate a frequency hint to be sent to CPUFreq. The algorithm uses the number of received and available Rx packets on recent polls to make a heuristic decision to scale frequency up/down. -Specifically, some thresholds are checked to see whether a specific core running an Intel® DPDK polling thread needs to increase frequency +Specifically, some thresholds are checked to see whether a specific core running an DPDK polling thread needs to increase frequency a step up based on the near to full trend of polled Rx queues. Also, it decreases frequency a step if packet processed per loop is far less than the expected threshold or the thread's sleeping time exceeds a threshold. @@ -119,7 +119,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -226,7 +226,7 @@ responsible for checking if it needs to scale down frequency at run time by chec Monitoring Loads of Rx Queues ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In general, the polling nature of the Intel® DPDK prevents the OS power management subsystem from knowing +In general, the polling nature of the DPDK prevents the OS power management subsystem from knowing if the network load is actually heavy or light. In this sample, sampling network load work is done by monitoring received and available descriptors on NIC Rx queues in recent polls. diff --git a/doc/guides/sample_app_ug/l3_forward_virtual.rst b/doc/guides/sample_app_ug/l3_forward_virtual.rst index 115af2cac2..f40643ad2c 100644 --- a/doc/guides/sample_app_ug/l3_forward_virtual.rst +++ b/doc/guides/sample_app_ug/l3_forward_virtual.rst @@ -31,14 +31,14 @@ L3 Forwarding in a Virtualization Environment Sample Application ================================================================ -The L3 Forwarding in a Virtualization Environment sample application is a simple example of packet processing using the Intel® DPDK. +The L3 Forwarding in a Virtualization Environment sample application is a simple example of packet processing using the DPDK. The application performs L3 forwarding that takes advantage of Single Root I/O Virtualization (SR-IOV) features in a virtualized environment. Overview -------- -The application demonstrates the use of the hash and LPM libraries in the Intel® DPDK to implement packet forwarding. +The application demonstrates the use of the hash and LPM libraries in the DPDK to implement packet forwarding. The initialization and run-time paths are very similar to those of the L3 forwarding application (see Chapter 10 "L3 Forwarding Sample Application" for more information). The forwarding decision is taken based on information read from the input packet. @@ -80,7 +80,7 @@ To compile the application: export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -148,7 +148,7 @@ In this command: | | | | | +----------+-----------+-----------+------------------------------------+ -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst index 7334fb8ed6..de0dff81fa 100644 --- a/doc/guides/sample_app_ug/link_status_intr.rst +++ b/doc/guides/sample_app_ug/link_status_intr.rst @@ -32,9 +32,9 @@ Link Status Interrupt Sample Application ======================================== The Link Status Interrupt sample application is a simple example of packet processing using -the Intel® Data Plane Development Kit (Intel® DPDK) that +the Data Plane Development Kit (DPDK) that demonstrates how network link status changes for a network port can be captured and -used by an Intel® DPDK application. +used by a DPDK application. Overview -------- @@ -68,7 +68,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -106,7 +106,7 @@ issue the command: $ ./build/link_status_interrupt -c f -n 4-- -q 8 -p ffff -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation @@ -134,7 +134,7 @@ Driver Initialization The main part of the code in the main() function relates to the initialization of the driver. To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver in the -*Intel® DPDK Programmer's Guide and the Intel® DPDK API Reference*. +*DPDK Programmer's Guide and the DPDK API Reference*. .. code-block:: c diff --git a/doc/guides/sample_app_ug/load_balancer.rst b/doc/guides/sample_app_ug/load_balancer.rst index 6277de4703..8ec47aebec 100644 --- a/doc/guides/sample_app_ug/load_balancer.rst +++ b/doc/guides/sample_app_ug/load_balancer.rst @@ -93,7 +93,7 @@ The sequence of steps used to build the application is: .. code-block:: console - export RTE_SDK= + export RTE_SDK= export RTE_TARGET=x86_64-native-linuxapp-gcc #. Build the application executable file: @@ -102,8 +102,8 @@ The sequence of steps used to build the application is: cd ${RTE_SDK}/examples/load_balancer make - For more details on how to build the Intel® DPDK libraries and sample applications, - please refer to the *Intel® DPDK Getting Started Guide.* + For more details on how to build the DPDK libraries and sample applications, + please refer to the *DPDK Getting Started Guide.* Running the Application ----------------------- @@ -111,9 +111,9 @@ Running the Application To successfully run the application, the command line used to start the application has to be in sync with the traffic flows configured on the traffic generator side. -For examples of application command lines and traffic generator flows, please refer to the Intel® DPDK Test Report. -For more details on how to set up and run the sample applications provided with Intel® DPDK package, -please refer to the *Intel® DPDK Getting Started Guide*. +For examples of application command lines and traffic generator flows, please refer to the DPDK Test Report. +For more details on how to set up and run the sample applications provided with DPDK package, +please refer to the *DPDK Getting Started Guide*. Explanation ----------- diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst index 31bb1d43bb..9797cc9769 100644 --- a/doc/guides/sample_app_ug/multi_process.rst +++ b/doc/guides/sample_app_ug/multi_process.rst @@ -31,7 +31,7 @@ Multi-process Sample Application ================================ -This chapter describes the example applications for multi-processing that are included in the Intel® DPDK. +This chapter describes the example applications for multi-processing that are included in the DPDK. Example Applications -------------------- @@ -40,7 +40,7 @@ Building the Sample Applications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The multi-process example applications are built in the same way as other sample applications, -and as documented in the *Intel® DPDK Getting Started Guide*. +and as documented in the *DPDK Getting Started Guide*. To build all the example applications: #. Set RTE_SDK and go to the example directory: @@ -56,7 +56,7 @@ To build all the example applications: export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the applications: @@ -73,8 +73,8 @@ To build all the example applications: Basic Multi-process Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The examples/simple_mp folder in the Intel® DPDK release contains a basic example application to demonstrate how -two Intel® DPDK processes can work together using queues and memory pools to share information. +The examples/simple_mp folder in the DPDK release contains a basic example application to demonstrate how +two DPDK processes can work together using queues and memory pools to share information. Running the Application ^^^^^^^^^^^^^^^^^^^^^^^ @@ -86,8 +86,8 @@ passing at least two cores in the coremask, as follows: ./build/simple_mp -c 3 -n 4 --proc-type=primary -For the first Intel® DPDK process run, the proc-type flag can be omitted or set to auto, -since all Intel® DPDK processes will default to being a primary instance, +For the first DPDK process run, the proc-type flag can be omitted or set to auto, +since all DPDK processes will default to being a primary instance, meaning they have control over the hugepage shared memory regions. The process should start successfully and display a command prompt as follows: @@ -182,7 +182,7 @@ then enqueued on the appropriate rte_ring. Symmetric Multi-process Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The second example of Intel® DPDK multi-process support demonstrates how a set of processes can run in parallel, +The second example of DPDK multi-process support demonstrates how a set of processes can run in parallel, with each process performing the same set of packet- processing operations. (Since each process is identical in functionality to the others, we refer to this as symmetric multi-processing, to differentiate it from asymmetric multi- processing - @@ -287,7 +287,7 @@ and writes to the corresponding transmit queue on the output port. Client-Server Multi-process Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The third example multi-process application included with the Intel® DPDK shows how one can +The third example multi-process application included with the DPDK shows how one can use a client-server type multi-process design to do packet processing. In this example, a single server process performs the packet reception from the ports being used and distributes these packets using round-robin ordering among a set of client processes, @@ -370,7 +370,7 @@ until either the buffer is full or until we receive no further packets from the Master-slave Multi-process Example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The fourth example of Intel® DPDK multi-process support demonstrates a master-slave model that +The fourth example of DPDK multi-process support demonstrates a master-slave model that provide the capability of application recovery if a slave process crashes or meets unexpected conditions. In addition, it also demonstrates the floating process, which can run among different cores in contrast to the traditional way of binding a process/thread to a specific CPU core, @@ -443,7 +443,7 @@ Slave Process Recovery Mechanism Before talking about the recovery mechanism, it is necessary to know what is needed before a new slave instance can run if a previous one exited. When a slave process exits, the system returns all the resources allocated for this process automatically. -However, this does not include the resources that were allocated by the Intel® DPDK. All the hardware resources are shared among the processes, +However, this does not include the resources that were allocated by the DPDK. All the hardware resources are shared among the processes, which include memzone, mempool, ring, a heap buffer allocated by the rte_malloc library, and so on. If the new instance runs and the allocated resource is not returned, either resource allocation failed or the hardware resource is lost forever. @@ -486,18 +486,18 @@ The following diagram describes slave process recovery. Floating Process Support ^^^^^^^^^^^^^^^^^^^^^^^^ -When the Intel® DPDK application runs, there is always a -c option passed in to indicate the cores that are enabled. -Then, the Intel® DPDK creates a thread for each enabled core. +When the DPDK application runs, there is always a -c option passed in to indicate the cores that are enabled. +Then, the DPDK creates a thread for each enabled core. By doing so, it creates a 1:1 mapping between the enabled core and each thread. -The enabled core always has an ID, therefore, each thread has a unique core ID in the Intel® DPDK execution environment. +The enabled core always has an ID, therefore, each thread has a unique core ID in the DPDK execution environment. With the ID, each thread can easily access the structures or resources exclusively belonging to it without using function parameter passing. It can easily use the rte_lcore_id() function to get the value in every function that is called. For threads/processes not created in that way, either pinned to a core or not, they will not own a unique ID and the rte_lcore_id() function will not work in the correct way. However, sometimes these threads/processes still need the unique ID mechanism to do easy access on structures or resources. -For example, the Intel® DPDK mempool library provides a local cache mechanism -(refer to *Intel® DPDK Programmer's Guide* , Section 6.4, "Local Cache") +For example, the DPDK mempool library provides a local cache mechanism +(refer to *DPDK Programmer's Guide* , Section 6.4, "Local Cache") for fast element allocation and freeing. If using a non-unique ID or a fake one, a race condition occurs if two or more threads/ processes with the same core ID try to use the local cache. @@ -511,7 +511,7 @@ and make sure the process recovery mechanism can work with it. To avoid producing redundant code, the Master-Slave process model is still used to spawn floating processes, then cancel the affinity to specific cores. -Besides that, clear the core ID assigned to the Intel® DPDK spawning a thread that has a 1:1 mapping with the core mask. +Besides that, clear the core ID assigned to the DPDK spawning a thread that has a 1:1 mapping with the core mask. Thereafter, get a new core ID from the unused core ID allocation array. Run the Application diff --git a/doc/guides/sample_app_ug/netmap_compatibility.rst b/doc/guides/sample_app_ug/netmap_compatibility.rst index 9f61cca69a..f333f25c9a 100644 --- a/doc/guides/sample_app_ug/netmap_compatibility.rst +++ b/doc/guides/sample_app_ug/netmap_compatibility.rst @@ -36,12 +36,12 @@ Introduction ------------ The Netmap compatibility library provides a minimal set of APIs to give the ability to programs written against the Netmap APIs -to be run with minimal changes to their source code, using the Intel® DPDK to perform the actual packet I/O. +to be run with minimal changes to their source code, using the DPDK to perform the actual packet I/O. Since Netmap applications use regular system calls, like open(), ioctl() and mmap() to communicate with the Netmap kernel module performing the packet I/O, the compat_netmap library provides a set of similar APIs to use in place of those system calls, -effectively turning a Netmap application into a Intel® DPDK one. +effectively turning a Netmap application into a DPDK one. The provided library is currently minimal and doesn't support all the features that Netmap supports, but is enough to run simple applications, such as the bridge example detailed below. @@ -67,7 +67,7 @@ They use the same signature as their libc counterparts, and can be used as drop- Caveats ------- -Given the difference between the way Netmap and the Intel® DPDK approach packet I/O, +Given the difference between the way Netmap and the DPDK approach packet I/O, there are caveats and limitations to be aware of when trying to use the compat_netmap library, the most important of which are listed below. Additional caveats are presented in the $RTE_SDK/examples/netmap_compat/README.md file. These can change as the library is updated: @@ -76,15 +76,15 @@ These can change as the library is updated: Note that: -* rte_netmap_mmap() merely returns the address of a Intel® DPDK memzone. +* rte_netmap_mmap() merely returns the address of a DPDK memzone. The address, length, flags, offset, and so on arguments are therefore ignored completely. * rte_netmap_poll() only supports infinite (negative) or zero time outs. - It effectively turns calls to the poll() system call made in a Netmap application into polling of the Intel® DPDK ports, + It effectively turns calls to the poll() system call made in a Netmap application into polling of the DPDK ports, changing the semantics of the usual POSIX defined poll. * Not all of Netmap's features are supported: "host rings", - slot flags and so on are not supported or are simply not relevant in the Intel® DPDK model. + slot flags and so on are not supported or are simply not relevant in the DPDK model. * The Netmap manual page states that "a device obtained through /dev/netmap also supports the ioctl supported by network devices". It is not the case with this compatibility layer. @@ -99,15 +99,15 @@ Porting Netmap applications typically involves two major steps: * Changing the system calls to use their compat_netmap library counterparts -* Adding further Intel® DPDK initialization code +* Adding further DPDK initialization code Since the compat_netmap functions have the same signature as the usual libc calls, the change is in most cases trivial. -The usual Intel® DPDK initialization code involving rte_eal_init() and rte_eal_pci_probe() -has to be added to the Netmap application in the same way it is used in all other Intel® DPDK sample applications. -Please refer to the *Intel® DPDK Programmer's Guide* - Rel 1.4 EAR and example source code for details about initialization. +The usual DPDK initialization code involving rte_eal_init() and rte_eal_pci_probe() +has to be added to the Netmap application in the same way it is used in all other DPDK sample applications. +Please refer to the *DPDK Programmer's Guide* - Rel 1.4 EAR and example source code for details about initialization. -In addition of the regular Intel® DPDK initialization code, +In addition of the regular DPDK initialization code, the ported application needs to call initialization functions for the compat_netmap library, namely rte_netmap_init() and rte_netmap_init_port(). @@ -117,7 +117,7 @@ Those structures' fields are Netmap related and are self-explanatory for develop They are definedin $RTE_SDK/examples/netmap_compat/ lib/compat_netmap.h. The bridge application is an example largely based on the bridge example shipped with the Netmap distribution. -It shows how a minimal Netmap application with minimal and straightforward source code changes can be run on top of the Intel® DPDK. +It shows how a minimal Netmap application with minimal and straightforward source code changes can be run on top of the DPDK. Please refer to $RTE_SDK/examples/netmap_compat/bridge/bridge.c for an example of ported application. Compiling the "bridge" Sample Application @@ -136,7 +136,7 @@ Compiling the "bridge" Sample Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -155,7 +155,7 @@ The application requires a single command line option: where, -* -p INTERFACE is the number of a valid Intel® DPDK port to use. +* -p INTERFACE is the number of a valid DPDK port to use. If a single -p parameter is given, the interface will send back all the traffic it receives. If two -p parameters are given, the two interfaces form a bridge, @@ -167,7 +167,7 @@ To run the application in a linuxapp environment using port 0 and 2, issue the f ./build/packet_ordering [EAL options] -- -p 0 -p 2 -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Note that unlike a traditional bridge or the l2fwd sample application, no MAC address changes are done on the frames. diff --git a/doc/guides/sample_app_ug/qos_metering.rst b/doc/guides/sample_app_ug/qos_metering.rst index d947283916..344faf75d9 100644 --- a/doc/guides/sample_app_ug/qos_metering.rst +++ b/doc/guides/sample_app_ug/qos_metering.rst @@ -31,7 +31,7 @@ QoS Metering Sample Application =============================== -The QoS meter sample application is an example that demonstrates the use of Intel® DPDK to provide QoS marking and metering, +The QoS meter sample application is an example that demonstrates the use of DPDK to provide QoS marking and metering, as defined by RFC2697 for Single Rate Three Color Marker (srTCM) and RFC 2698 for Two Rate Three Color Marker (trTCM) algorithm. Overview @@ -100,7 +100,7 @@ The application execution command line is as below: The application is constrained to use a single core in the EAL core mask and 2 ports only in the application port mask (first port from the port mask is used for RX and the other port in the core mask is used for TX). -Refer to *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst index 616e495298..8611eae78d 100644 --- a/doc/guides/sample_app_ug/qos_scheduler.rst +++ b/doc/guides/sample_app_ug/qos_scheduler.rst @@ -31,7 +31,7 @@ QoS Scheduler Sample Application ================================ -The QoS sample application demonstrates the use of the Intel® DPDK to provide QoS scheduling. +The QoS sample application demonstrates the use of the DPDK to provide QoS scheduling. Overview -------- @@ -159,7 +159,7 @@ Optional application parameters include: * --cfg FILE: Profile configuration to load -Refer to *Intel®DPDK Getting Started Guide* for general information on running applications and +Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. The profile configuration file defines all the port/subport/pipe/traffic class/queue parameters @@ -346,6 +346,6 @@ This application classifies based on the QinQ double VLAN tags and the IP destin | | | | | +----------------+-------------------------+--------------------------------------------------+----------------------------------+ -Please refer to the "QoS Scheduler" chapter in the *Intel® DPDK Programmer's Guide* for more information about these parameters. +Please refer to the "QoS Scheduler" chapter in the *DPDK Programmer's Guide* for more information about these parameters. .. |qos_sched_app_arch| image:: img/qos_sched_app_arch.png diff --git a/doc/guides/sample_app_ug/quota_watermark.rst b/doc/guides/sample_app_ug/quota_watermark.rst index 6f537ae99f..7115635d16 100644 --- a/doc/guides/sample_app_ug/quota_watermark.rst +++ b/doc/guides/sample_app_ug/quota_watermark.rst @@ -31,7 +31,7 @@ Quota and Watermark Sample Application ====================================== -The Quota and Watermark sample application is a simple example of packet processing using Intel® Data Plane Development Kit (Intel® DPDK) that +The Quota and Watermark sample application is a simple example of packet processing using Data Plane Development Kit (DPDK) that showcases the use of a quota as the maximum number of packets enqueue/dequeue at a time and low and high watermarks to signal low and high ring usage respectively. @@ -105,7 +105,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -140,7 +140,7 @@ issue the following command: ./qw/build/qw -c f -n 4 -- -p 5 -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Running the Control Application @@ -161,7 +161,7 @@ To run the application in a linuxapp environment on logical core 0, issue the fo ./qwctl/build/qwctl -c 1 -n 4 --proc-type=secondary -Refer to the *Intel® DPDK Getting Started* Guide for general information on running applications and +Refer to the *DPDK Getting Started* Guide for general information on running applications and the Environment Abstraction Layer (EAL) options. qwctl is an interactive command line that let the user change variables in a running instance of qw. @@ -213,7 +213,7 @@ Then, a call to init_dpdk(), defined in init.c, is made to initialize the poll m } To fully understand this code, it is recommended to study the chapters that relate to the *Poll Mode Driver* -in the *Intel® DPDK Getting Started Guide* and the *Intel® DPDK API Reference*. +in the *DPDK Getting Started Guide* and the *DPDK API Reference*. Shared Variables Setup ^^^^^^^^^^^^^^^^^^^^^^ @@ -300,7 +300,7 @@ This ring is the first in the pipeline and will hold the packets directly coming pair_ports(); The configure_eth_port() and init_ring() functions are used to configure a port and a ring respectively and are defined in init.c. -They make use of the Intel® DPDK APIs defined in rte_eth.h and rte_ring.h. +They make use of the DPDK APIs defined in rte_eth.h and rte_ring.h. pair_ports() builds the port_pairs[] array so that its key-value pairs are a mapping between reception and transmission ports. It is defined in init.c. diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst index 38b413a4c0..867a7a7400 100644 --- a/doc/guides/sample_app_ug/test_pipeline.rst +++ b/doc/guides/sample_app_ug/test_pipeline.rst @@ -31,8 +31,8 @@ Test Pipeline Application ========================= -The Test Pipeline application illustrates the use of the Intel® DPDK Packet Framework tool suite. -Its purpose is to demonstrate the performance of single-table Intel® DPDK pipelines. +The Test Pipeline application illustrates the use of the DPDK Packet Framework tool suite. +Its purpose is to demonstrate the performance of single-table DPDK pipelines. Overview -------- @@ -41,7 +41,7 @@ The application uses three CPU cores: * Core A ("RX core") receives traffic from the NIC ports and feeds core B with traffic through SW queues. -* Core B ("Pipeline core") implements a single-table Intel® DPDK pipeline +* Core B ("Pipeline core") implements a single-table DPDK pipeline whose type is selectable through specific command line parameter. Core B receives traffic from core A through software queues, processes it according to the actions configured in the table entries that @@ -122,14 +122,14 @@ For hash tables, the following parameters can be selected: | **#** | **TABLE_TYPE** | **Description of Core B Table** | **Pre-added Table Entries** | | | | | | +=======+========================+==========================================================+=======================================================+ -| 1 | none | Core B is not implementing an Intel® DPDK pipeline. | N/A | +| 1 | none | Core B is not implementing a DPDK pipeline. | N/A | | | | Core B is implementing a pass-through from its input set | | | | | of software queues to its output set of software queues. | | | | | | | +-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ | 2 | stub | Stub table. Core B is implementing the same pass-through | N/A | | | | functionality as described for the "none" option by | | -| | | using the Intel® DPDK Packet Framework by using one | | +| | | using the DPDK Packet Framework by using one | | | | | stub table for each input NIC port. | | | | | | | +-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ diff --git a/doc/guides/sample_app_ug/timer.rst b/doc/guides/sample_app_ug/timer.rst index bdd57d947f..d7f17f51ca 100644 --- a/doc/guides/sample_app_ug/timer.rst +++ b/doc/guides/sample_app_ug/timer.rst @@ -31,7 +31,7 @@ Timer Sample Application ======================== -The Timer sample application is a simple application that demonstrates the use of a timer in an Intel® DPDK application. +The Timer sample application is a simple application that demonstrates the use of a timer in a DPDK application. This application prints some messages from different lcores regularly, demonstrating the use of timers. Compiling the Application @@ -49,7 +49,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible *RTE_TARGET* values. + See the *DPDK Getting Started Guide* for possible *RTE_TARGET* values. #. Build the application: @@ -66,7 +66,7 @@ To run the example in linuxapp environment: $ ./build/timer -c f -n 4 -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst index b605b24789..fa53db679b 100644 --- a/doc/guides/sample_app_ug/vhost.rst +++ b/doc/guides/sample_app_ug/vhost.rst @@ -32,7 +32,7 @@ Vhost Sample Application ======================== -The vhost sample application demonstrates integration of the Intel® Data Plane Development Kit (Intel® DPDK) +The vhost sample application demonstrates integration of the Data Plane Development Kit (DPDK) with the Linux* KVM hypervisor by implementing the vhost-net offload API. The sample application performs simple packet switching between virtual machines based on Media Access Control (MAC) address or Virtual Local Area Network (VLAN) tag. @@ -86,14 +86,14 @@ The following figure shows the system architecture for virtio-net networking wit Sample Code Overview -------------------- -The Intel® DPDK vhost-net sample code demonstrates KVM (QEMU) offloading the servicing of a Virtual Machine's (VM's) -virtio-net devices to an Intel® DPDK-based application in place of the kernel's vhost-net module. +The DPDK vhost-net sample code demonstrates KVM (QEMU) offloading the servicing of a Virtual Machine's (VM's) +virtio-net devices to a DPDK-based application in place of the kernel's vhost-net module. -The Intel® DPDK vhost-net sample code is a simple packet switching application with the following features: +The DPDK vhost-net sample code is a simple packet switching application with the following features: * Management of virtio-net device creation/destruction events. -* Mapping of the VM's physical memory into the Intel® DPDK vhost-net sample code's address space. +* Mapping of the VM's physical memory into the DPDK vhost-net sample code's address space. * Triggering/receiving notifications to/from VMs via eventfds. @@ -196,9 +196,9 @@ VMs with gigabytes of memory can benefit from having QEMU allocate their memory **Vhost Sample Code** -In this section, we create a second hugetlbs mount point to allocate hugepages for the Intel® DPDK vhost sample code. +In this section, we create a second hugetlbs mount point to allocate hugepages for the DPDK vhost sample code. -#. Allocate sufficient 2 MB pages for the Intel® DPDK vhost sample code: +#. Allocate sufficient 2 MB pages for the DPDK vhost sample code: .. code-block:: console @@ -239,7 +239,7 @@ The above steps can be automated by doing the following: Setting up the Guest Execution Environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -It is recommended for testing purposes that the Intel® DPDK testpmd sample application is used in the guest to forward packets, +It is recommended for testing purposes that the DPDK testpmd sample application is used in the guest to forward packets, the reasons for this are discussed in Section 22.7, "Running the Virtual Machine (QEMU)". The testpmd application forwards packets between pairs of Ethernet devices, @@ -275,7 +275,7 @@ Compiling the Sample Code export RTE_TARGET=x86_64-native-linuxapp-gcc - See the Intel® DPDK Getting Started Guide for possible RTE_TARGET values. + See the DPDK Getting Started Guide for possible RTE_TARGET values. #. Build the application: @@ -358,13 +358,13 @@ Running the Sample Code .. note:: - Please note the huge-dir parameter instructs the Intel® DPDK to allocate its memory from the 2 MB page hugetlbfs. + Please note the huge-dir parameter instructs the DPDK to allocate its memory from the 2 MB page hugetlbfs. Parameters ~~~~~~~~~~ **Basename and Index.** -The Intel® DPDK vhost-net sample code uses a Linux* character device to communicate with QEMU. +The DPDK vhost-net sample code uses a Linux* character device to communicate with QEMU. The basename and the index are used to generate the character devices name. /dev/- @@ -485,7 +485,7 @@ QEMU must be executed with specific parameters to: user@target:~$ qemu-system-x86_64 ... -device virtio-net-pci, netdev=hostnet1,id=net1,csum=off,gso=off,guest_tso4=off,guest_ tso6=off,guest_ecn=off -* Redirect QEMU to communicate with the Intel® DPDK vhost-net sample code in place of the vhost-net kernel module. +* Redirect QEMU to communicate with the DPDK vhost-net sample code in place of the vhost-net kernel module. .. code-block:: console @@ -521,7 +521,7 @@ an open file descriptor must be passed to QEMU running as a child process. Mapping the Virtual Machine's Memory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For the Intel® DPDK vhost-net sample code to be run correctly, QEMU must allocate the VM's memory on hugetlbfs. +For the DPDK vhost-net sample code to be run correctly, QEMU must allocate the VM's memory on hugetlbfs. This is done by specifying mem-prealloc and mem-path when executing QEMU. The vhost-net sample code accesses the virtio-net device's virtual rings and packet buffers by finding and mapping the VM's physical memory on hugetlbfs. @@ -593,7 +593,7 @@ To call the QEMU wrapper automatically from libvirt, the following configuration - * Enable libvirt to access the Intel® DPDK Vhost sample code's character device file by adding it + * Enable libvirt to access the DPDK Vhost sample code's character device file by adding it to controllers cgroup for libvirtd using the following steps: .. code-block:: xml @@ -630,8 +630,8 @@ To call the QEMU wrapper automatically from libvirt, the following configuration emul_path = "/usr/local/bin/qemu-system-x86_64" - * Configure the "us_vhost_path" variable to point to the Intel® DPDK vhost- net sample code's character devices name. - Intel® DPDK vhost-net sample code's character device will be in the format "/dev/-". + * Configure the "us_vhost_path" variable to point to the DPDK vhost- net sample code's character devices name. + DPDK vhost-net sample code's character device will be in the format "/dev/-". .. code-block:: xml @@ -654,19 +654,19 @@ The number of free hugepages can be checked as follows: The command above indicates how many hugepages are free to support QEMU's allocation request. -Running Intel® DPDK in the Virtual Machine ------------------------------------------- +Running DPDK in the Virtual Machine +----------------------------------- -For the Intel® DPDK vhost-net sample code to switch packets into the VM, +For the DPDK vhost-net sample code to switch packets into the VM, the sample code must first learn the MAC address of the VM's virtio-net device. The sample code detects the address from packets being transmitted from the VM, similar to a learning switch. This behavior requires no special action or configuration with the Linux* virtio-net driver in the VM as the Linux* Kernel will automatically transmit packets during device initialization. -However, Intel® DPDK-based applications must be modified to automatically transmit packets during initialization -to facilitate the Intel® DPDK vhost- net sample code's MAC learning. +However, DPDK-based applications must be modified to automatically transmit packets during initialization +to facilitate the DPDK vhost- net sample code's MAC learning. -The Intel® DPDK testpmd application can be configured to automatically transmit packets during initialization +The DPDK testpmd application can be configured to automatically transmit packets during initialization and to act as an L2 forwarding switch. Testpmd MAC Forwarding @@ -676,7 +676,7 @@ At high packet rates, a minor packet loss may be observed. To resolve this issue, a "wait and retry" mode is implemented in the testpmd and vhost sample code. In the "wait and retry" mode if the virtqueue is found to be full, then testpmd waits for a period of time before retrying to enqueue packets. -The "wait and retry" algorithm is implemented in Intel® DPDK testpmd as a forwarding method call "mac_retry". +The "wait and retry" algorithm is implemented in DPDK testpmd as a forwarding method call "mac_retry". The following sequence diagram describes the algorithm in detail. .. _figure_20: @@ -690,7 +690,7 @@ The following sequence diagram describes the algorithm in detail. Running Testpmd ~~~~~~~~~~~~~~~ -The testpmd application is automatically built when Intel® DPDK is installed. +The testpmd application is automatically built when DPDK is installed. Run the testpmd application as follows: .. code-block:: console @@ -718,7 +718,7 @@ The testpmd application can then be configured to act as an L2 forwarding applic testpmd> set fwd mac_retry The testpmd can then be configured to start processing packets, -transmitting packets first so the Intel® DPDK vhost sample code on the host can learn the MAC address: +transmitting packets first so the DPDK vhost sample code on the host can learn the MAC address: .. code-block:: console @@ -733,10 +733,10 @@ Passing Traffic to the Virtual Machine Device For a virtio-net device to receive traffic, the traffic's Layer 2 header must include both the virtio-net device's MAC address and VLAN tag. -The Intel® DPDK sample code behaves in a similar manner to a learning switch in that +The DPDK sample code behaves in a similar manner to a learning switch in that it learns the MAC address of the virtio-net devices from the first transmitted packet. On learning the MAC address, -the Intel® DPDK vhost sample code prints a message with the MAC address and VLAN tag virtio-net device. +the DPDK vhost sample code prints a message with the MAC address and VLAN tag virtio-net device. For example: .. code-block:: console @@ -745,7 +745,7 @@ For example: The above message indicates that device 0 has been registered with MAC address cc:bb:bb:bb:bb:bb and VLAN tag 1000. Any packets received on the NIC with these values is placed on the devices receive queue. -When a virtio-net device transmits packets, the VLAN tag is added to the packet by the Intel® DPDK vhost sample code. +When a virtio-net device transmits packets, the VLAN tag is added to the packet by the DPDK vhost sample code. .. |vhost_net_arch| image:: img/vhost_net_arch.png diff --git a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst index 715613f04a..15c783a883 100644 --- a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst +++ b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst @@ -31,14 +31,14 @@ VMDQ and DCB Forwarding Sample Application ========================================== -The VMDQ and DCB Forwarding sample application is a simple example of packet processing using the Intel® DPDK. +The VMDQ and DCB Forwarding sample application is a simple example of packet processing using the DPDK. The application performs L2 forwarding using VMDQ and DCB to divide the incoming traffic into 128 queues. The traffic splitting is performed in hardware by the VMDQ and DCB features of the Intel® 82599 10 Gigabit Ethernet Controller. Overview -------- -This sample application can be used as a starting point for developing a new application that is based on the Intel® DPDK and +This sample application can be used as a starting point for developing a new application that is based on the DPDK and uses VMDQ and DCB for traffic partitioning. The VMDQ and DCB filters work on VLAN traffic to divide the traffic into 128 input queues on the basis of the VLAN ID field and @@ -47,7 +47,7 @@ VMDQ filters split the traffic into 16 or 32 groups based on the VLAN ID. Then, DCB places each packet into one of either 4 or 8 queues within that group, based upon the VLAN user priority field. In either case, 16 groups of 8 queues, or 32 groups of 4 queues, the traffic can be split into 128 hardware queues on the NIC, -each of which can be polled individually by an Intel® DPDK application. +each of which can be polled individually by a DPDK application. All traffic is read from a single incoming port (port 0) and output on port 1, without any processing being performed. The traffic is split into 128 queues on input, where each thread of the application reads from multiple queues. @@ -102,7 +102,7 @@ Compiling the Application export RTE_TARGET=x86_64-native-linuxapp-gcc - See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + See the *DPDK Getting Started Guide* for possible RTE_TARGET values. #. Build the application: @@ -119,7 +119,7 @@ To run the example in a linuxapp environment: user@target:~$ ./build/vmdq_dcb -c f -n 4 -- -p 0x3 --nb-pools 16 -Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +Refer to the *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. Explanation -- 2.20.1