doc: drop old naming of the project
authorThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 8 Feb 2016 10:30:07 +0000 (11:30 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 10 Feb 2016 14:47:51 +0000 (15:47 +0100)
It was requested by Intel, more than one year ago, to replace the name
"Intel DPDK" by "DPDK".
Some references to the old name were still in some docs and code comments,
leading to confusion.

Fixes: ac8ada004c12 ("doc: remove Intel references from release notes")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
18 files changed:
doc/guides/linux_gsg/intro.rst
doc/guides/nics/intel_vf.rst
doc/guides/nics/pcap_ring.rst
doc/guides/prog_guide/extend_dpdk.rst [new file with mode: 0644]
doc/guides/prog_guide/extend_intel_dpdk.rst [deleted file]
doc/guides/prog_guide/index.rst
doc/guides/prog_guide/thread_safety_dpdk_functions.rst [new file with mode: 0644]
doc/guides/prog_guide/thread_safety_intel_dpdk_functions.rst [deleted file]
doc/guides/rel_notes/known_issues.rst
doc/guides/sample_app_ug/cmd_line.rst
examples/ip_pipeline/config/tm_profile.cfg
examples/qos_sched/profile.cfg
lib/librte_eal/common/include/rte_common.h
lib/librte_eal/common/include/rte_eal.h
lib/librte_eal/common/include/rte_version.h
lib/librte_pipeline/rte_pipeline.h
lib/librte_port/rte_port.h
lib/librte_table/rte_table.h

index eef7e83..a812f5c 100644 (file)
@@ -31,7 +31,7 @@
 Introduction
 ============
 
-This document contains instructions for installing and configuring the Intel® Data Plane Development Kit (DPDK) software.
+This document contains instructions for installing and configuring the Data Plane Development Kit (DPDK) software.
 It is designed to get customers up and running quickly.
 The document describes how to compile and run a DPDK application in a Linux application (linuxapp) environment,
 without going deeply into detail.
index db86c64..a68198f 100644 (file)
@@ -278,7 +278,7 @@ For example,
         rmmod igb (To remove the igb module)
         insmod igb max_vfs=2,2 (To enable two Virtual Functions per port)
 
-*   Using Intel®  DPDK PMD PF igb driver:
+*   Using DPDK PMD PF igb driver:
 
     Kernel Params: iommu=pt, intel_iommu=on modprobe uio
 
index 46aa3ac..aa48d33 100644 (file)
@@ -45,7 +45,7 @@ the DPDK also includes two pure-software PMDs. These two drivers are:
     The libpcap -based PMD is disabled by default in the build configuration files,
     owing to an external dependency on the libpcap development files which must be installed on the board.
     Once the libpcap development files are installed,
-    the library can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the Intel®  DPDK.
+    the library can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the DPDK.
 
 Using the Drivers from the EAL Command Line
 -------------------------------------------
diff --git a/doc/guides/prog_guide/extend_dpdk.rst b/doc/guides/prog_guide/extend_dpdk.rst
new file mode 100644 (file)
index 0000000..51f0b5c
--- /dev/null
@@ -0,0 +1,136 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Extending the DPDK
+=========================
+
+This chapter describes how a developer can extend the DPDK to provide a new library,
+a new target, or support a new target.
+
+Example: Adding a New Library libfoo
+------------------------------------
+
+To add a new library to the DPDK, proceed as follows:
+
+#.  Add a new configuration option:
+
+   .. code-block:: bash
+
+        for f in config/\*; do \
+            echo CONFIG_RTE_LIBFOO=y >> $f; done
+
+#.  Create a new directory with sources:
+
+   .. code-block:: console
+
+        mkdir ${RTE_SDK}/lib/libfoo
+        touch ${RTE_SDK}/lib/libfoo/foo.c
+        touch ${RTE_SDK}/lib/libfoo/foo.h
+
+#.  Add a foo() function in libfoo.
+
+    Definition is in foo.c:
+
+    .. code-block:: c
+
+        void foo(void)
+        {
+        }
+
+    Declaration is in foo.h:
+
+    .. code-block:: c
+
+        extern void foo(void);
+
+
+#.  Update lib/Makefile:
+
+    .. code-block:: console
+
+        vi ${RTE_SDK}/lib/Makefile
+        # add:
+        # DIRS-$(CONFIG_RTE_LIBFOO) += libfoo
+
+#.  Create a new Makefile for this library, for example, derived from mempool Makefile:
+
+    .. code-block:: console
+
+        cp ${RTE_SDK}/lib/librte_mempool/Makefile ${RTE_SDK}/lib/libfoo/
+
+        vi ${RTE_SDK}/lib/libfoo/Makefile
+        # replace:
+        # librte_mempool -> libfoo
+        # rte_mempool -> foo
+
+
+#.  Update mk/DPDK.app.mk, and add -lfoo in LDLIBS variable when the option is enabled.
+    This will automatically add this flag when linking a DPDK application.
+
+
+#.  Build the DPDK with the new library (we only show a specific target here):
+
+    .. code-block:: console
+
+        cd ${RTE_SDK}
+        make config T=x86_64-native-linuxapp-gcc
+        make
+
+
+#.  Check that the library is installed:
+
+    .. code-block:: console
+
+        ls build/lib
+        ls build/include
+
+Example: Using libfoo in the Test Application
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The test application is used to validate all functionality of the DPDK.
+Once you have added a library, a new test case should be added in the test application.
+
+*   A new test_foo.c file should be added, that includes foo.h and calls the foo() function from test_foo().
+    When the test passes, the test_foo() function should return 0.
+
+*   Makefile, test.h and commands.c must be updated also, to handle the new test case.
+
+*   Test report generation: autotest.py is a script that is used to generate the test report that is available in the
+    ${RTE_SDK}/doc/rst/test_report/autotests directory. This script must be updated also.
+    If libfoo is in a new test family, the links in ${RTE_SDK}/doc/rst/test_report/test_report.rst must be updated.
+
+*   Build the DPDK with the updated test application (we only show a specific target here):
+
+
+    .. code-block:: console
+
+        cd ${RTE_SDK}
+        make config T=x86_64-native-linuxapp-gcc
+        make
diff --git a/doc/guides/prog_guide/extend_intel_dpdk.rst b/doc/guides/prog_guide/extend_intel_dpdk.rst
deleted file mode 100644 (file)
index 51f0b5c..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-..  BSD LICENSE
-    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-
-    * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-    * Neither the name of Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived
-    from this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Extending the DPDK
-=========================
-
-This chapter describes how a developer can extend the DPDK to provide a new library,
-a new target, or support a new target.
-
-Example: Adding a New Library libfoo
-------------------------------------
-
-To add a new library to the DPDK, proceed as follows:
-
-#.  Add a new configuration option:
-
-   .. code-block:: bash
-
-        for f in config/\*; do \
-            echo CONFIG_RTE_LIBFOO=y >> $f; done
-
-#.  Create a new directory with sources:
-
-   .. code-block:: console
-
-        mkdir ${RTE_SDK}/lib/libfoo
-        touch ${RTE_SDK}/lib/libfoo/foo.c
-        touch ${RTE_SDK}/lib/libfoo/foo.h
-
-#.  Add a foo() function in libfoo.
-
-    Definition is in foo.c:
-
-    .. code-block:: c
-
-        void foo(void)
-        {
-        }
-
-    Declaration is in foo.h:
-
-    .. code-block:: c
-
-        extern void foo(void);
-
-
-#.  Update lib/Makefile:
-
-    .. code-block:: console
-
-        vi ${RTE_SDK}/lib/Makefile
-        # add:
-        # DIRS-$(CONFIG_RTE_LIBFOO) += libfoo
-
-#.  Create a new Makefile for this library, for example, derived from mempool Makefile:
-
-    .. code-block:: console
-
-        cp ${RTE_SDK}/lib/librte_mempool/Makefile ${RTE_SDK}/lib/libfoo/
-
-        vi ${RTE_SDK}/lib/libfoo/Makefile
-        # replace:
-        # librte_mempool -> libfoo
-        # rte_mempool -> foo
-
-
-#.  Update mk/DPDK.app.mk, and add -lfoo in LDLIBS variable when the option is enabled.
-    This will automatically add this flag when linking a DPDK application.
-
-
-#.  Build the DPDK with the new library (we only show a specific target here):
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linuxapp-gcc
-        make
-
-
-#.  Check that the library is installed:
-
-    .. code-block:: console
-
-        ls build/lib
-        ls build/include
-
-Example: Using libfoo in the Test Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The test application is used to validate all functionality of the DPDK.
-Once you have added a library, a new test case should be added in the test application.
-
-*   A new test_foo.c file should be added, that includes foo.h and calls the foo() function from test_foo().
-    When the test passes, the test_foo() function should return 0.
-
-*   Makefile, test.h and commands.c must be updated also, to handle the new test case.
-
-*   Test report generation: autotest.py is a script that is used to generate the test report that is available in the
-    ${RTE_SDK}/doc/rst/test_report/autotests directory. This script must be updated also.
-    If libfoo is in a new test family, the links in ${RTE_SDK}/doc/rst/test_report/test_report.rst must be updated.
-
-*   Build the DPDK with the updated test application (we only show a specific target here):
-
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linuxapp-gcc
-        make
index 9359f2e..a9404fb 100644 (file)
@@ -53,7 +53,7 @@ Programmer's Guide
     ip_fragment_reassembly_lib
     multi_proc_support
     kernel_nic_interface
-    thread_safety_intel_dpdk_functions
+    thread_safety_dpdk_functions
     qos_framework
     power_man
     packet_classif_access_ctrl
@@ -63,7 +63,7 @@ Programmer's Guide
     source_org
     dev_kit_build_system
     dev_kit_root_make_help
-    extend_intel_dpdk
+    extend_dpdk
     build_app
     ext_app_lib_make_help
     perf_opt_guidelines
diff --git a/doc/guides/prog_guide/thread_safety_dpdk_functions.rst b/doc/guides/prog_guide/thread_safety_dpdk_functions.rst
new file mode 100644 (file)
index 0000000..403e5fc
--- /dev/null
@@ -0,0 +1,102 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Thread Safety of DPDK Functions
+===============================
+
+The DPDK is comprised of several libraries.
+Some of the functions in these libraries can be safely called from multiple threads simultaneously, while others cannot.
+This section allows the developer to take these issues into account when building their own application.
+
+The run-time environment of the DPDK is typically a single thread per logical core.
+In some cases, it is not only multi-threaded, but multi-process.
+Typically, it is best to avoid sharing data structures between threads and/or processes where possible.
+Where this is not possible, then the execution blocks must access the data in a thread- safe manner.
+Mechanisms such as atomics or locking can be used that will allow execution blocks to operate serially.
+However, this can have an effect on the performance of the application.
+
+Fast-Path APIs
+--------------
+
+Applications operating in the data plane are performance sensitive but
+certain functions within those libraries may not be safe to call from multiple threads simultaneously.
+The hash, LPM and mempool libraries and RX/TX in the PMD are examples of this.
+
+The hash and LPM libraries are, by design, thread unsafe in order to maintain performance.
+However, if required the developer can add layers on top of these libraries to provide thread safety.
+Locking is not needed in all situations, and in both the hash and LPM libraries,
+lookups of values can be performed in parallel in multiple threads.
+Adding, removing or modifying values, however,
+cannot be done in multiple threads without using locking when a single hash or LPM table is accessed.
+Another alternative to locking would be to create multiple instances of these tables allowing each thread its own copy.
+
+The RX and TX of the PMD are the most critical aspects of a DPDK application
+and it is recommended that no locking be used as it will impact performance.
+Note, however, that these functions can safely be used from multiple threads
+when each thread is performing I/O on a different NIC queue.
+If multiple threads are to use the same hardware queue on the same NIC port,
+then locking, or some other form of mutual exclusion, is necessary.
+
+The ring library is based on a lockless ring-buffer algorithm that maintains its original design for thread safety.
+Moreover, it provides high performance for either multi- or single-consumer/producer enqueue/dequeue operations.
+The mempool library is based on the DPDK lockless ring library and therefore is also multi-thread safe.
+
+Performance Insensitive API
+---------------------------
+
+Outside of the performance sensitive areas described in Section 25.1,
+the DPDK provides a thread-safe API for most other libraries.
+For example, malloc and memzone functions are safe for use in multi-threaded and multi-process environments.
+
+The setup and configuration of the PMD is not performance sensitive, but is not thread safe either.
+It is possible that the multiple read/writes during PMD setup and configuration could be corrupted in a multi-thread environment.
+Since this is not performance sensitive, the developer can choose to add their own layer to provide thread-safe setup and configuration.
+It is expected that, in most applications, the initial configuration of the network ports would be done by a single thread at startup.
+
+Library Initialization
+----------------------
+
+It is recommended that DPDK libraries are initialized in the main thread at application startup
+rather than subsequently in the forwarding threads.
+However, the DPDK performs checks to ensure that libraries are only initialized once.
+If initialization is attempted more than once, an error is returned.
+
+In the multi-process case, the configuration information of shared memory will only be initialized by the master process.
+Thereafter, both master and secondary processes can allocate/release any objects of memory that finally rely on rte_malloc or memzones.
+
+Interrupt Thread
+----------------
+
+The DPDK works almost entirely in Linux user space in polling mode.
+For certain infrequent operations, such as receiving a PMD link status change notification,
+callbacks may be called in an additional thread outside the main DPDK processing threads.
+These function callbacks should avoid manipulating DPDK objects that are also managed by the normal DPDK threads,
+and if they need to do so,
+it is up to the application to provide the appropriate locking or mutual exclusion restrictions around those objects.
diff --git a/doc/guides/prog_guide/thread_safety_intel_dpdk_functions.rst b/doc/guides/prog_guide/thread_safety_intel_dpdk_functions.rst
deleted file mode 100644 (file)
index 403e5fc..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-..  BSD LICENSE
-    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-
-    * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-    * Neither the name of Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived
-    from this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Thread Safety of DPDK Functions
-===============================
-
-The DPDK is comprised of several libraries.
-Some of the functions in these libraries can be safely called from multiple threads simultaneously, while others cannot.
-This section allows the developer to take these issues into account when building their own application.
-
-The run-time environment of the DPDK is typically a single thread per logical core.
-In some cases, it is not only multi-threaded, but multi-process.
-Typically, it is best to avoid sharing data structures between threads and/or processes where possible.
-Where this is not possible, then the execution blocks must access the data in a thread- safe manner.
-Mechanisms such as atomics or locking can be used that will allow execution blocks to operate serially.
-However, this can have an effect on the performance of the application.
-
-Fast-Path APIs
---------------
-
-Applications operating in the data plane are performance sensitive but
-certain functions within those libraries may not be safe to call from multiple threads simultaneously.
-The hash, LPM and mempool libraries and RX/TX in the PMD are examples of this.
-
-The hash and LPM libraries are, by design, thread unsafe in order to maintain performance.
-However, if required the developer can add layers on top of these libraries to provide thread safety.
-Locking is not needed in all situations, and in both the hash and LPM libraries,
-lookups of values can be performed in parallel in multiple threads.
-Adding, removing or modifying values, however,
-cannot be done in multiple threads without using locking when a single hash or LPM table is accessed.
-Another alternative to locking would be to create multiple instances of these tables allowing each thread its own copy.
-
-The RX and TX of the PMD are the most critical aspects of a DPDK application
-and it is recommended that no locking be used as it will impact performance.
-Note, however, that these functions can safely be used from multiple threads
-when each thread is performing I/O on a different NIC queue.
-If multiple threads are to use the same hardware queue on the same NIC port,
-then locking, or some other form of mutual exclusion, is necessary.
-
-The ring library is based on a lockless ring-buffer algorithm that maintains its original design for thread safety.
-Moreover, it provides high performance for either multi- or single-consumer/producer enqueue/dequeue operations.
-The mempool library is based on the DPDK lockless ring library and therefore is also multi-thread safe.
-
-Performance Insensitive API
----------------------------
-
-Outside of the performance sensitive areas described in Section 25.1,
-the DPDK provides a thread-safe API for most other libraries.
-For example, malloc and memzone functions are safe for use in multi-threaded and multi-process environments.
-
-The setup and configuration of the PMD is not performance sensitive, but is not thread safe either.
-It is possible that the multiple read/writes during PMD setup and configuration could be corrupted in a multi-thread environment.
-Since this is not performance sensitive, the developer can choose to add their own layer to provide thread-safe setup and configuration.
-It is expected that, in most applications, the initial configuration of the network ports would be done by a single thread at startup.
-
-Library Initialization
-----------------------
-
-It is recommended that DPDK libraries are initialized in the main thread at application startup
-rather than subsequently in the forwarding threads.
-However, the DPDK performs checks to ensure that libraries are only initialized once.
-If initialization is attempted more than once, an error is returned.
-
-In the multi-process case, the configuration information of shared memory will only be initialized by the master process.
-Thereafter, both master and secondary processes can allocate/release any objects of memory that finally rely on rte_malloc or memzones.
-
-Interrupt Thread
-----------------
-
-The DPDK works almost entirely in Linux user space in polling mode.
-For certain infrequent operations, such as receiving a PMD link status change notification,
-callbacks may be called in an additional thread outside the main DPDK processing threads.
-These function callbacks should avoid manipulating DPDK objects that are also managed by the normal DPDK threads,
-and if they need to do so,
-it is up to the application to provide the appropriate locking or mutual exclusion restrictions around those objects.
index 9f1fcdb..b782091 100644 (file)
@@ -163,7 +163,7 @@ Not all variants of supported NIC types have been used in testing
 
 **Description**:
    The supported network interface cards can come in a number of variants with different device ID's.
-   Not all of these variants have been tested with the Intel® DPDK.
+   Not all of these variants have been tested with the DPDK.
 
    The NIC device identifiers used during testing:
 
@@ -210,7 +210,7 @@ Multi-process sample app requires exact memory mapping
    A multi-process client application fails to initialize.
 
 **Resolution/Workaround**:
-   See the "Multi-process Limitations" section in the Intel®  DPDK Programmer's Guide for more information.
+   See the "Multi-process Limitations" section in the DPDK Programmer's Guide for more information.
 
 **Affected Environment/Platform**:
    All.
@@ -468,7 +468,7 @@ GCC might generate Intel® AVX instructions for processors without Intel® AVX s
 ------------------------------------------------------------------------------------
 
 **Description**:
-   When compiling Intel®  DPDK (and any DPDK app), gcc may generate Intel® AVX instructions, even when the
+   When compiling DPDK (and any DPDK app), gcc may generate Intel® AVX instructions, even when the
    processor does not support Intel® AVX.
 
 **Implication**:
index 6a72959..02a295f 100644 (file)
@@ -45,7 +45,7 @@ to debug a DPDK application, in a Linux* application environment.
 .. note::
 
     The rte_cmdline library should not be used in production code since
-    it is not validated to the same standard as other Intel®  DPDK libraries.
+    it is not validated to the same standard as other DPDK libraries.
     See also the "rte_cmdline library should not be used in production code due to limited testing" item
     in the "Known Issues" section of the Release Notes.
 
index 53edb67..2dfb215 100644 (file)
@@ -41,7 +41,7 @@
 ;         are set to 1:1:1:1
 ;
 ; For more details, please refer to chapter "Quality of Service (QoS) Framework"
-; of Intel Data Plane Development Kit (Intel DPDK) Programmer's Guide.
+; of Data Plane Development Kit (DPDK) Programmer's Guide.
 
 ; Port configuration
 [port]
index 10180c2..f5b704c 100644 (file)
@@ -41,7 +41,7 @@
 ;         are set to 1:1:1:1
 ;
 ; For more details, please refer to chapter "Quality of Service (QoS) Framework"
-; of Intel Data Plane Development Kit (Intel DPDK) Programmer's Guide.
+; of Data Plane Development Kit (DPDK) Programmer's Guide.
 
 ; Port configuration
 [port]
index b58a384..332f2a4 100644 (file)
@@ -38,7 +38,7 @@
  * @file
  *
  * Generic, commonly-used macro and inline function definitions
- * for Intel DPDK.
+ * for DPDK.
  */
 
 #ifdef __cplusplus
index d2816a8..0e99c31 100644 (file)
@@ -86,7 +86,7 @@ struct rte_config {
 
        /**
         * Pointer to memory configuration, which may be shared across multiple
-        * Intel DPDK instances
+        * DPDK instances
         */
        struct rte_mem_config *mem_config;
 } __attribute__((__packed__));
index 6b1890e..0baf130 100644 (file)
@@ -33,7 +33,7 @@
 
 /**
  * @file
- * Definitions of Intel(R) DPDK version numbers
+ * Definitions of DPDK version numbers
  */
 
 #ifndef _RTE_VERSION_H_
index 5459324..7302a62 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @file
  * RTE Pipeline
  *
- * This tool is part of the Intel DPDK Packet Framework tool suite and provides
+ * This tool is part of the DPDK Packet Framework tool suite and provides
  * a standard methodology (logically similar to OpenFlow) for rapid development
  * of complex packet processing pipelines out of ports, tables and actions.
  *
index 00b97a9..c3c5348 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @file
  * RTE Port
  *
- * This tool is part of the Intel DPDK Packet Framework tool suite and provides
+ * This tool is part of the DPDK Packet Framework tool suite and provides
  * a standard interface to implement different types of packet ports.
  *
  ***/
index 720514e..d3446a5 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @file
  * RTE Table
  *
- * This tool is part of the Intel DPDK Packet Framework tool suite and provides
+ * This tool is part of the DPDK Packet Framework tool suite and provides
  * a standard interface to implement different types of lookup tables for data
  * plane processing.
  *