From mboxrd@z Thu Jan 1 00:00:00 1970 From: John McNamara Subject: =?utf-8?q?=5BPATCH=5D_doc=3A_restructured_release_note?= =?utf-8?q?s_documentation?= Date: Tue, 11 Aug 2015 12:57:42 +0100 Message-ID: <1439294262-28622-1-git-send-email-john.mcnamara@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: dev@dpdk.org Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 94D475A6D for ; Tue, 11 Aug 2015 13:57:49 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Restructured the Release Notes documentation into a more useful structure that is easier to use and to update between releases. The main changes are: * Each release version has it's own section with New Features, Resolved Issues, Known Issues and API/ABI Changes. * Redundant sections have been removed. * The FAQ section have been moved to a standalone document. * The Known Issues tables have been changed to definition lists. Signed-off-by: John McNamara --- doc/guides/faq/faq.rst | 240 +++++ doc/guides/faq/index.rst | 42 + doc/guides/index.rst | 1 + doc/guides/rel_notes/deprecation.rst | 7 +- doc/guides/rel_notes/faq.rst | 228 ----- doc/guides/rel_notes/index.rst | 14 +- doc/guides/rel_notes/known_issues.rst | 1232 ++++++++++-----------= -- doc/guides/rel_notes/new_features.rst | 129 --- doc/guides/rel_notes/rel_description.rst | 145 +-- doc/guides/rel_notes/release_1_8.rst | 64 ++ doc/guides/rel_notes/release_2_0.rst | 133 +++ doc/guides/rel_notes/release_2_1.rst | 69 ++ doc/guides/rel_notes/resolved_issues.rst | 1395 ---------------------= ------ doc/guides/rel_notes/supported_features.rst | 396 -------- doc/guides/rel_notes/supported_os.rst | 14 +- doc/guides/rel_notes/updating_apps.rst | 136 --- 16 files changed, 1061 insertions(+), 3184 deletions(-) create mode 100644 doc/guides/faq/faq.rst create mode 100644 doc/guides/faq/index.rst delete mode 100644 doc/guides/rel_notes/faq.rst delete mode 100644 doc/guides/rel_notes/new_features.rst create mode 100644 doc/guides/rel_notes/release_1_8.rst create mode 100644 doc/guides/rel_notes/release_2_0.rst create mode 100644 doc/guides/rel_notes/release_2_1.rst delete mode 100644 doc/guides/rel_notes/resolved_issues.rst delete mode 100644 doc/guides/rel_notes/supported_features.rst delete mode 100644 doc/guides/rel_notes/updating_apps.rst diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst new file mode 100644 index 0000000..7b2394c --- /dev/null +++ b/doc/guides/faq/faq.rst @@ -0,0 +1,240 @@ +.. 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 FO= R + 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 AN= Y + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +What does "EAL: map_all_hugepages(): open failed: Permission denied Cann= ot init memory" mean? +------------------------------------------------------------------------= --------------------- + +This is most likely due to the test application not being run with sudo = to promote the user to a superuser. +Alternatively, applications can also be run as regular user. +For more information, please refer to :doc:`DPDK Getting Started Guide <= /linux_gsg/index>`. + + +If I want to change the number of TLB Hugepages allocated, how do I remo= ve the original pages allocated? +------------------------------------------------------------------------= -------------------------------- + +The number of pages allocated can be seen by executing the following com= mand:: + + grep Huge /proc/meminfo + +Once all the pages are mmapped by an application, they stay that way. +If you start a test application with less than the maximum, then you hav= e free pages. +When you stop and restart the test application, it looks to see if the p= ages are available in the ``/dev/huge`` directory and mmaps them. +If you look in the directory, you will see ``n`` number of 2M pages file= s. If you specified 1024, you will see 1024 page files. +These are then placed in memory segments to get contiguous memory. + +If you need to change the number of pages, it is easier to first remove = the pages. The tools/setup.sh script provides an option to do this. +See the "Quick Start Setup Script" section in the :doc:`DPDK Getting Sta= rted Guide ` for more information. + + +If I execute "l2fwd -c f -m 64 -n 3 -- -p 3", I get the following output= , indicating that there are no socket 0 hugepages to allocate the mbuf an= d ring structures to? +------------------------------------------------------------------------= -------------------------------------------------------------------------= --------------------- + +I have set up a total of 1024 Hugepages (that is, allocated 512 2M pages= to each NUMA node). + +The -m command line parameter does not guarantee that huge pages will be= reserved on specific sockets. Therefore, allocated huge pages may not be= on socket 0. +To request memory to be reserved on a specific socket, please use the --= socket-mem command-line parameter instead of -m. + + +I am running a 32-bit DPDK application on a NUMA system, and sometimes t= he application initializes fine but cannot allocate memory. Why is that h= appening? +------------------------------------------------------------------------= -------------------------------------------------------------------------= --------- + +32-bit applications have limitations in terms of how much virtual memory= is available, hence the number of hugepages they are able to allocate is= also limited (1 GB per page size). +If your system has a lot (>1 GB per page size) of hugepage memory, not a= ll of it will be allocated. +Due to hugepages typically being allocated on a local NUMA node, the hug= epages allocation the application gets during the initialization depends = on which +NUMA node it is running on (the EAL does not affinitize cores until much= later in the initialization process). +Sometimes, the Linux OS runs the DPDK application on a core that is loca= ted on a different NUMA node from DPDK master core and +therefore all the hugepages are allocated on the wrong socket. + +To avoid this scenario, either lower the amount of hugepage memory avail= able to 1 GB per page size (or less), or run the application with taskset +affinitizing the application to a would-be master core. + +For example, if your EAL coremask is 0xff0, the master core will usually= be the first core in the coremask (0x10); this is what you have to suppl= y to taskset:: + + taskset 0x10 ./l2fwd -c 0xff0 -n 2 + +In this way, the hugepages have a greater chance of being allocated to t= he correct socket. +Additionally, a ``--socket-mem`` option could be used to ensure the avai= lability of memory for each socket, so that if hugepages were allocated o= n +the wrong socket, the application simply will not start. + + +On application startup, there is a lot of EAL information printed. Is th= ere any way to reduce this? +------------------------------------------------------------------------= --------------------------- + +Yes, each EAL has a configuration file that is located in the /config di= rectory. Within each configuration file, you will find CONFIG_RTE_LOG_LEV= EL=3D8. +You can change this to a lower value, such as 6 to reduce this printout = of debug information. The following is a list of LOG levels that can be f= ound in the rte_log.h file. +You must remove, then rebuild, the EAL directory for the change to becom= e effective as the configuration file creates the rte_config.h file in th= e EAL directory. + +.. code-block:: c + + #define RTE_LOG_EMERG 1U /* System is unusable. */ + #define RTE_LOG_ALERT 2U /* Action must be taken immediately. */ + #define RTE_LOG_CRIT 3U /* Critical conditions. */ + #define RTE_LOG_ERR 4U /* Error conditions. */ + #define RTE_LOG_WARNING 5U /* Warning conditions. */ + #define RTE_LOG_NOTICE 6U /* Normal but significant condition. */ + #define RTE_LOG_INFO 7U /* Informational. */ + #define RTE_LOG_DEBUG 8U /* Debug-level messages. */ + + +How can I tune my network application to achieve lower latency? +--------------------------------------------------------------- + +Traditionally, there is a trade-off between throughput and latency. An a= pplication can be tuned to achieve a high throughput, +but the end-to-end latency of an average packet typically increases as a= result. +Similarly, the application can be tuned to have, on average, a low end-t= o-end latency at the cost of lower throughput. + +To achieve higher throughput, the DPDK attempts to aggregate the cost of= processing each packet individually by processing packets in bursts. +Using the testpmd application as an example, the "burst" size can be set= on the command line to a value of 16 (also the default value). +This allows the application to request 16 packets at a time from the PMD= . +The testpmd application then immediately attempts to transmit all the pa= ckets that were received, in this case, all 16 packets. +The packets are not transmitted until the tail pointer is updated on the= corresponding TX queue of the network port. +This behavior is desirable when tuning for high throughput because the c= ost of tail pointer updates to both the RX and TX queues +can be spread across 16 packets, effectively hiding the relatively slow = MMIO cost of writing to the PCIe* device. + +However, this is not very desirable when tuning for low latency, because= the first packet that was received must also wait for the other 15 packe= ts to be received. +It cannot be transmitted until the other 15 packets have also been proce= ssed because the NIC will not know to transmit the packets until the TX t= ail pointer has been updated, +which is not done until all 16 packets have been processed for transmiss= ion. + +To consistently achieve low latency even under heavy system load, the ap= plication developer should avoid processing packets in bunches. +The testpmd application can be configured from the command line to use a= burst value of 1. +This allows a single packet to be processed at a time, providing lower l= atency, but with the added cost of lower throughput. + + +Without NUMA enabled, my network throughput is low, why? +-------------------------------------------------------- + +I have a dual Intel=C2=AE Xeon=C2=AE E5645 processors 2.40 GHz with four= Intel=C2=AE 82599 10 Gigabit Ethernet NICs. +Using eight logical cores on each processor with RSS set to distribute n= etwork load from two 10 GbE interfaces to the cores on each processor. + +Without NUMA enabled, memory is allocated from both sockets, since memor= y is interleaved. +Therefore, each 64B chunk is interleaved across both memory domains. + +The first 64B chunk is mapped to node 0, the second 64B chunk is mapped = to node 1, the third to node 0, the fourth to node 1. +If you allocated 256B, you would get memory that looks like this: + +.. code-block:: console + + 256B buffer + Offset 0x00 - Node 0 + Offset 0x40 - Node 1 + Offset 0x80 - Node 0 + Offset 0xc0 - Node 1 + +Therefore, packet buffers and descriptor rings are allocated from both m= emory domains, thus incurring QPI bandwidth accessing the other memory an= d much higher latency. +For best performance with NUMA disabled, only one socket should be popul= ated. + + +I am getting errors about not being able to open files. Why? +------------------------------------------------------------ + +As the DPDK operates, it opens a lot of files, which can result in reach= ing the open files limits, which is set using the ulimit command or in th= e limits.conf file. +This is especially true when using a large number (>512) of 2 MB huge pa= ges. Please increase the open file limit if your application is not able = to open files. +This can be done either by issuing a ulimit command or editing the limit= s.conf file. Please consult Linux* manpages for usage information. + + +Does my kernel require patching to run the=C2=A0DPDK? +------------------------------------------------ + +Any kernel greater than version 2.6.33 can be used without any patches a= pplied. The following kernels may require patches to provide hugepage sup= port: + +* Kernel version 2.6.32 requires the following patches applied: + + * `mm: hugetlb: add hugepage support to pagemap `_ + + * `mm: hugetlb: fix hugepage memory leak in walk_page_range() `_ + + * `hugetlb: add nodemask arg to huge page alloc, free and surplus = adjust functions `_ + (not mandatory, but recommended on a NUMA system to support per-= NUMA node hugepages allocation) + +* Kernel version 2.6.31, requires the above patches plus the following= : + + * `UIO: Add name attributes for mappings and port regions `_ + + +VF driver for IXGBE devices cannot be initialized +------------------------------------------------- + +Some versions of Linux* IXGBE driver do not assign a random MAC address = to VF devices at initialization. +In this case, this has to be done manually on the VM host, using the fol= lowing command: + +.. code-block:: console + + ip link set vf mac + +where being the interface providing the virtual functions fo= r example, eth0, being the virtual function number, for exa= mple 0, +and being the desired MAC address. + + +Is it safe to add an entry to the hash table while running? +------------------------------------------------------------ +Currently the table implementation is not a thread safe implementation a= nd assumes that locking between threads and processes is handled by the u= ser's application. +This is likely to be supported in future releases. + + +What is the purpose of setting iommu=3Dpt? +---------------------------------------- +DPDK uses a 1:1 mapping and does not support IOMMU. IOMMU allows for sim= pler VM physical address translation. +The second role of IOMMU is to allow protection from unwanted memory acc= ess by an unsafe device that has DMA privileges. +Unfortunately, the protection comes with an extremely high performance c= ost for high speed NICs. + +Setting ``iommu=3Dpt`` disables IOMMU support for the hypervisor. + + +When trying to send packets from an application to itself, meaning smac=3D= =3Ddmac, using Intel(R) 82599 VF packets are lost. +------------------------------------------------------------------------= ------------------------------------------------ + +Check on register ``LLE(PFVMTXSSW[n])``, which allows an individual pool= to send traffic and have it looped back to itself. + + +Can I split packet RX to use DPDK and have an application's higher order= functions continue using Linux* pthread? +------------------------------------------------------------------------= ----------------------------------------- + +The DPDK's lcore threads are Linux* pthreads bound onto specific cores. = Configure the DPDK to do work on the same +cores and run the application's other work on other cores using the DPDK= 's "coremask" setting to specify which +cores it should launch itself on. + + +Is it possible to exchange data between DPDK processes and regular users= pace processes via some shared memory or IPC mechanism? +------------------------------------------------------------------------= ------------------------------------------------------- + +Yes - DPDK processes are regular Linux/BSD processes, and can use all OS= provided IPC mechanisms. + + +Can the multiple queues in Intel(R) I350 be used with DPDK? +----------------------------------------------------------- + +I350 has RSS support and 8 queue pairs can be used in RSS mode. It shoul= d work with multi-queue DPDK applications using RSS. + + +How can hugepage-backed memory be shared among multiple processes? +------------------------------------------------------------------ + +See the Primary and Secondary examples in the multi-process sample appli= cation, see :doc:`/sample_app_ug/multi_process`. diff --git a/doc/guides/faq/index.rst b/doc/guides/faq/index.rst new file mode 100644 index 0000000..5bc84ac --- /dev/null +++ b/doc/guides/faq/index.rst @@ -0,0 +1,42 @@ +.. 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 FO= R + 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 AN= Y + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +DPDK FAQ +=3D=3D=3D=3D=3D=3D=3D=3D + +This document contains some Frequently Asked Questions that arise when w= orking with DPDK. + +Contents + +.. toctree:: + :maxdepth: 2 + :numbered: + + faq diff --git a/doc/guides/index.rst b/doc/guides/index.rst index 0a89efd..ebcde22 100644 --- a/doc/guides/index.rst +++ b/doc/guides/index.rst @@ -46,3 +46,4 @@ Contents: testpmd_app_ug/index rel_notes/index guidelines/index + faq/index diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/= deprecation.rst index 5330d3b..3db782a 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -1,12 +1,9 @@ -Deprecation -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +ABI and API Deprecation +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 See the :doc:`guidelines document for details of the ABI policy `. API and ABI deprecation notices are to be posted here. =20 -Help to update from a previous release is provided in -:doc:`another section `. - =20 Deprecation Notices ------------------- diff --git a/doc/guides/rel_notes/faq.rst b/doc/guides/rel_notes/faq.rst deleted file mode 100644 index d87230a..0000000 --- a/doc/guides/rel_notes/faq.rst +++ /dev/null @@ -1,228 +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 FO= R - 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 AN= Y - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Frequently Asked Questions (FAQ) -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D - -When running the test application, I get =E2=80=9CEAL: map_all_hugepages= (): open failed: Permission denied Cannot init memory=E2=80=9D? -------------------------------------------------------------------------= ----------------------------------------------- - -This is most likely due to the test application not being run with sudo = to promote the user to a superuser. -Alternatively, applications can also be run as regular user. -For more information, please refer to *DPDK Getting Started Guide*. - -If I want to change the number of TLB Hugepages allocated, how do I remo= ve the original pages allocated? -------------------------------------------------------------------------= -------------------------------- - -The number of pages allocated can be seen by executing the cat /proc/mem= info|grep Huge command. -Once all the pages are mmapped by an application, they stay that way. -If you start a test application with less than the maximum, then you hav= e free pages. -When you stop and restart the test application, it looks to see if the p= ages are available in the /dev/huge directory and mmaps them. -If you look in the directory, you will see n number of 2M pages files. I= f you specified 1024, you will see 1024 files. -These are then placed in memory segments to get contiguous memory. - -If you need to change the number of pages, it is easier to first remove = the pages. The tools/setup.sh script provides an option to do this. -See the =E2=80=9CQuick Start Setup Script=E2=80=9D section in the *DPDK = Getting Started Guide* for more information. - -If I execute =E2=80=9Cl2fwd -c f -m 64 =E2=80=93n 3 -- -p 3=E2=80=9D, I = get the following output, indicating that there are no socket 0 hugepages= to allocate the mbuf and ring structures to? -------------------------------------------------------------------------= -------------------------------------------------------------------------= ---------------------- - -I have set up a total of 1024 Hugepages (that is, allocated 512 2M pages= to each NUMA node). - -The -m command line parameter does not guarantee that huge pages will be= reserved on specific sockets. Therefore, allocated huge pages may not be= on socket 0. -To request memory to be reserved on a specific socket, please use the --= socket-mem command-line parameter instead of -m. - -I am running a 32-bit DPDK application on a NUMA system, and sometimes t= he application initializes fine but cannot allocate memory. Why is that h= appening? -------------------------------------------------------------------------= -------------------------------------------------------------------------= ---------------- - -32-bit applications have limitations in terms of how much virtual memory= is available, hence the number of hugepages they are able to allocate is= also limited (1 GB per page size). -If your system has a lot (>1 GB per page size) of hugepage memory, not a= ll of it will be allocated. -Due to hugepages typically being allocated on a local NUMA node, the hug= epages allocation the application gets during the initialization depends = on which -NUMA node it is running on (the EAL does not affinitize cores until much= later in the initialization process). -Sometimes, the Linux OS runs the DPDK application on a core that is loca= ted on a different NUMA node from DPDK master core and -therefore all the hugepages are allocated on the wrong socket. - -To avoid this scenario, either lower the amount of hugepage memory avail= able to 1 GB per page size (or less), or run the application with taskset -affinitizing the application to a would-be master core. -For example, if your EAL coremask is 0xff0, the master core will usually= be the first core in the coremask (0x10); this is what you have to suppl= y to taskset, for example, -taskset 0x10 ./l2fwd -c 0xff0 -n 2. -In this way, the hugepages have a greater chance of being allocated to t= he correct socket. -Additionally, a --socket-mem option could be used to ensure the availabi= lity of memory for each socket, so that if hugepages were allocated on -the wrong socket, the application simply will not start. - -On application startup, there is a lot of EAL information printed. Is th= ere any way to reduce this? -------------------------------------------------------------------------= --------------------------- - -Yes, each EAL has a configuration file that is located in the /config di= rectory. Within each configuration file, you will find CONFIG_RTE_LOG_LEV= EL=3D8. -You can change this to a lower value, such as 6 to reduce this printout = of debug information. The following is a list of LOG levels that can be f= ound in the rte_log.h file. -You must remove, then rebuild, the EAL directory for the change to becom= e effective as the configuration file creates the rte_config.h file in th= e EAL directory. - -.. code-block:: c - - #define RTE_LOG_EMERG 1U /* System is unusable. */ - #define RTE_LOG_ALERT 2U /* Action must be taken immediately. */ - #define RTE_LOG_CRIT 3U /* Critical conditions. */ - #define RTE_LOG_ERR 4U /* Error conditions. */ - #define RTE_LOG_WARNING 5U /* Warning conditions. */ - #define RTE_LOG_NOTICE 6U /* Normal but significant condition. */ - #define RTE_LOG_INFO 7U /* Informational. */ - #define RTE_LOG_DEBUG 8U /* Debug-level messages. */ - -How can I tune my network application to achieve lower latency? ---------------------------------------------------------------- - -Traditionally, there is a trade-off between throughput and latency. An a= pplication can be tuned to achieve a high throughput, -but the end-to-end latency of an average packet typically increases as a= result. -Similarly, the application can be tuned to have, on average, a low end-t= o-end latency at the cost of lower throughput. - -To achieve higher throughput, the DPDK attempts to aggregate the cost of= processing each packet individually by processing packets in bursts. -Using the testpmd application as an example, the =E2=80=9Cburst=E2=80=9D= size can be set on the command line to a value of 16 (also the default v= alue). -This allows the application to request 16 packets at a time from the PMD= . -The testpmd application then immediately attempts to transmit all the pa= ckets that were received, in this case, all 16 packets. -The packets are not transmitted until the tail pointer is updated on the= corresponding TX queue of the network port. -This behavior is desirable when tuning for high throughput because the c= ost of tail pointer updates to both the RX and TX queues -can be spread across 16 packets, effectively hiding the relatively slow = MMIO cost of writing to the PCIe* device. - -However, this is not very desirable when tuning for low latency, because= the first packet that was received must also wait for the other 15 packe= ts to be received. -It cannot be transmitted until the other 15 packets have also been proce= ssed because the NIC will not know to transmit the packets until the TX t= ail pointer has been updated, -which is not done until all 16 packets have been processed for transmiss= ion. - -To consistently achieve low latency even under heavy system load, the ap= plication developer should avoid processing packets in bunches. -The testpmd application can be configured from the command line to use a= burst value of 1. -This allows a single packet to be processed at a time, providing lower l= atency, but with the added cost of lower throughput. - -Without NUMA enabled, my network throughput is low, why? --------------------------------------------------------- - -I have a dual Intel=C2=AE Xeon=C2=AE E5645 processors @2.40 GHz with fou= r Intel=C2=AE 82599 10 Gigabit Ethernet NICs. -Using eight logical cores on each processor with RSS set to distribute n= etwork load from two 10 GbE interfaces to the cores on each processor. - -Without NUMA enabled, memory is allocated from both sockets, since memor= y is interleaved. -Therefore, each 64B chunk is interleaved across both memory domains. - -The first 64B chunk is mapped to node 0, the second 64B chunk is mapped = to node 1, the third to node 0, the fourth to node 1. -If you allocated 256B, you would get memory that looks like this: - -.. code-block:: console - - 256B buffer - Offset 0x00 - Node 0 - Offset 0x40 - Node 1 - Offset 0x80 - Node 0 - Offset 0xc0 - Node 1 - -Therefore, packet buffers and descriptor rings are allocated from both m= emory domains, thus incurring QPI bandwidth accessing the other memory an= d much higher latency. -For best performance with NUMA disabled, only one socket should be popul= ated. - -I am getting errors about not being able to open files. Why? ------------------------------------------------------------- - -As the DPDK operates, it opens a lot of files, which can result in reach= ing the open files limits, which is set using the ulimit command or in th= e limits.conf file. -This is especially true when using a large number (>512) of 2 MB huge pa= ges. Please increase the open file limit if your application is not able = to open files. -This can be done either by issuing a ulimit command or editing the limit= s.conf file. Please consult Linux* manpages for usage information. - -Does my kernel require patching to run the=C2=A0DPDK? -------------------------------------------------------- - -Any kernel greater than version 2.6.33 can be used without any patches a= pplied. The following kernels may require patches to provide hugepage sup= port: - -* kernel version 2.6.32 requires the following patches applied: - - * `addhugepage support to pagemap `_ - - * `fix hugepage memory leak `_ - - * `add nodemask arg to huge page alloc `_ - - (not mandatory, but recommended on a NUMA system to support per-= NUMA node hugepages allocation) - -* kernel version 2.6.31, requires the following patches applied: - - * `fix hugepage memory leak `_ - - * `add hugepage support to pagemap `_ - - * `add uio name attributes and port regions `_ - - * `add nodemask arg to huge page alloc `_ - - (not mandatory, but recommended on a NUMA system to support per-= NUMA node hugepages allocation) - -.. note:: - - Blue text in the lists above are direct links to the patch downloads= . - -VF driver for IXGBE devices cannot be initialized. --------------------------------------------------- - -Some versions of Linux* IXGBE driver do not assign a random MAC address = to VF devices at initialization. -In this case, this has to be done manually on the VM host, using the fol= lowing command: - -.. code-block:: console - - ip link set vf mac - -where being the interface providing the virtual functions fo= r example, eth0, being the virtual function number, for exa= mple 0, -and being the desired MAC address. - -Is it safe to add an entry to the hash table while running? ------------------------------------------------------------- -Currently the table implementation is not a thread safe implementation a= nd assumes that locking between threads and processes is handled by the u= ser's application. -This is likely to be supported in future releases. - -What is the purpose of setting iommu=3Dpt? ----------------------------------------- -DPDK uses a 1:1 mapping and does not support IOMMU. IOMMU allows for sim= pler VM physical address translation. -The second role of IOMMU is to allow protection from unwanted memory acc= ess by an unsafe device that has DMA privileges. -Unfortunately, the protection comes with an extremely high performance c= ost for high speed NICs. - -iommu=3Dpt disables IOMMU support for the hypervisor. - -When trying to send packets from an application to itself, meaning smac=3D= =3Ddmac, using Intel(R) 82599 VF packets are lost. -------------------------------------------------------------------------= ------------------------------------------------ -Check on register LLE(PFVMTXSSW[n]), which allows an individual pool to = send traffic and have it looped back to itself. - -Can I split packet RX to use DPDK and have an application's higher order= functions continue using Linux* pthread? -------------------------------------------------------------------------= ----------------------------------------- -The DPDK's lcore threads are Linux* pthreads bound onto specific cores. = Configure the DPDK to do work on the same -cores and run the application's other work on other cores using the DPDK= 's "coremask" setting to specify which -cores it should launch itself on. - -Is it possible to exchange data between DPDK processes and regular users= pace processes via some shared memory or IPC mechanism? -------------------------------------------------------------------------= ------------------------------------------------------- -Yes - DPDK processes are regular Linux/BSD processes, and can use all OS= provided IPC mechanisms. - -Can the multiple queues in Intel(R) I350 be used with DPDK? ------------------------------------------------------------ -I350 has RSS support and 8 queue pairs can be used in RSS mode. It shoul= d work with multi-queue DPDK applications using RSS. - -How can hugepage-backed memory be shared among multiple processes? ------------------------------------------------------------------- -See the Primary and Secondary examples in the multi-process sample appli= cation. diff --git a/doc/guides/rel_notes/index.rst b/doc/guides/rel_notes/index.= rst index 9d66cd8..f0f97d1 100644 --- a/doc/guides/rel_notes/index.rst +++ b/doc/guides/rel_notes/index.rst @@ -28,10 +28,8 @@ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =20 -Release Notes -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -Package Version: 2.0 +DPDK Release Notes +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 |today| =20 @@ -42,11 +40,9 @@ Contents :numbered: =20 rel_description - new_features - supported_features + release_2_1 + release_2_0 + release_1_8 supported_os - updating_apps known_issues - resolved_issues deprecation - faq diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes= /known_issues.rst index a39c714..b9a52d0 100644 --- a/doc/guides/rel_notes/known_issues.rst +++ b/doc/guides/rel_notes/known_issues.rst @@ -28,836 +28,592 @@ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =20 -Known Issues and Limitations -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D =20 -This section describes known issues with the DPDK software. +Known Issues and Limitations in Legacy Releases +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +This section describes known issues with the DPDK software that aren't c= overed in the version specific release +notes sections. + =20 Unit Test for Link Bonding may fail at test_tlb_tx_burst() ---------------------------------------------------------- -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Unit Test for Link Bonding may fail a= t test_tlb_tx_burst() | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00390304 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Unit tests will fail at test_tlb_tx_b= urst function with error for uneven distribution| -| | of packets. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Unit test link_bonding_autotest will = fail | -| | = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | There is no workaround available. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Fedora 20 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Link Bonding = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ + +**Description**: + Unit tests will fail in ``test_tlb_tx_burst()`` function with error f= or uneven distribution of packets. + +**Implication**: + Unit test link_bonding_autotest will fail. + +**Resolution/Workaround**: + There is no workaround available. + +**Affected Environment/Platform**: + Fedora 20. + +**Driver/Module**: + Link Bonding. =20 =20 Pause Frame Forwarding does not work properly on igb ---------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Pause Frame forwarding does not work = properly on igb | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00384637 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | For igb devices rte_eth_flow_ctrl_se= t is not working as expected. | -| | Pause frames are always forwarded on = igb, regardless of the RFCE, MPMCF and DPF | -| | registers. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Pause frames will never be rejected b= y the host on 1G NICs and they will always be | -| | forwarded. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | There is no workaround available. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + For igb devices rte_eth_flow_ctrl_set does not work as expected. + Pause frames are always forwarded on igb, regardless of the ``RFCE``,= ``MPMCF`` and ``DPF`` registers. + +**Implication**: + Pause frames will never be rejected by the host on 1G NICs and they w= ill always be forwarded. + +**Resolution/Workaround**: + There is no workaround available. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 In packets provided by the PMD, some flags are missing ------------------------------------------------------ =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | In packets provided by the PMD, some = flags are missing | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 3 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | In packets provided by the PMD, some = flags are missing. | -| | The application does not have access = to information provided by the hardware | -| | (packet is broadcast, packet is multi= cast, packet is IPv4 and so on). | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The =E2=80=9Col_flags=E2=80=9D field = in the =E2=80=9Crte_mbuf=E2=80=9D structure is not correct and should not= be | -| | used. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | The application has to parse the Ethe= rnet header itself to get the information, | -| | which is slower. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + In packets provided by the PMD, some flags are missing. + The application does not have access to information provided by the h= ardware + (packet is broadcast, packet is multicast, packet is IPv4 and so on). + +**Implication**: + The ``ol_flags`` field in the ``rte_mbuf`` structure is not correct a= nd should not be used. + +**Resolution/Workaround**: + The application has to parse the Ethernet header itself to get the in= formation, which is slower. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). =20 The rte_malloc library is not fully implemented ----------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | The rte_malloc library is not fully i= mplemented | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 6 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The rte_malloc library is not fully i= mplemented. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | All debugging features of rte_malloc = library described in architecture documentation | -| | are not yet implemented. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | No workaround available. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | rte_malloc = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + The ``rte_malloc`` library is not fully implemented. + +**Implication**: + All debugging features of rte_malloc library described in architectur= e documentation are not yet implemented. + +**Resolution/Workaround**: + No workaround available. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + ``rte_malloc``. + =20 HPET reading is slow -------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | HPET reading is slow = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 7 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Reading the HPET chip is slow. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | An application that calls =E2=80=9Crt= e_get_hpet_cycles()=E2=80=9D or =E2=80=9Crte_timer_manage()=E2=80=9D runs= | -| | slower. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | The application should not call these= functions too often in the main loop. | -| | An alternative is to use the TSC regi= ster through =E2=80=9Crte_rdtsc()=E2=80=9D which is faster, | -| | but specific to an lcore and is a cyc= le reference, not a time reference. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Reading the HPET chip is slow. + +**Implication**: + An application that calls ``rte_get_hpet_cycles()`` or ``rte_timer_ma= nage()`` runs slower. + +**Resolution/Workaround**: + The application should not call these functions too often in the main= loop. + An alternative is to use the TSC register through ``rte_rdtsc()`` whi= ch is faster, + but specific to an lcore and is a cycle reference, not a time referen= ce. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Environment Abstraction Layer (EAL). + =20 HPET timers do not work on the Osage customer reference platform ---------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | HPET timers do not work on the Osage = customer reference platform | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 17 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | HPET timers do not work on the Osage = customer reference platform | -| | which includes an Intel=C2=AE Xeon=C2= =AE processor 5500 series processor) using the | -| | released BIOS from Intel. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | On Osage boards, the implementation o= f the =E2=80=9Crte_delay_us()=E2=80=9D function must be changed | -| | to not use the HPET timer. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | This can be addressed by building the= system with the =E2=80=9CCONFIG_RTE_LIBEAL_USE_HPET=3Dn=E2=80=9D | -| | configuration option or by using the = --no-hpet EAL option. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | The Osage customer reference platform= . | -| | = | -| | Other vendor platforms with Intel=C2=AE= Xeon=C2=AE processor 5500 series processors should | -| | work correctly, provided the BIOS sup= ports HPET. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | lib/librte_eal/common/include/rte_cyc= les.h | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + HPET timers do not work on the Osage customer reference platform whic= h includes an Intel=C2=AE Xeon=C2=AE processor 5500 + series processor) using the released BIOS from Intel. + +**Implication**: + On Osage boards, the implementation of the ``rte_delay_us()`` functio= n must be changed to not use the HPET timer. + +**Resolution/Workaround**: + This can be addressed by building the system with the ``CONFIG_RTE_LI= BEAL_USE_HPET=3Dn`` + configuration option or by using the ``--no-hpet`` EAL option. + +**Affected Environment/Platform**: + The Osage customer reference platform. + Other vendor platforms with Intel=C2=AE Xeon=C2=AE processor 5500 se= ries processors should + work correctly, provided the BIOS supports HPET. + +**Driver/Module**: + ``lib/librte_eal/common/include/rte_cycles.h`` + =20 Not all variants of supported NIC types have been used in testing ----------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Not all variants of supported NIC typ= es have been used in testing | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 28 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The supported network interface cards= can come in a number of variants with | -| | different device ID's. Not all of the= se variants have been tested with the Intel=C2=AE | -| | DPDK. = | -| | = | -| | The NIC device identifiers used durin= g testing: | -| | = | -| | * Intel=C2=AE Ethernet Controller X= L710 for 40GbE QSFP+ [8086:1584] | -| | = | -| | * Intel=C2=AE Ethernet Controller X= L710 for 40GbE QSFP+ [8086:1583] | -| | = | -| | * Intel=C2=AE Ethernet Controller X= 710 for 10GbE SFP+ [8086:1572] | -| | = | -| | * Intel=C2=AE 82576 Gigabit Etherne= t Controller [8086:10c9] | -| | = | -| | * Intel=C2=AE 82576 Quad Copper Gig= abit Ethernet Controller [8086:10e8] | -| | = | -| | * Intel=C2=AE 82580 Dual Copper Gig= abit Ethernet Controller [8086:150e] | -| | = | -| | * Intel=C2=AE I350 Quad Copper Giga= bit Ethernet Controller [8086:1521] | -| | = | -| | * Intel=C2=AE 82599 Dual Fibre 10 G= igabit Ethernet Controller [8086:10fb] | -| | = | -| | * Intel=C2=AE Ethernet Server Adapt= er X520-T2 [8086: 151c] | -| | = | -| | * Intel=C2=AE Ethernet Controller X= 540-T2 [8086:1528] | -| | = | -| | * Intel=C2=AE 82574L Gigabit Networ= k Connection [8086:10d3] | -| | = | -| | * Emulated Intel=C2=AE 82540EM Giga= bit Ethernet Controller [8086:100e] | -| | = | -| | * Emulated Intel=C2=AE 82545EM Giga= bit Ethernet Controller [8086:100f] | -| | = | -| | * Intel=C2=AE Ethernet Server Adapt= er X520-4 [8086:154a] | -| | = | -| | * Intel=C2=AE Ethernet Controller I= 210 [8086:1533] | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Risk of issues with untested variants= . | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | Use tested NIC variants. For those su= pported Ethernet controllers, additional device | -| | IDs may be added to the software if r= equired. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll-mode drivers = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + The supported network interface cards can come in a number of variant= s with different device ID's. + Not all of these variants have been tested with the Intel=C2=AE DPDK. + + The NIC device identifiers used during testing: + + * Intel=C2=AE Ethernet Controller XL710 for 40GbE QSFP+ [8086:1584] + * Intel=C2=AE Ethernet Controller XL710 for 40GbE QSFP+ [8086:1583] + * Intel=C2=AE Ethernet Controller X710 for 10GbE SFP+ [8086:1572] + * Intel=C2=AE 82576 Gigabit Ethernet Controller [8086:10c9] + * Intel=C2=AE 82576 Quad Copper Gigabit Ethernet Controller [8086:10e= 8] + * Intel=C2=AE 82580 Dual Copper Gigabit Ethernet Controller [8086:150= e] + * Intel=C2=AE I350 Quad Copper Gigabit Ethernet Controller [8086:1521= ] + * Intel=C2=AE 82599 Dual Fibre 10 Gigabit Ethernet Controller [8086:1= 0fb] + * Intel=C2=AE Ethernet Server Adapter X520-T2 [8086: 151c] + * Intel=C2=AE Ethernet Controller X540-T2 [8086:1528] + * Intel=C2=AE 82574L Gigabit Network Connection [8086:10d3] + * Emulated Intel=C2=AE 82540EM Gigabit Ethernet Controller [8086:100e= ] + * Emulated Intel=C2=AE 82545EM Gigabit Ethernet Controller [8086:100f= ] + * Intel=C2=AE Ethernet Server Adapter X520-4 [8086:154a] + * Intel=C2=AE Ethernet Controller I210 [8086:1533] + +**Implication**: + Risk of issues with untested variants. + +**Resolution/Workaround**: + Use tested NIC variants. For those supported Ethernet controllers, ad= ditional device + IDs may be added to the software if required. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll-mode drivers + =20 Multi-process sample app requires exact memory mapping ------------------------------------------------------ =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Multi-process sample app requires exa= ct memory mapping | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 30 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The multi-process example application= assumes that | -| | it is possible to map the hugepage me= mory to the same virtual addresses in client | -| | and server applications. Occasionally= , very rarely with 64-bit, this does not occur | -| | and a client application will fail on= startup. The Linux | -| | =E2=80=9Caddress-space layout randomi= zation=E2=80=9D security feature can sometimes cause this to | -| | occur. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | A multi-process client application fa= ils to initialize. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | See the =E2=80=9CMulti-process Limita= tions=E2=80=9D section in the Intel=C2=AE DPDK Programmer=E2=80=99s Guid= e | -| | for more information. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Multi-process example application = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Packets are not sent by the 1 GbE/10 GbE SR-IOV driver when the source M= AC address is not the MAC address assigned to the VF NIC -------------------------------------------------------------------------= -------------------------------------------------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Packets are not sent by the 1 GbE/10 = GbE SR-IOV driver when the source MAC address | -| | is not the MAC address assigned to th= e VF NIC | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00168379 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The 1 GbE/10 GbE SR-IOV driver can on= ly send packets when the Ethernet header=E2=80=99s | -| | source MAC address is the same as tha= t of the VF NIC. The reason for this is that | -| | the Linux =E2=80=9Cixgbe=E2=80=9D dri= ver module in the host OS has its anti-spoofing feature enabled.| -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Packets sent using the 1 GbE/10 GbE S= R-IOV driver must have the source MAC address | -| | correctly set to that of the VF NIC. = Packets with other source address values are | -| | dropped by the NIC if the application= attempts to transmit them. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Configure the Ethernet source address= in each packet to match that of the VF NIC. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | 1 GbE/10 GbE VF Poll Mode Driver (PMD= ) | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + The multi-process example application assumes that + it is possible to map the hugepage memory to the same virtual address= es in client and server applications. + Occasionally, very rarely with 64-bit, this does not occur and a clie= nt application will fail on startup. + The Linux "address-space layout randomization" security feature can s= ometimes cause this to occur. + +**Implication**: + A multi-process client application fails to initialize. + +**Resolution/Workaround**: + See the "Multi-process Limitations" section in the Intel=C2=AE DPDK = Programmer's Guide for more information. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Multi-process example application + + +Packets are not sent by the 1 GbE/10 GbE SR-IOV driver when the source M= AC is not the MAC assigned to the VF NIC +------------------------------------------------------------------------= ---------------------------------------- + +**Description**: + The 1 GbE/10 GbE SR-IOV driver can only send packets when the Etherne= t header's source MAC address is the same as + that of the VF NIC. + The reason for this is that the Linux ``ixgbe`` driver module in the = host OS has its anti-spoofing feature enabled. + +**Implication**: + Packets sent using the 1 GbE/10 GbE SR-IOV driver must have the sourc= e MAC address correctly set to that of the VF NIC. + Packets with other source address values are dropped by the NIC if th= e application attempts to transmit them. + +**Resolution/Workaround**: + Configure the Ethernet source address in each packet to match that of= the VF NIC. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + 1 GbE/10 GbE VF Poll Mode Driver (PMD). + =20 SR-IOV drivers do not fully implement the rte_ethdev API -------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | SR-IOV drivers do not fully implement= the rte_ethdev API | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 59 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The SR-IOV drivers only supports the = following rte_ethdev API functions: | -| | = | -| | * rte_eth_dev_configure() = | -| | = | -| | * rte_eth_tx_queue_setup() = | -| | = | -| | * rte_eth_rx_queue_setup() = | -| | = | -| | * rte_eth_dev_info_get() = | -| | = | -| | * rte_eth_dev_start() = | -| | = | -| | * rte_eth_tx_burst() = | -| | = | -| | * rte_eth_rx_burst() = | -| | = | -| | * rte_eth_dev_stop() = | -| | = | -| | * rte_eth_stats_get() = | -| | = | -| | * rte_eth_stats_reset() = | -| | = | -| | * rte_eth_link_get() = | -| | = | -| | * rte_eth_link_get_no_wait() = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Calling an unsupported function will = result in an application error. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Do not use other rte_ethdev API funct= ions in applications that use the SR-IOV | -| | drivers. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | VF Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + The SR-IOV drivers only supports the following rte_ethdev API functio= ns: + + * rte_eth_dev_configure() + * rte_eth_tx_queue_setup() + * rte_eth_rx_queue_setup() + * rte_eth_dev_info_get() + * rte_eth_dev_start() + * rte_eth_tx_burst() + * rte_eth_rx_burst() + * rte_eth_dev_stop() + * rte_eth_stats_get() + * rte_eth_stats_reset() + * rte_eth_link_get() + * rte_eth_link_get_no_wait() + +**Implication**: + Calling an unsupported function will result in an application error. + +**Resolution/Workaround**: + Do not use other rte_ethdev API functions in applications that use th= e SR-IOV drivers. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + VF Poll Mode Driver (PMD). + =20 PMD does not work with --no-huge EAL command line parameter ----------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | PMD does not work with --no-huge EAL = command line parameter | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373461 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Currently, the DPDK does not store an= y information about memory allocated by | -| | malloc() (for example, NUMA node, phy= sical address), hence PMD drivers do not work | -| | when the --no-huge command line param= eter is supplied to EAL. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Sending and receiving data with PMD w= ill not work. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Use huge page memory or use VFIO to m= ap devices. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Systems running the DPDK on Linux = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Currently, the DPDK does not store any information about memory alloc= ated by ``malloc()` (for example, NUMA node, + physical address), hence PMD drivers do not work when the ``--no-huge= `` command line parameter is supplied to EAL. + +**Implication**: + Sending and receiving data with PMD will not work. + +**Resolution/Workaround**: + Use huge page memory or use VFIO to map devices. + +**Affected Environment/Platform**: + Systems running the DPDK on Linux + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 Some hardware off-load functions are not supported by the VF Driver ------------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Some hardware off-load functions are = not supported by the VF Driver | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378813 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Currently, configuration of the follo= wing items is not supported by the VF driver: | -| | = | -| | * IP/UDP/TCP checksum offload = | -| | = | -| | * Jumbo Frame Receipt = | -| | = | -| | * HW Strip CRC = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Any configuration for these items in = the VF register will be ignored. The behavior | -| | is dependent on the current PF settin= g. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | For the PF (Physical Function) status= on which the VF driver depends, there is an | -| | option item under PMD in the config f= ile. For others, the VF will keep the same | -| | behavior as PF setting. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | VF (SR-IOV) Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Currently, configuration of the following items is not supported by t= he VF driver: + + * IP/UDP/TCP checksum offload + * Jumbo Frame Receipt + * HW Strip CRC + +**Implication**: + Any configuration for these items in the VF register will be ignored. + The behavior is dependent on the current PF setting. + +**Resolution/Workaround**: + For the PF (Physical Function) status on which the VF driver depends,= there is an option item under PMD in the + config file. + For others, the VF will keep the same behavior as PF setting. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + VF (SR-IOV) Poll Mode Driver (PMD). + =20 Kernel crash on IGB port unbinding ---------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Kernel crash on IGB port unbinding = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 74 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Kernel crash may occur = | -| | when unbinding 1G ports from the igb_= uio driver, on 2.6.3x kernels such as shipped | -| | with Fedora 14. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Kernel crash occurs. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Use newer kernels or do not unbind po= rts. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | 2.6.3x kernels such as shipped with = Fedora 14 | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | IGB Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Kernel crash may occur when unbinding 1G ports from the igb_uio drive= r, on 2.6.3x kernels such as shipped + with Fedora 14. + +**Implication**: + Kernel crash occurs. + +**Resolution/Workaround**: + Use newer kernels or do not unbind ports. + +**Affected Environment/Platform**: + 2.6.3x kernels such as shipped with Fedora 14 + +**Driver/Module**: + IGB Poll Mode Driver (PMD). + =20 Twinpond and Ironpond NICs do not report link status correctly -------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Twinpond and Ironpond NICs do not rep= ort link status correctly | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378800 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Twin Pond/Iron Pond NICs do not bring= the physical link down when shutting down the | -| | port. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The link is reported as up even after= issuing "shutdown" command unless the cable is | -| | physically disconnected. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | None. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Twin Pond and Iron Pond NICs = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Twin Pond/Iron Pond NICs do not bring the physical link down when shu= tting down the port. + +**Implication**: + The link is reported as up even after issuing ``shutdown`` command un= less the cable is physically disconnected. + +**Resolution/Workaround**: + None. + +**Affected Environment/Platform**: + Twin Pond and Iron Pond NICs + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 Discrepancies between statistics reported by different NICs ----------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Discrepancies between statistics repo= rted by different NICs | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378113 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | Gigabit Ethernet devices from Intel i= nclude CRC bytes when calculating packet | -| | reception statistics regardless of ha= rdware CRC stripping state, while 10-Gigabit | -| | Ethernet devices from Intel do so onl= y when hardware CRC stripping is disabled. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | There may be a discrepancy in how di= fferent NICs display packet reception | -| | statistics. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | None = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + Gigabit Ethernet devices from Intel include CRC bytes when calculatin= g packet reception statistics regardless + of hardware CRC stripping state, while 10-Gigabit Ethernet devices fr= om Intel do so only when hardware CRC + stripping is disabled. + +**Implication**: + There may be a discrepancy in how different NICs display packet rece= ption statistics. + +**Resolution/Workaround**: + None + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 Error reported opening files on DPDK initialization --------------------------------------------------- =20 +**Description**: + On DPDK application startup, errors may be reported when opening file= s as part of the initialization process. + This occurs if a large number, for example, 500 or more, or if hugepa= ges are used, due to the per-process + limit on the number of open files. + +**Implication**: + The DPDK application may fail to run. + +**Resolution/Workaround**: + If using 2 MB hugepages, consider switching to a fewer number of 1 GB= pages. + Alternatively, use the ``ulimit`` command to increase the number of f= iles which can be opened by a process. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Environment Abstraction Layer (EAL). =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Error reported opening files on DPDK = initialization | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 91 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | On DPDK application startup, errors m= ay be reported when opening files as | -| | part of the initialization process. T= his occurs if a large number, for example, 500 | -| | or more, or if hugepages are used, du= e to the per-process limit on the number of | -| | open files. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The DPDK application may fail to run.= | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | If using 2 MB hugepages, consider swi= tching to a fewer number of 1 GB pages. | -| | Alternatively, use the =E2=80=9Culimi= t=E2=80=9D command to increase the number of files which can be | -| | opened by a process. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ =20 Intel=C2=AE QuickAssist Technology sample application does not work on a= 32-bit OS on Shumway ------------------------------------------------------------------------= ---------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Intel=C2=AE QuickAssist Technology sa= mple applications does not work on a 32- bit OS on | -| | Shumway = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 93 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The Intel=C2=AE Communications Chipse= t 89xx Series device does not fully support NUMA on | -| | a 32-bit OS. Consequently, the sample= application cannot work properly on Shumway, | -| | since it requires NUMA on both nodes.= | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The sample application cannot work in= 32-bit mode with emulated NUMA, on | -| | multi-socket boards. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | There is no workaround available. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Shumway = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + The Intel=C2=AE Communications Chipset 89xx Series device does not fu= lly support NUMA on a 32-bit OS. + Consequently, the sample application cannot work properly on Shumway,= since it requires NUMA on both nodes. + +**Implication**: + The sample application cannot work in 32-bit mode with emulated NUMA,= on multi-socket boards. + +**Resolution/Workaround**: + There is no workaround available. + +**Affected Environment/Platform**: + Shumway + +**Driver/Module**: + All. + =20 IEEE1588 support possibly not working with an Intel=C2=AE Ethernet Contr= oller I210 NIC ------------------------------------------------------------------------= --------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | IEEE1588 support may not work with an= Intel=C2=AE Ethernet Controller I210 NIC | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00380285 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | IEEE1588 support is not working with = an Intel=C2=AE Ethernet Controller I210 NIC. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | IEEE1588 packets are not forwarded co= rrectly by the Intel=C2=AE Ethernet Controller I210 | -| | NIC. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | There is no workaround available. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | IGB Poll Mode Driver = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + IEEE1588 support is not working with an Intel=C2=AE Ethernet Controll= er I210 NIC. + +**Implication**: + IEEE1588 packets are not forwarded correctly by the Intel=C2=AE Ether= net Controller I210 NIC. + +**Resolution/Workaround**: + There is no workaround available. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + IGB Poll Mode Driver + =20 Differences in how different Intel NICs handle maximum packet length for= jumbo frame ------------------------------------------------------------------------= ------------ =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Differences in how different Intel NI= Cs handle maximum packet length for jumbo frame | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 96 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | 10 Gigabit Ethernet devices from Inte= l do not take VLAN tags into account when | -| | calculating packet size while Gigabit= Ethernet devices do so for jumbo frames. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | When receiving packets with VLAN tags= , the actual maximum size of useful payload | -| | that Intel Gigabit Ethernet devices a= re able to receive is 4 bytes (or 8 bytes in | -| | the case of packets with extended VLA= N tags) less than that of Intel 10 Gigabit | -| | Ethernet devices. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Increase the configured maximum packe= t size when using Intel Gigabit Ethernet | -| | devices. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Binding PCI devices to igb_uio fails on Linux* kernel 3.9 when more than= one device is used -------------------------------------------------------------------------= ------------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Binding PCI devices to igb_uio fails = on Linux* kernel 3.9 when more than one device | -| | is used = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 97 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | A known bug in the uio driver include= d in Linux* kernel version 3.9 prevents more | -| | than one PCI device to be bound to th= e igb_uio driver. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The Poll Mode Driver (PMD) will crash= on initialization. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Use earlier or later kernel versions,= or apply the following | -| | `patch = | -| | `_| -| | . = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Linux* systems with kernel version 3.= 9 | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | igb_uio module = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + 10 Gigabit Ethernet devices from Intel do not take VLAN tags into acc= ount when calculating packet size + while Gigabit Ethernet devices do so for jumbo frames. + +**Implication**: + When receiving packets with VLAN tags, the actual maximum size of use= ful payload that Intel Gigabit Ethernet + devices are able to receive is 4 bytes (or 8 bytes in the case of pac= kets with extended VLAN tags) less than + that of Intel 10 Gigabit Ethernet devices. + +**Resolution/Workaround**: + Increase the configured maximum packet size when using Intel Gigabit = Ethernet devices. + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + + +Binding PCI devices to igb_uio fails on Linux kernel 3.9 when more than = one device is used +------------------------------------------------------------------------= ------------------ + +**Description**: + A known bug in the uio driver included in Linux kernel version 3.9 pr= events more than one PCI device to be + bound to the igb_uio driver. + +**Implication**: + The Poll Mode Driver (PMD) will crash on initialization. + +**Resolution/Workaround**: + Use earlier or later kernel versions, or apply the following + `patch `_. + +**Affected Environment/Platform**: + Linux systems with kernel version 3.9 + +**Driver/Module**: + igb_uio module + =20 GCC might generate Intel=C2=AE AVX instructions for processors without I= ntel=C2=AE AVX support ------------------------------------------------------------------------= ------------ =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Gcc might generate Intel=C2=AE AVX in= structions for processors without Intel=C2=AE AVX support | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00382439 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | When compiling Intel=C2=AE DPDK (and= any DPDK app), gcc may generate Intel=C2=AE AVX | -| | instructions, even when the processor= does not support Intel=C2=AE AVX. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Any DPDK app might crash while starti= ng up. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Either compile using icc or set EXTRA= _CFLAGS=3D=E2=80=99-O3=E2=80=99 prior to compilation. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Platforms which processor does not su= pport Intel=C2=AE AVX. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + When compiling Intel=C2=AE DPDK (and any DPDK app), gcc may generate= Intel=C2=AE AVX instructions, even when the + processor does not support Intel=C2=AE AVX. + +**Implication**: + Any DPDK app might crash while starting up. + +**Resolution/Workaround**: + Either compile using icc or set ``EXTRA_CFLAGS=3D'-O3'`` prior to com= pilation. + +**Affected Environment/Platform**: + Platforms which processor does not support Intel=C2=AE AVX. + +**Driver/Module**: + Environment Abstraction Layer (EAL). =20 Ethertype filter could receive other packets (non-assigned) in Niantic ---------------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Ethertype filter could receive other = packets (non-assigned) in Niantic | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00169017 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | On Intel=C2=AE Ethernet Controller 8= 2599EB: | -| | = | -| | When Ethertype filter (priority enabl= e) was set, unmatched packets also could be | -| | received on the assigned queue, such = as ARP packets without 802.1q tags or with the | -| | user priority not equal to set value.= | -| | = | -| | Launch the testpmd by disabling RSS a= nd with multiply queues, then add the ethertype | -| | filter like: =E2=80=9Cadd_ethertype_f= ilter 0 ethertype 0x0806 priority enable 3 queue 2 | -| | index 1=E2=80=9D, and then start forw= arding. | -| | = | -| | When sending ARP packets without 802.= 1q tag and with user priority as non-3 by | -| | tester, all the ARP packets can be re= ceived on the assigned queue. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The user priority comparing in Ethert= ype filter cannot work probably. | -| | It is the NIC's issue due to the resp= onse from PAE: =E2=80=9CIn fact, ETQF.UP is not | -| | functional, and the information will = be added in errata of 82599 and X540.=E2=80=9D | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | None = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + On Intel=C2=AE Ethernet Controller 82599EB When Ethertype filter (pr= iority enable) was set, unmatched packets also + could be received on the assigned queue, such as ARP packets without = 802.1q tags or with the user priority not + equal to set value. + Launch the testpmd by disabling RSS and with multiply queues, then ad= d the ethertype filter like the following + and then start forwarding:: + + add_ethertype_filter 0 ethertype 0x0806 priority enable 3 queue 2 = index 1 + + When sending ARP packets without 802.1q tag and with user priority as= non-3 by tester, all the ARP packets can + be received on the assigned queue. + +**Implication**: + The user priority comparing in Ethertype filter cannot work probably. + It is a NIC's issue due to the following: "In fact, ETQF.UP is not fu= nctional, and the information will + be added in errata of 82599 and X540." + +**Resolution/Workaround**: + None + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 Cannot set link speed on Intel=C2=AE 40G Ethernet controller ------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Cannot set link speed on Intel=C2=AE = 40G Ethernet controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00386379 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | On Intel=C2=AE 40G Ethernet Controlle= r: | -| | = | -| | It cannot set the link to specific sp= eed. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The link speed cannot be changed forc= ibly, though it can be configured by | -| | application. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | None = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + On Intel=C2=AE 40G Ethernet Controller you cannot set the link to spe= cific speed. + +**Implication**: + The link speed cannot be changed forcibly, though it can be configure= d by application. + +**Resolution/Workaround**: + None + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + =20 Stopping the port does not down the link on Intel=C2=AE 40G Ethernet con= troller ------------------------------------------------------------------------= -- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Stopping the port does not down the l= ink on Intel=C2=AE 40G Ethernet controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00386380 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | On Intel=C2=AE 40G Ethernet Controlle= r: | -| | = | -| | Stopping the port does not really dow= n the port link. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The port link will be still up after = stopping the port. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | None = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Devices bound to igb_uio with VT-d enabled do not work on Linux* kernel = 3.15-3.17 -------------------------------------------------------------------------= --------- +**Description**: + On Intel=C2=AE 40G Ethernet Controller stopping the port does not rea= lly down the port link. + +**Implication**: + The port link will be still up after stopping the port. + +**Resolution/Workaround**: + None + +**Affected Environment/Platform**: + All. + +**Driver/Module**: + Poll Mode Driver (PMD). + + +Devices bound to igb_uio with VT-d enabled do not work on Linux kernel 3= .15-3.17 +------------------------------------------------------------------------= -------- + +**Description**: + When VT-d is enabled (``iommu=3Dpt intel_iommu=3Don``), devices are 1= :1 mapped. + In the Linux kernel unbinding devices from drivers removes that mappi= ng which result in IOMMU errors. + Introduced in Linux `kernel 3.15 commit + `_, + solved in Linux `kernel 3.18 commit + `_. + +**Implication**: + Devices will not be allowed to access memory, resulting in following = kernel errors:: + + dmar: DRHD: handling fault status reg 2 + dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr a0c58000 + DMAR:[fault reason 02] Present bit in context entry is clear + +**Resolution/Workaround**: + Use earlier or later kernel versions, or avoid driver binding on boot= by blacklisting the driver modules. + I.e., in the case of ``ixgbe``, we can pass the kernel command line o= ption: ``modprobe.blacklist=3Dixgbe``. + This way we do not need to unbind the device to bind it to igb_uio. + +**Affected Environment/Platform**: + Linux systems with kernel versions 3.15 to 3.17. + +**Driver/Module**: + ``igb_uio`` module. =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Devices bound to igb_uio with VT-d en= abled do not work on Linux* kernel 3.15-3.17 | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Description | | When VT-d is enabled (iommu=3Dpt in= tel_iommu=3Don), devices are 1:1 mapped. | -| | In the Linux* kernel unbinding devi= ces from drivers removes that mapping which | -| | result in IOMMU errors. = | -| | | Introduced in Linux `kernel 3.15 co= mmit `_, | -| | solved in Linux `kernel 3.18 commit= `_. | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | | Devices will not be allowed to acce= ss memory, resulting in following kernel errors:| -| | | ``dmar: DRHD: handling fault status= reg 2`` | -| | | ``dmar: DMAR:[DMA Read] Request dev= ice [02:00.0] fault addr a0c58000`` | -| | | ``DMAR:[fault reason 02] Present bi= t in context entry is clear`` | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | | Use earlier or later kernel version= s, or avoid driver binding on boot by | -| | blacklisting the driver modules. = | -| | | ie. in the case of ixgbe, we can pa= ss the kernel command line option: | -| | | ``modprobe.blacklist=3Dixgbe`` = | -| | | This way we do not need to unbind t= he device to bind it to igb_uio. | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Linux* systems with kernel versions 3= .15 to 3.17 | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | igb_uio module = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ =20 VM power manager may not work on systems with more than 64 cores ---------------------------------------------------------------- =20 -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | VM power manager may not work on syst= ems with more than 64 cores | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Description | When using VM power manager on a syst= em with more than 64 cores, | -| | VM(s) should not use cores 64 or high= er. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | VM power manager should not be used w= ith VM(s) that are using cores 64 or above. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Do not use cores 64 or above. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Platforms with more than 64 cores. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | VM power manager application = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ +**Description**: + When using VM power manager on a system with more than 64 cores, VM(s= ) should not use cores 64 or higher. + +**Implication**: + VM power manager should not be used with VM(s) that are using cores 6= 4 or above. + +**Resolution/Workaround**: + Do not use cores 64 or above. + +**Affected Environment/Platform**: + Platforms with more than 64 cores. + +**Driver/Module**: + VM power manager application. diff --git a/doc/guides/rel_notes/new_features.rst b/doc/guides/rel_notes= /new_features.rst deleted file mode 100644 index 5b724ab..0000000 --- a/doc/guides/rel_notes/new_features.rst +++ /dev/null @@ -1,129 +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 FO= R - 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 AN= Y - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -New Features -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -* Poll-mode driver support for an early release of the PCIE host inter= face of the Intel(R) Ethernet Switch FM10000. - - * Basic Rx/Tx functions for PF/VF - - * Interrupt handling support for PF/VF - - * Per queue start/stop functions for PF/VF - - * Support Mailbox handling between PF/VF and PF/Switch Manager - - * Receive Side Scaling (RSS) for PF/VF - - * Scatter receive function for PF/VF - - * Reta update/query for PF/VF - - * VLAN filter set for PF - - * Link status query for PF/VF - -.. note:: The software is intended to run on pre-release hardware and ma= y contain unknown or unresolved defects or - issues related to functionality and performance. - The poll mode driver is also pre-release and will be updated t= o a released version post hardware and base driver release. - Should the official hardware release be made between DPDK rele= ases an updated poll-mode driver will be made available. - -* Link Bonding - - * Support for adaptive load balancing (mode 6) to the link bonding= library. - - * Support for registration of link status change callbacks with li= nk bonding devices. - - * Support for slaves devices which do not support link status chan= ge interrupts in the link bonding library via a link status polling mecha= nism. - -* PCI Hotplug with NULL PMD sample application - -* ABI versioning - -* x32 ABI - -* Non-EAL Thread Support - -* Multi-pthread Support - -* Re-order Library - -* ACL for AVX2 - -* Architecture Independent CRC Hash - -* uio_pci_generic Support - -* KNI Optimizations - -* Vhost-user support - -* Virtio (link, vlan, mac, port IO, perf) - -* IXGBE-VF RSS - -* RX/TX Callbacks - -* Unified Flow Types - -* Indirect Attached MBUF Flag - -* Use default port configuration in TestPMD - -* Tunnel offloading in TestPMD - -* Poll Mode Driver - 40 GbE Controllers (librte_pmd_i40e) - - * Support for Flow Director - - * Support for ethertype filter - - * Support RSS in VF - - * Support configuring redirection table with different size from 1= GbE and 10 GbE - - - 128/512 entries of 40GbE PF - - - 64 entries of 40GbE VF - - * Support configuring hash functions - - * Support for VXLAN packet on Intel=C2=AE 40GbE Controllers - -* Packet Distributor Sample Application - -* Job Stats library and Sample Application. - -* Enhanced Jenkins hash (jhash) library - -.. note:: The hash values returned by the new jhash library are differen= t - from the ones returned by the previous library. - -For further features supported in this release, see Chapter 3 Supported = Features. diff --git a/doc/guides/rel_notes/rel_description.rst b/doc/guides/rel_no= tes/rel_description.rst index 9b1fb7f..a31d696 100644 --- a/doc/guides/rel_notes/rel_description.rst +++ b/doc/guides/rel_notes/rel_description.rst @@ -28,151 +28,14 @@ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =20 + Description of Release =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -These release notes cover the new features, -fixed bugs and known issues for Data Plane Development Kit (DPDK) releas= e version 2.0.0. - -For instructions on compiling and running the release, see the *DPDK Get= ting Started Guide*. - -Using DPDK Upgrade Patches --------------------------- - -For minor updates to the main DPDK releases, the software may be made av= ailable both as a new full package and as a patch file to be applied to t= he previously released package. -In the latter case, the following commands should be used to apply the p= atch on top of the already-installed package for the previous release: - -.. code-block:: console - - # cd $RTE_SDK - # patch =E2=80=93p1 < /path/to/patch/file - -Once the patch has been applied cleanly, the DPDK can be recompiled and = used as before (described in the *DPDK Getting Started Guide*). - -.. note:: - - If the patch does not apply cleanly, perhaps because of modification= s made locally to the software, - it is recommended to use the full release package for the minor upda= te, instead of using the patch. - -Documentation Roadmap ---------------------- - -The following is a list of DPDK documents in the suggested reading order= : - -* **Release Notes** - (this document): Provides release-specific information, including su= pported features, limitations, fixed issues, known issues and so on. - Also, provides the answers to frequently asked questions in FAQ form= at. - -* **Getting Started Guide** - : Describes how to install and configure the DPDK software; designed= to get users up and running quickly with the software. - -* **FreeBSD* Getting Started Guide** - : A document describing the use of the DPDK with FreeBSD* has been a= dded in DPDK Release 1.6.0. - Refer to this guide for installation and configuration instructions = to get started using the DPDK with FreeBSD*. - -* **Programmer's Guide** - : Describes: - - * The software architecture and how to use it (through examples), = specifically in a Linux* application (linuxapp) environment - - * The content of the DPDK, the build system (including the command= s 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 cons= idered for new development - - A glossary of terms is also provided. - -* **API Reference** - : Provides detailed information about DPDK functions, data structure= s and other programming constructs. - -* **Sample Applications User Guide** - : Describes a set of sample applications. Each chapter describes a s= ample application that showcases specific functionality and provides inst= ructions on how to compile, - run and use the sample application. - - The following sample applications are included: - - * Command Line - - * Exception Path (into Linux* for packets using the Linux TUN/TAP = driver) - - * Hello World - - * Integration with Intel=C2=AE QuickAssist Technology - - * Link Status Interrupt (Ethernet* Link Status Detection) - - * IP Reassembly - - * IP Pipeline - - * IP Fragmentation - - * IPv4 Multicast - - * L2 Forwarding (supports virtualized and non-virtualized environm= ents) - - * L2 Forwarding IVSHMEM - - * L2 Forwarding Jobstats - - * L3 Forwarding - - * L3 Forwarding with Access Control - - * L3 Forwarding with Power Management - - * L3 Forwarding in a Virtualized Environment - - * Link Bonding - - * Link Status Interrupt - - * Load Balancing - - * Multi-process - - * QoS Scheduler + Dropper - - * QoS Metering - - * Quota & Watermarks - - * Timer - - * VMDQ and DCB L2 Forwarding - - * VMDQ L2 Forwarding - - * Userspace vhost - - * Userspace vhost switch - - * Netmap - - * Kernel NIC Interface (KNI) - - * VM Power Management - - * Distributor - - * RX-TX Callbacks - - * Skeleton - - In addition, there are some other applications that are built when t= he libraries are created. - The source for these applications is in the DPDK/app directory and a= re called: - - * test - - * testpmd =20 - Once the libraries are created, they can be found in the build/app d= irectory. +This document contains the release notes for Data Plane Development Kit = (DPDK) release version 2.0.0 and previous releases. =20 - * The test application provides a variety of specific tests for th= e various functions in the DPDK. +It lists new features, fixed bugs, API and ABI changes and known issues. =20 - * The testpmd application provides a number of different packet th= roughput tests and examples of features such as - how to use the Flow Director found in the Intel=C2=AE 82599 10 G= igabit Ethernet Controller. +For instructions on compiling and running the release, see the :doc:`DPD= K Getting Started Guide `. =20 - The testpmd application is documented in the *DPDK Testpmd Applicati= on Note*. - The test application is not currently documented. - However, you should be able to run and use test application with the= command line help that is provided in the application. diff --git a/doc/guides/rel_notes/release_1_8.rst b/doc/guides/rel_notes/= release_1_8.rst new file mode 100644 index 0000000..39e6611 --- /dev/null +++ b/doc/guides/rel_notes/release_1_8.rst @@ -0,0 +1,64 @@ +.. 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 FO= R + 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 AN= Y + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +DPDK Release 1.8 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +New Features +------------ + +* Link Bonding + + * Support for 802.3ad link aggregation (mode 4) and transmit load = balancing (mode 5) to the link bonding library. + + * Support for registration of link status change callbacks with li= nk bonding devices. + + * Support for slaves devices which do not support link status chan= ge interrupts in the link bonding library via a link status polling mecha= nism. + +* Poll Mode Driver - 40 GbE Controllers (librte_pmd_i40e) + + * Support for Flow Director + + * Support for ethertype filter + + * Support RSS in VF + + * Support configuring redirection table with different size from 1= GbE and 10 GbE + + - 128/512 entries of 40GbE PF + + - 64 entries of 40GbE VF + + * Support configuring hash functions + + * Support for VXLAN packet on Intel=C3=82=C2=AE 40GbE Controllers + +* Packet Distributor Sample Application diff --git a/doc/guides/rel_notes/release_2_0.rst b/doc/guides/rel_notes/= release_2_0.rst new file mode 100644 index 0000000..4341a0c --- /dev/null +++ b/doc/guides/rel_notes/release_2_0.rst @@ -0,0 +1,133 @@ +.. 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 FO= R + 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 AN= Y + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +DPDK Release 2.0 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + +New Features +------------ + +* Poll-mode driver support for an early release of the PCIE host inter= face of the Intel(R) Ethernet Switch FM10000. + + * Basic Rx/Tx functions for PF/VF + + * Interrupt handling support for PF/VF + + * Per queue start/stop functions for PF/VF + + * Support Mailbox handling between PF/VF and PF/Switch Manager + + * Receive Side Scaling (RSS) for PF/VF + + * Scatter receive function for PF/VF + + * Reta update/query for PF/VF + + * VLAN filter set for PF + + * Link status query for PF/VF + +.. note:: The software is intended to run on pre-release hardware and ma= y contain unknown or unresolved defects or + issues related to functionality and performance. + The poll mode driver is also pre-release and will be updated t= o a released version post hardware and base driver release. + Should the official hardware release be made between DPDK rele= ases an updated poll-mode driver will be made available. + +* Link Bonding + + * Support for adaptive load balancing (mode 6) to the link bonding= library. + + * Support for registration of link status change callbacks with li= nk bonding devices. + + * Support for slaves devices which do not support link status chan= ge interrupts in the link bonding library via a link status polling mecha= nism. + +* PCI Hotplug with NULL PMD sample application + +* ABI versioning + +* x32 ABI + +* Non-EAL Thread Support + +* Multi-pthread Support + +* Re-order Library + +* ACL for AVX2 + +* Architecture Independent CRC Hash + +* uio_pci_generic Support + +* KNI Optimizations + +* Vhost-user support + +* Virtio (link, vlan, mac, port IO, perf) + +* IXGBE-VF RSS + +* RX/TX Callbacks + +* Unified Flow Types + +* Indirect Attached MBUF Flag + +* Use default port configuration in TestPMD + +* Tunnel offloading in TestPMD + +* Poll Mode Driver - 40 GbE Controllers (librte_pmd_i40e) + + * Support for Flow Director + + * Support for ethertype filter + + * Support RSS in VF + + * Support configuring redirection table with different size from 1= GbE and 10 GbE + + - 128/512 entries of 40GbE PF + + - 64 entries of 40GbE VF + + * Support configuring hash functions + + * Support for VXLAN packet on Intel=C2=AE 40GbE Controllers + +* Packet Distributor Sample Application + +* Job Stats library and Sample Application. + +* Enhanced Jenkins hash (jhash) library + +.. note:: The hash values returned by the new jhash library are differen= t + from the ones returned by the previous library. diff --git a/doc/guides/rel_notes/release_2_1.rst b/doc/guides/rel_notes/= release_2_1.rst new file mode 100644 index 0000000..c39418c --- /dev/null +++ b/doc/guides/rel_notes/release_2_1.rst @@ -0,0 +1,69 @@ +.. 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 FO= R + 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 AN= Y + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +DPDK Release 2.1 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + +New Features +------------ + +* TODO. + + +Resolved Issues +--------------- + +* TODO. + + +Known Issues +------------ + +* TODO. + + +API Changes +----------- + +* TODO. + + +API Changes +----------- + +* TODO. + + +ABI Changes +----------- + +* TODO. diff --git a/doc/guides/rel_notes/resolved_issues.rst b/doc/guides/rel_no= tes/resolved_issues.rst deleted file mode 100644 index 8d6bbfa..0000000 --- a/doc/guides/rel_notes/resolved_issues.rst +++ /dev/null @@ -1,1395 +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 FO= R - 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 AN= Y - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TOR - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Resolved Issues -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -This section describes previously known issues that have been resolved s= ince release version 1.2. - -Running TestPMD with SRIOV in Domain U may cause it to hang when XENVIRT= switch is on -------------------------------------------------------------------------= ------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Running TestPMD with SRIOV in Domain = U may cause it to hang when XENVIRT switch is on| -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00168949 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | When TestPMD is run with only SRIOV p= ort /testpmd -c f -n 4 -- -i, the following | -| | error occurs: = | -| | = | -| | PMD: gntalloc: ioctl error = | -| | = | -| | EAL: Error - exiting with code: 1 = | -| | = | -| | Cause: Creation of mbuf pool for sock= et 0 failed | -| | = | -| | Then, alternately run SRIOV port and = virtIO with testpmd: | -| | = | -| | testpmd -c f -n 4 -- -i = | -| | = | -| | testpmd -c f -n 4 --use-dev=3D"eth_xe= nvirt0" -- -i | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | DomU will not be accessible after you= repeat this action some times | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Run testpmd with a "--total-num-mbufs= =3DN(N<=3D3500)" | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Fedora 16, 64 bits + Xen hypervisor 4= .2.3 + Domain 0 kernel 3.10.0 | -| | +Domain U kernel 3.6.11 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | TestPMD Sample Application = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Vhost-xen cannot detect Domain U application exit on Xen version 4.0.1 ----------------------------------------------------------------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Vhost-xen cannot detect Domain U appl= ication exit on Xen 4.0.1. | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00168947 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | When using DPDK applications on Xen 4= .0.1, e.g. TestPMD Sample Application, | -| | on killing the application (e.g. kill= all testpmd) vhost-switch cannot detect | -| | the domain U exited and does not free= the Virtio device. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Virtio device not freed after applica= tion is killed when using vhost-switch on Xen | -| | = 4.0.1 | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | Resolved in DPDK 1.8 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Xen 4.0.1 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Vhost-switch = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Virtio incorrect header length used if MSI-X is disabled by kernel drive= r -------------------------------------------------------------------------= - - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Virtio incorrect header length used i= f MSI-X is disabled by kernel driver or | -| | if VIRTIO_NET_F_MAC is not negotiated= . | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00384256 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The Virtio header for host-guest comm= unication is of variable length and | -| | is dependent on whether MSI-X has bee= n enabled by the kernel driver for the network | -| | device. = | -| | = | -| | The base header length of 20 bytes wi= ll be extended by 4 bytes to accommodate MSI-X | -| | vectors and the Virtio Network Device= header will appear at byte offset 24. | -| | = | -| | The Userspace Virtio Poll Mode Driver= tests the guest feature bits for the presence | -| | of VIRTIO_PCI_FLAG_MISIX, however thi= s bit field is not part of the Virtio | -| | specification and resolves to the VIR= TIO_NET_F_MAC feature instead. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | The DPDK kernel driver will enable MS= I-X by default, | -| | however if loaded with "intr_mode=3Dl= egacy" on a guest with a Virtio Network Device, | -| | a KVM-Qemu guest may crash with the f= ollowing error: "virtio-net header not in first | -| | element". = | -| | = | -| | If VIRTIO_NET_F_MAC feature has not b= een negotiated, then the Userspace Poll Mode | -| | Driver will assume that MSI-X has bee= n disabled and will prevent the proper | -| | functioning of the driver. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution | Ensure #define VIRTIO_PCI_CONFIG(hw) = returns the correct offset (20 or 24 bytes) for | -| | the devices where in rare cases MSI-X= is disabled or VIRTIO_NET_F_MAC has not been | -| | negotiated. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Virtio devices where MSI-X is disabl= ed or VIRTIO_NET_F_MAC feature has not been | -| | negotiated. = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | librte_pmd_virtio = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Unstable system performance across application executions with 2MB pages ------------------------------------------------------------------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Unstable system performance across ap= plication executions with 2MB pages | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00372346 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | The performance of an DPDK applicatio= n may vary across executions of an | -| | application due to a varying number o= f TLB misses depending on the location of | -| | accessed structures in memory. = | -| | This situation occurs on rare occasio= ns. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Occasionally, relatively poor perform= ance of DPDK applications is encountered. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | Using 1 GB pages results in lower usa= ge of TLB entries, resolving this issue. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | Systems using 2 MB pages = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -Link status change not working with MSI interrupts --------------------------------------------------- - -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Title | Link status change not working with M= SI interrupts | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378191 = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Description | MSI interrupts are not supported by t= he PMD. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Implication | Link status change will only work wit= h legacy or MSI-X interrupts. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Resolution/ Workaround | The igb_uio driver can now be loaded = with either legacy or MSI-X interrupt support. | -| | However, this configuration is not te= sted. | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Affected Environment/ Platform | All = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+--------------------------------+--------------------------------------= ------------------------------------------------+ - -KNI does not provide Ethtool support for all NICs supported by the Poll-= Mode Drivers -------------------------------------------------------------------------= ------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | KNI does not provide ethtool support= for all NICs supported by the Poll Mode Drivers | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00383835 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | To support ethtool functionality usi= ng the KNI, the KNI library includes separate | -| | driver code based off the Linux kern= el drivers, because this driver code is separate | -| | from the poll-mode drivers, the set = of supported NICs for these two components may | -| | differ. = | -| | = | -| | Because of this, in this release, th= e KNI driver does not provide "ethtool" support | -| | for the Intel=C2=AE Ethernet Connect= ion I354 on the Intel Atom Processor C2000 product | -| | Family SoCs. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Ethtool support with KNI will not wo= rk for NICs such as the Intel=C2=AE Ethernet | -| | Connection I354. Other KNI functiona= lity, such as injecting packets into the Linux | -| | kernel is unaffected. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Updated for Intel=C2=AE Ethernet Con= nection I354. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Platforms using the Intel=C2=AE Ethe= rnet Connection I354 or other NICs unsupported by KNI | -| | ethtool = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | KNI = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Linux IPv4 forwarding is not stable with vhost-switch on high packet rat= e -------------------------------------------------------------------------= - - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Linux IPv4 forwarding is not stable = with vhost-switch on high packet rate. | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00384430 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Linux IPv4 forwarding is not stable = in Guest when Tx traffic is high from traffic | -| | generator using two virtio devices i= n VM with 10G in host. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Packets cannot be forwarded by user = space vhost-switch and Linux IPv4 forwarding if | -| | the rate of incoming packets is gre= ater than 1 Mpps. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | N/A = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Sample application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -PCAP library overwrites mbuf data before data is used ------------------------------------------------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | PCAP library overwrites mbuf data be= fore data is used | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00383976 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | PCAP library allocates 64 mbufs for = reading packets from PCAP file, but declares them | -| | as static and reuses the same mbufs = repeatedly rather than handing off to the ring | -| | for allocation of new mbuf for each = read from the PCAP file. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | In multi-threaded applications ata i= n the mbuf is overwritten. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Fixed in eth_pcap_rx() in rte_eth_pc= ap.c | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Multi-threaded applications using PC= AP library | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -MP Client Example app - flushing part of TX is not working for some port= s if set specific port mask with skipped ports -------------------------------------------------------------------------= ---------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | MP Client Example app - flushing pa= rt of TX is not working for some ports if set | -| | specific port mask with skipped port= s | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 52 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | When ports not in a consecutive set,= for example, ports other than ports 0, 1 or | -| | 0,1,2,3 are used with the client-se= rvice sample app, when no further packets are | -| | received by a client, the applicatio= n may not flush correctly any unsent packets | -| | already buffered inside it. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Not all buffered packets are transmi= tted if traffic to the clients application is | -| | stopped. While traffic is continuall= y received for transmission on a port by a | -| | client, buffer flushing happens norm= ally. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Changed line 284 of the client.c fil= e: | -| | = | -| | from "send_packets(ports);" to "send= _packets(ports->id[port]);" | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Client - Server Multi-process Sample= application | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Packet truncation with Intel=C2=AE I350 Gigabit Ethernet Controller --------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Packet truncation with Intel I350 Gi= gabit Ethernet Controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00372461 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The setting of the hw_strip_crc fiel= d in the rte_eth_conf structure passed to the | -| | rte_eth_dev_configure() function is = not respected and hardware CRC stripping is | -| | always enabled. = | -| | If the field is set to 0, then the s= oftware also tries to strip the CRC, resulting | -| | in packet truncation. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The last 4 bytes of the packets rece= ived will be missing. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Fixed an omission in device initiali= zation (setting the STRCRC bit in the DVMOLR | -| | register) to respect the CRC strippi= ng selection correctly. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Systems using the Intel=C2=AE I350 G= igabit Ethernet Controller | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 1 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Device initialization failure with Intel=C2=AE Ethernet Server Adapter X= 520-T2 -------------------------------------------------------------------------= - - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Device initialization failure with I= ntel=C2=AE Ethernet Server Adapter X520-T2 | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 55 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | If this device is bound to the Linux= kernel IXGBE driver when the DPDK is | -| | initialized, DPDK is initialized, th= e device initialization fails with error code -17 | -| | =E2=80=9CIXGBE_ERR_PHY_ADDR_INVALID=E2= =80=9D. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The device is not initialized and ca= nnot be used by an application. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Introduced a small delay in device i= nitialization to allow DPDK to always find | -| | the device. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Systems using the Intel=C2=AE Ethern= et Server Adapter X520-T2 | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 10 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -DPDK kernel module is incompatible with Linux kernel version 3.3 ----------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | DPDK kernel module is incompatible w= ith Linux kernel version 3.3 | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373232 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The igb_uio kernel module fails to c= ompile on systems with Linux kernel version 3.3 | -| | due to API changes in kernel headers= | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The compilation fails and Ethernet c= ontrollers fail to initialize without the igb_uio | -| | module. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Kernel functions pci_block_user_cfg_= access() / pci_cfg_access_lock() and | -| | pci_unblock_user_cfg_access() / pci_= cfg_access_unlock() are automatically selected at | -| | compile time as appropriate. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Linux systems using kernel version 3= .3 or later | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | UIO module = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Initialization failure with Intel=C2=AE Ethernet Controller X540-T2 --------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Initialization failure with Intel=C2= =AE Ethernet Controller X540-T2 | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 57 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | This device causes a failure during = initialization when the software tries to read | -| | the part number from the device EPRO= M. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Device cannot be used. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Remove unnecessary check of the PBA = number from the device. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Systems using the Intel=C2=AE Ether= net Controller X540-T2 | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 10 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -rte_eth_dev_stop() function does not bring down the link for 1 GB NIC po= rts -------------------------------------------------------------------------= --- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | rte_eth_dev_stop() function does not= bring down the link for 1 GB NIC ports | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373183 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | When the rte_eth_dev_stop() function= is used to stop a NIC port, the link is not | -| | brought down for that port. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Links are still reported as up, even= though the NIC device has been stopped and | -| | cannot perform TX or RX operations o= n that port. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The rte_eth_dev_stop() function now = brings down the link when called. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 1 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -It is not possible to adjust the duplex setting for 1GB NIC ports ------------------------------------------------------------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | It is not possible to adjust the dup= lex setting for 1 GB NIC ports | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 66 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The rte_eth_conf structure does not = have a parameter that allows a port to be set to | -| | half-duplex instead of full-duplex m= ode, therefore, 1 GB NICs cannot be configured | -| | explicitly to a full- or half-duplex= value. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | 1 GB port duplex capability cannot b= e set manually. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The PMD now uses a new field added t= o the rte_eth_conf structure to allow 1 GB ports | -| | to be configured explicitly as half-= or full-duplex. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 1 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Calling rte_eth_dev_stop() on a port does not free all the mbufs in use = by that port -------------------------------------------------------------------------= ------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Calling rte_eth_dev_stop() on a port= does not free all the mbufs in use by that port | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 67 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The rte_eth_dev_stop() function init= ially frees all mbufs used by that port=E2=80=99s RX and | -| | TX rings, but subsequently repopulat= es the RX ring again later in the function. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Not all mbufs used by a port are fre= ed when the port is stopped. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The driver no longer re-populates th= e RX ring in the rte_eth_dev_stop() function. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB and IXGBE Poll Mode Drivers (PMD= s) | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -PMD does not always create rings that are properly aligned in memory --------------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | PMD does not always create rings tha= t are properly aligned in memory | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373158 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The NIC hardware used by the PMD req= uires that the RX and TX rings used must be | -| | aligned in memory on a 128-byte boun= dary. The memzone reservation function used | -| | inside the PMD only guarantees that = the rings are aligned on a 64-byte boundary, so | -| | errors can occur if the rings are no= t aligned on a 128-byte boundary. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Unintended overwriting of memory can= occur and PMD behavior may also be effected. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | A new rte_memzone_reserve_aligned() = API has been added to allow memory reservations | -| | from hugepage memory at alignments o= ther than 64-bytes. The PMD has been modified so | -| | that the rings are allocated using t= his API with minimum alignment of 128-bytes. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB and IXGBE Poll Mode Drivers (PMD= s) | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Checksum offload might not work correctly when mixing VLAN-tagged and or= dinary packets -------------------------------------------------------------------------= -------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Checksum offload might not work corr= ectly when mixing VLAN-tagged and ordinary | -| | packets = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378372 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Incorrect handling of protocol heade= r lengths in the PMD driver | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The checksum for one of the packets = may be incorrect. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Corrected the offset calculation. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Port not found issue with Intel=C2=AE 82580 Gigabit Ethernet Controller ------------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Port not found issue with Intel=C2=AE= 82580 Gigabit Ethernet Controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 50 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | After going through multiple driver = unbind/bind cycles, an Intel=C2=AE 82580 | -| | Ethernet Controller port may no long= er be found and initialized by the | -| | DPDK. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The port will be unusable. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Issue was not reproducible and there= fore no longer considered an issue. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | 1 GbE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Packet mbufs may be leaked from mempool if rte_eth_dev_start() function = fails -------------------------------------------------------------------------= ----- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Packet mbufs may be leaked from memp= ool if rte_eth_dev_start() function fails | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373373 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The rte_eth_dev_start() function all= ocates mbufs to populate the NIC RX rings. If the | -| | start function subsequently fails, t= hese mbufs are not freed back to the memory pool | -| | from which they came. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | mbufs may be lost to the system if r= te_eth_dev_start() fails and the application does | -| | not terminate. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | mbufs are correctly deallocated if a= call to rte_eth_dev_start() fails. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Promiscuous mode for 82580 NICs can only be enabled after a call to rte_= eth_dev_start for a port -------------------------------------------------------------------------= ------------------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Promiscuous mode for 82580 NICs can = only be enabled after a call to rte_eth_dev_start | -| | for a port = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373833 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | For 82580-based network ports, the r= te_eth_dev_start() function can overwrite the | -| | setting of the promiscuous mode for = the device. | -| | = | -| | Therefore, the rte_eth_promiscuous_e= nable() API call should be called after | -| | rte_eth_dev_start() for these device= s. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Promiscuous mode can only be enabled= if API calls are in a specific order. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | The NIC now restores most of its con= figuration after a call to rte_eth_dev_start(). | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Incorrect CPU socket information reported in /proc/cpuinfo can prevent t= he DPDK from running -------------------------------------------------------------------------= -------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Incorrect CPU socket information rep= orted in /proc/cpuinfo can prevent the Intel=C2=AE | -| | DPDK from running = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 63 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The DPDK users information supplied = by the Linux kernel to determine the | -| | hardware properties of the system be= ing used. On rare occasions, information supplied | -| | by /proc/cpuinfo does not match that= reported elsewhere. In some cases, it has been | -| | observed that the CPU socket numberi= ng given in /proc/cpuinfo is incorrect and this | -| | can prevent DPDK from operating. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The DPDK cannot run on systems where= /proc/cpuinfo does not report the correct | -| | CPU socket topology. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | CPU socket information is now read f= rom /sys/devices/cpu/pcuN/topology | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -L3FWD sample application may fail to transmit packets under extreme cond= itions -------------------------------------------------------------------------= ------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | L3FWD sample application may fail to= transmit packets under extreme conditions | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00372919 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Under very heavy load, the L3 Forwar= ding sample application may fail to transmit | -| | packets due to the system running ou= t of free mbufs. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Sending and receiving data with the = PMD may fail. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | The number of mbufs is now calculate= d based on application parameters. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | L3 Forwarding sample application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -L3FWD-VF might lose CRC bytes ------------------------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | L3FWD-VF might lose CRC bytes = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373424 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Currently, the CRC stripping configu= ration does not affect the VF driver. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Packets transmitted by the DPDK in t= he VM may be lacking 4 bytes (packet CRC). | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | Set =E2=80=9Cstrip_crc=E2=80=9D to 1= in the sample applications that use the VF PMD. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB and IXGBE VF Poll Mode Drivers (= PMDs) | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -32-bit DPDK sample applications fails when using more than one 1 GB huge= page -------------------------------------------------------------------------= ---- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | 32-bit Intel=C2=AE DPDK sample appl= ications fails when using more than one 1 GB hugepage | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 31 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | 32-bit applications may have problem= s when running with multiple 1 GB pages on a | -| | 64-bit OS. This is due to the limite= d address space available to 32-bit processes. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | 32-bit processes need to use either = 2 MB pages or have their memory use constrained | -| | to 1 GB if using 1 GB pages. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | EAL now limits virtual memory to 1 G= B per page size. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | 64-bit systems running 32-bit Intel= =C2=AE DPDK with 1 GB hugepages | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -l2fwd fails to launch if the NIC is the Intel=C2=AE 82571EB Gigabit Ethe= rnet Controller -------------------------------------------------------------------------= ---------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | l2fwd fails to launch if the NIC is = the Intel=C2=AE 82571EB Gigabit Ethernet Controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373340 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The 82571EB NIC can handle only one = TX per port. The original implementation allowed | -| | for a more complex handling of multi= ple queues per port. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The l2fwd application fails to laun= ch if the NIC is 82571EB. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | l2fwd now uses only one TX queue. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Sample Application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -32-bit DPDK applications may fail to initialize on 64-bit OS ------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | 32-bit DPDK applications may fail to= initialize on 64-bit OS | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378513 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The EAL used a 32-bit pointer to dea= l with physical addresses. This could create | -| | problems when the physical address o= f a hugepage exceeds the 4 GB limit. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | 32-bit applications may not initiali= ze on a 64-bit OS. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | The physical address pointer is now = 64-bit. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | 32-bit applications in a 64-bit Linu= x* environment | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Lpm issue when using prefixes > 24 ----------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Lpm issue when using prefixes > 24 = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378395 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Extended tbl8's are overwritten by m= ultiple lpm rule entries when the depth is | -| | greater than 24. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | LPM tbl8 entries removed by addition= al rules. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | Adding tbl8 entries to a valid group= to avoid making the entire table invalid and | -| | subsequently overwritten. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Sample applications = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -IXGBE PMD hangs on port shutdown when not all packets have been sent --------------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | IXGBE PMD hangs on port shutdown whe= n not all packets have been sent | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373492 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | When the PMD is forwarding packets, = and the link goes down, and port shutdown is | -| | called, the port cannot shutdown. In= stead, it hangs due to the IXGBE driver | -| | incorrectly performing the port shut= down procedure. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The port cannot shutdown and does no= t come back up until re-initialized. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | The port shutdown procedure has bee= n rewritten. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IXGBE Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Config file change can cause build to fail ------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Config file change can cause build t= o fail | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00369247 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | If a change in a config file results= in some DPDK files that were needed no | -| | longer being needed, the build will = fail. This is because the \*.o file will still | -| | exist, and the linker will try to li= nk it. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | DPDK compilation failure = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The Makefile now provides instructio= ns to clean out old kernel module object files. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Load balance sample application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -rte_cmdline library should not be used in production code due to limited= testing -------------------------------------------------------------------------= -------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | rte_cmdline library should not be us= ed in production code due to limited testing | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 34 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The rte_cmdline library provides a c= ommand line interface for use in sample | -| | applications and test applications d= istributed as part of DPDK. However, it is | -| | not validated to the same standard a= s other DPDK libraries. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | It may contain bugs or errors that c= ould cause issues in production applications. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The rte_cmdline library is now teste= d correctly. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | rte_cmdline = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Some \*_INITIALIZER macros are not compatible with C++ ------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Some \*_INITIALIZER macros are not c= ompatible with C++ | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00371699 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | These macros do not work with C++ co= mpilers, since they use the C99 method of named | -| | field initialization. The TOKEN_*_IN= ITIALIZER macros in librte_cmdline have this | -| | problem. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | C++ application using these macros w= ill fail to compile. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | Macros are now compatible with C++ c= ode. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | rte_timer, rte_cmdline = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -No traffic through bridge when using exception_path sample application ----------------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | No traffic through bridge when using= exception_path sample application | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00168356 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | On some systems, packets are sent fr= om the exception_path to the tap device, but are | -| | not forwarded by the bridge. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The sample application does not work= as described in its sample application guide. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | If you cannot get packets though the= bridge, it might be because IP packet filtering | -| | rules are up by default on the bridg= e. In that case you can disable it using the | -| | following: = | -| | = | -| | # for i in /proc/sys/net/bridge/brid= ge_nf-\*; do echo 0 > $i; done | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Linux = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Exception path sample application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Segmentation Fault in testpmd after config fails ------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Segmentation Fault in testpmd after = config fails | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00378638 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Starting testpmd with a parameter th= at causes port queue setup to fail, for example, | -| | set TX WTHRESH to non 0 when tx_rs_t= hresh is greater than 1, then doing | -| | =E2=80=9Cport start all=E2=80=9D. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Seg fault in testpmd = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | Testpmd now forces port reconfigurat= ion if the initial configuration failed. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Testpmd Sample Application = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Linux kernel pci_cfg_access_lock() API can be prone to deadlock ---------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Linux kernel pci_cfg_access_lock() A= PI can be prone to deadlock | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00373232 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The kernel APIs used for locking in = the igb_uio driver can cause a deadlock in | -| | certain situations. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Unknown at this time; depends on the= application. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | The igb_uio driver now uses the pci_= cfg_access_trylock() function instead of | -| | pci_cfg_access_lock(). = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB UIO Driver = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -When running multi-process applications, =E2=80=9Crte_malloc=E2=80=9D fu= nctions cannot be used in secondary processes -------------------------------------------------------------------------= ----------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | When running multi-process applicati= ons, =E2=80=9Crte_malloc=E2=80=9D functions cannot be used in | -| | secondary processes = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 35 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The rte_malloc library provides a se= t of malloc-type functions that reserve memory | -| | from hugepage shared memory. Since s= econdary processes cannot reserve memory directly | -| | from hugepage memory, rte_malloc fun= ctions cannot be used reliably. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The librte_malloc functions, for exa= mple, rte_malloc(), rte_zmalloc() | -| | and rte_realloc() cannot be used rel= iably in secondary processes. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | In addition to re-entrancy support, = the Intel=C2=AE DPDK now supports the reservation of | -| | a memzone from the primary thread or= secondary threads. This is achieved by putting | -| | the reservation-related control data= structure of the memzone into shared memory. | -| | Since rte_malloc functions request m= emory directly from the memzone, the limitation | -| | for secondary threads no longer appl= ies. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | rte_malloc = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Configuring maximum packet length for IGB with VLAN enabled may not take= into account the length of VLAN tag -------------------------------------------------------------------------= ------------------------------------ - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Configuring maximum packet length fo= r IGB with VLAN enabled may not take into account | -| | the length of VLAN tag = | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00379880 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | For IGB, the maximum packet length c= onfigured may not include the length of the VLAN | -| | tag even if VLAN is enabled. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Packets with a VLAN tag with a size = close to the maximum may be dropped. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | NIC registers are now correctly init= ialized. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All with IGB NICs = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Intel=C2=AE I210 Ethernet controller always strips CRC of incoming packe= ts ---------------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Intel=C2=AE I210 Ethernet controller= always strips CRC of incoming packets | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00380265 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The Intel=C2=AE I210 Ethernet contr= oller (NIC) removes 4 bytes from the end of the packet | -| | regardless of whether it was configu= red to do so or not. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Packets will be missing 4 bytes if t= he NIC is not configured to strip CRC. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/ Workaround | NIC registers are now correctly ini= tialized. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | IGB Poll Mode Driver (PMD) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -EAL can silently reserve less memory than requested ---------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | EAL can silently reserve less memory= than requested | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00380689 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | During application initialization, t= he EAL can silently reserve less memory than | -| | requested by the user through the -m= application option. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The application fails to start. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | EAL will detect if this condition oc= curs and will give an appropriate error message | -| | describing steps to fix the problem.= | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Environmental Abstraction Layer (EAL= ) | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -SSH connectivity with the board may be lost when starting a DPDK applica= tion -------------------------------------------------------------------------= ---- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | SSH connectivity with the board may = be lost when starting a DPDK application | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 26 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Currently, the Intel=C2=AE DPDK tak= es over all the NICs found on the board that are | -| | supported by the DPDK. This results = in these NICs being removed from the NIC | -| | set handled by the kernel,which has = the side effect of any SSH connection being | -| | terminated. See also issue #27. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Loss of network connectivity to boar= d. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | DPDK now no longer binds ports on st= artup. Please refer to the Getting Started | -| | Guide for information on how to bind= /unbind ports from DPDK. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Systems using a Intel=C2=AEDPDK supp= orted NIC for remote system access | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Environment Abstraction Layer (EAL) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Remote network connections lost when running autotests or sample applica= tions -------------------------------------------------------------------------= ----- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Remote network connections lost when= running autotests or sample applications | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | 27 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The PCI autotest and sample applicat= ions will scan for PCI devices and will remove | -| | from Linux* control those recognized= by it. This may result in the loss of network | -| | connections to the system. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Loss of network connectivity to boar= d when connected remotely. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | DPDK now no longer binds ports on st= artup. | -| | Please refer to the Getting Started = Guide for information on how to bind/unbind ports | -| | from DPDK. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | Systems using a DPDK supported NIC f= or remote system access | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Sample applications = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -KNI may not work properly in a multi-process environment --------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | KNI may not work properly in a multi= -process environment | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00380475 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Some of the network interface operat= ions such as, MTU change or link UP/DOWN, when | -| | executed on KNI interface, might fai= l in a multi-process environment, although they | -| | are normally successful in the DPDK = single process environment. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Some network interface operations on= KNI cannot be used in a DPDK | -| | multi-process environment. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution | The ifconfig callbacks are now expli= citly set in either master or secondary process. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Kernel Network Interface (KNI) = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Hash library cannot be used in multi-process applications with multiple = binaries -------------------------------------------------------------------------= -------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Hash library cannot be used in multi= -process applications with multiple binaries | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00168658 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | The hash function used by a given ha= sh-table implementation is referenced in the code | -| | by way of a function pointer. This m= eans that it cannot work in cases where the hash | -| | function is at a different location = in the code segment in different processes, as is | -| | the case where a DPDK multi-process = application uses a number of different | -| | binaries, for example, the client-se= rver multi-process example. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | The Hash library will not work if sh= ared by multiple processes. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | New API was added for multiprocess s= cenario. Please refer to DPDK Programmer=E2=80=99s | -| | Guide for more information. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | librte_hash library = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Unused hugepage files are not cleared after initialization ----------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Hugepage files are not cleared after= initialization | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00383462 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | EAL leaves hugepages allocated at in= itialization in the hugetlbfs even if they are | -| | not used. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | Reserved hugepages are not freed bac= k to the system, preventing other applications | -| | that use hugepages from running. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Reserved and unused hugepages are no= w freed back to the system. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | EAL = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - -Packet reception issues when virtualization is enabled ------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Packet reception issues when virtual= ization is enabled | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00369908 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | Packets are not transmitted or recei= ved on when VT-d is enabled in the BIOS and Intel | -| | IOMMU is used. More recent kernels d= o not exhibit this issue. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | An application requiring packet tran= smission or reception will not function. | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | DPDK Poll Mode Driver now has the ab= ility to map correct physical addresses to | -| | the device structures. = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Poll mode drivers = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ - - - -Double VLAN does not work on Intel=C2=AE 40GbE Ethernet controller -------------------------------------------------------------- - -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Title | Double VLAN does not work on Intel=C2= =AE 40GbE Ethernet controller | -| | = | -+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ -| Reference # | IXA00369908 = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Description | On Intel=C2=AE 40 GbE Ethernet contr= oller double VLAN does not work. | -| | This was confirmed as a Firmware iss= ue which will be fixed in later versions of | -| | firmware. = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Implication | After setting double vlan to be enab= led on a port, no packets can be transmitted out | -| | on that port. = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Resolution/Workaround | Resolved in latest release with firm= ware upgrade. | -| | = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Affected Environment/Platform | All = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ -| Driver/Module | Poll mode drivers = | -| | = | -+---------------------------------+-------------------------------------= --------------------------------------------------+ diff --git a/doc/guides/rel_notes/supported_features.rst b/doc/guides/rel= _notes/supported_features.rst deleted file mode 100644 index 1102b66..0000000 --- a/doc/guides/rel_notes/supported_features.rst +++ /dev/null @@ -1,396 +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 FO= R - 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 AN= Y - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US= E - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Supported Features -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -* Packet Distributor library for dynamic, single-packet at a time, loa= d balancing - -* IP fragmentation and reassembly library - -* Support for IPv6 in IP fragmentation and reassembly sample applicati= ons - -* Support for VFIO for mapping BARs and setting up interrupts - -* Link Bonding PMD Library supporting round-robin, active backup, bala= nce(layer 2, layer 2+3, and layer 3+4), broadcast bonding modes - 802.3ad link aggregation (mode 4), transmit load balancing (mode 5) = and adaptive load balancing (mode 6) - -* Support zero copy mode RX/TX in user space vhost sample - -* Support multiple queues in virtio-net PMD - -* Support for Intel 40GbE Controllers: - - * Intel=C2=AE XL710 40 Gigabit Ethernet Controller - - * Intel=C2=AE X710 40 Gigabit Ethernet Controller - -* Support NIC filters in addition to flow director for Intel=C2=AE 1Gb= E and 10GbE Controllers - -* Virtualization (KVM) - - * Userspace vhost switch: - - New sample application to support userspace virtio back-end in h= ost and packet switching between guests. - -* Virtualization (Xen) - - * Support for DPDK application running on Xen Domain0 without huge= pages. - - * Para-virtualization - - Support front-end Poll Mode Driver in guest domain - - Support userspace packet switching back-end example in host doma= in - -* FreeBSD* 9.2 support for librte_pmd_e1000, librte_pmd_ixgbe and Virt= ual Function variants. - Please refer to the *DPDK for FreeBSD\* Getting Started Guide*. - Application support has been added for the following: - - * multiprocess/symmetric_mp - - * multiprocess/simple_mp - - * l2fwd - - * l3fwd - -* Support for sharing data over QEMU IVSHMEM - -* Support for Intel=C2=AE Communications Chipset 8925 to 8955 Series i= n the DPDK-QAT Sample Application - -* New VMXNET3 driver for the paravirtual device presented to a VM by t= he VMware* ESXi Hypervisor. - -* BETA: example support for basic Netmap applications on DPDK - -* Support for the wireless KASUMI algorithm in the dpdk_qat sample app= lication - -* Hierarchical scheduler implementing 5-level scheduling hierarchy (po= rt, sub-port, pipe, traffic class, queue) - with 64K leaf nodes (packet queues). - -* Packet dropper based on Random Early Detection (RED) congestion cont= rol mechanism. - -* Traffic Metering based on Single Rate Three Color Marker (srTCM) and= Two Rate Three Color Marker (trTCM). - -* An API for configuring RSS redirection table on the fly - -* An API to support KNI in a multi-process environment - -* IPv6 LPM forwarding - -* Power management library and sample application using CPU frequency = scaling - -* IPv4 reassembly sample application - -* Quota & Watermarks sample application - -* PCIe Multi-BAR Mapping Support - -* Support for Physical Functions in Poll Mode Driver for the following= devices: - - * Intel=C2=AE 82576 Gigabit Ethernet Controller - - * Intel=C2=AE i350 Gigabit Ethernet Controller - - * Intel=C2=AE 82599 10-Gigabit Ethernet Controller - - * Intel=C2=AE XL710/X710 40-Gigabit Ethernet Controller - -* Quality of Service (QoS) Hierarchical Scheduler: Sub-port Traffic Cl= ass Oversubscription - -* Multi-thread Kernel NIC Interface (KNI) for performance improvement - -* Virtualization (KVM) - - * Para-virtualization - - Support virtio front-end poll mode driver in guest virtual machi= ne - Support vHost raw socket interface as virtio back-end via KNI - - * SR-IOV Switching for the 10G Ethernet Controller - - Support Physical Function to start/stop Virtual Function Traffic - - Support Traffic Mirroring (Pool, VLAN, Uplink and Downlink) - - Support VF multiple MAC addresses (Exact/Hash match), VLAN filte= ring - - Support VF receive mode configuration - -* Support VMDq for 1 GbE and 10 GbE NICs - -* Extension for the Quality of Service (QoS) sample application to all= ow statistics polling - -* New libpcap -based poll-mode driver, including support for reading = from 3rd Party NICs - using Linux kernel drivers - -* New multi-process example using fork() to demonstrate application re= siliency and recovery, - including reattachment to and re-initialization of shared data struc= tures where necessary - -* New example (vmdq) to demonstrate VLAN-based packet filtering - -* Improved scalability for scheduling large numbers of timers using th= e rte_timer library - -* Support for building the DPDK as a shared library - -* Support for Intel=C2=AE Ethernet Server Bypass Adapter X520-SR2 - -* Poll Mode Driver support for the Intel=C2=AE Ethernet Connection I3= 54 on the Intel=C2=AE Atom=E2=84=A2=20 - Processor C2000 Product Family SoCs - -* IPv6 exact match flow classification in the l3fwd sample application - -* Support for multiple instances of the Intel=C2=AE DPDK - -* Support for Intel=C2=AE 82574L Gigabit Ethernet Controller - Intel=C2= =AE Gigabit CT Desktop Adapter - (previously code named "Hartwell") - -* Support for Intel=C2=AE Ethernet Controller I210 (previously code na= med "Springville") - -* Early access support for the Quad-port Intel=C2=AE Ethernet Server = Adapter X520-4 and X520-DA2 - (code named "Spring Fountain") - -* Support for Intel=C2=AE X710/XL710 40 Gigabit Ethernet Controller (= code named "Fortville") - -* Core components: - - * rte_mempool: allocator for fixed-sized objects - - * rte_ring: single- or multi- consumer/producer queue implementati= on - - * rte_timer: implementation of timers - - * rte_malloc: malloc-like allocator - - * rte_mbuf: network packet buffers, including fragmented buffers - - * rte_hash: support for exact-match flow classification in softwar= e - - * rte_lpm: support for longest prefix match in software for IPv4 a= nd IPv6 - - * rte_sched: support for QoS scheduling - - * rte_meter: support for QoS traffic metering - - * rte_power: support for power management - - * rte_ip_frag: support for IP fragmentation and reassembly - -* Poll Mode Driver - Common (rte_ether) - - * VLAN support - - * Support for Receive Side Scaling (RSS) - - * IEEE1588 - - * Buffer chaining; Jumbo frames - - * TX checksum calculation - - * Configuration of promiscuous mode, and multicast packet receive = filtering - - * L2 Mac address filtering - - * Statistics recording - -* IGB Poll Mode Driver - 1 GbE Controllers (librte_pmd_e1000) - - * Support for Intel=C2=AE 82576 Gigabit Ethernet Controller (previ= ously code named "Kawela") - - * Support for Intel=C2=AE 82580 Gigabit Ethernet Controller (previ= ously code named "Barton Hills") - - * Support for Intel=C2=AE I350 Gigabit Ethernet Controller (previ= ously code named "Powerville") - - * Support for Intel=C2=AE 82574L Gigabit Ethernet Controller - Int= el=C2=AE Gigabit CT Desktop Adapter - (previously code named "Hartwell") - - * Support for Intel=C2=AE Ethernet Controller I210 (previously cod= e named "Springville") - - * Support for L2 Ethertype filters, SYN filters, 2-tuple filters a= nd Flex filters for 82580 and i350 - - * Support for L2 Ethertype filters, SYN filters and L3/L4 5-tuple = filters for 82576 - -* Poll Mode Driver - 10 GbE Controllers (librte_pmd_ixgbe) - - * Support for Intel=C2=AE 82599 10 Gigabit Ethernet Controller (pr= eviously code named "Niantic") - - * Support for Intel=C2=AE Ethernet Server Adapter X520-T2 (previou= sly code named "Iron Pond") - - * Support for Intel=C2=AE Ethernet Controller X540-T2 (previously = code named "Twin Pond") - - * Support for Virtual Machine Device Queues (VMDq) and Data Center= Bridging (DCB) to divide - incoming traffic into 128 RX queues. DCB is also supported for t= ransmitting packets. - - * Support for auto negotiation down to 1 Gb - - * Support for Flow Director - - * Support for L2 Ethertype filters, SYN filters and L3/L4 5-tuple = filters for 82599EB - -* Poll Mode Driver - 40 GbE Controllers (librte_pmd_i40e) - - * Support for Intel=C2=AE XL710 40 Gigabit Ethernet Controller - - * Support for Intel=C2=AE X710 40 Gigabit Ethernet Controller - -* Environment Abstraction Layer (librte_eal) - - * Multi-process support - - * Multi-thread support - - * 1 GB and 2 MB page support - - * Atomic integer operations - - * Querying CPU support of specific features - - * High Precision Event Timer support (HPET) - - * PCI device enumeration and blacklisting - - * Spin locks and R/W locks - -* Test PMD application - - * Support for PMD driver testing - -* Test application - - * Support for core component tests - -* Sample applications - - * Command Line - - * Exception Path (into Linux* for packets using the Linux TUN/TAP = driver) - - * Hello World - - * Integration with Intel=C2=AE Quick Assist Technology drivers 1.0= .0, 1.0.1 and 1.1.0 on Intel=C2=AE=20 - Communications Chipset 89xx Series C0 and C1 silicon. - - * Link Status Interrupt (Ethernet* Link Status Detection - - * IPv4 Fragmentation - - * IPv4 Multicast - - * IPv4 Reassembly - - * L2 Forwarding (supports virtualized and non-virtualized environm= ents) - - * L2 Forwarding Job Stats - - * L3 Forwarding (IPv4 and IPv6) - - * L3 Forwarding in a Virtualized Environment - - * L3 Forwarding with Power Management - - * Bonding mode 6 - - * QoS Scheduling - - * QoS Metering + Dropper - - * Quota & Watermarks - - * Load Balancing - - * Multi-process - - * Timer - - * VMDQ and DCB L2 Forwarding - - * Kernel NIC Interface (with ethtool support) - - * Userspace vhost switch - -* Interactive command line interface (rte_cmdline) - -* Updated 10 GbE Poll Mode Driver (PMD) to the latest BSD code base pr= oviding support of newer - ixgbe 10 GbE devices such as the Intel=C2=AE X520-T2 server Ethernet= adapter - -* An API for configuring Ethernet flow control - -* Support for interrupt-based Ethernet link status change detection - -* Support for SR-IOV functions on the Intel=C2=AE 82599, Intel=C2=AE 8= 2576 and Intel=C2=AE i350 Ethernet - Controllers in a virtualized environment - -* Improvements to SR-IOV switch configurability on the Intel=C2=AE 825= 99 Ethernet Controllers in - a virtualized environment. - -* An API for L2 Ethernet Address "whitelist" filtering - -* An API for resetting statistics counters - -* Support for RX L4 (UDP/TCP/SCTP) checksum validation by NIC - -* Support for TX L3 (IPv4/IPv6) and L4 (UDP/TCP/SCTP) checksum calcula= tion offloading - -* Support for IPv4 packet fragmentation and reassembly - -* Support for zero-copy Multicast - -* New APIs to allow the "blacklisting" of specific NIC ports. - -* Header files for common protocols (IP, SCTP, TCP, UDP) - -* Improved multi-process application support, allowing multiple co-ope= rating DPDK - processes to access the NIC port queues directly. - -* CPU-specific compiler optimization - -* Job stats library for load/cpu utilization measurements - -* Improvements to the Load Balancing sample application - -* The addition of a PAUSE instruction to tight loops for energy-usage = and performance improvements - -* Updated 10 GbE Transmit architecture incorporating new upstream PCIe= * optimizations. - -* IPv6 support: - - * Support in Flow Director Signature Filters and masks - - * RSS support in sample application that use RSS - - * Exact match flow classification in the L3 Forwarding sample appl= ication - - * Support in LPM for IPv6 addresses - -* Tunneling packet support: - - * Provide the APIs for VXLAN destination UDP port and VXLAN packet= filter configuration - and support VXLAN TX checksum offload on Intel=C2=AE 40GbE Contr= ollers. diff --git a/doc/guides/rel_notes/supported_os.rst b/doc/guides/rel_notes= /supported_os.rst index c33f731..7ccddbf 100644 --- a/doc/guides/rel_notes/supported_os.rst +++ b/doc/guides/rel_notes/supported_os.rst @@ -31,19 +31,19 @@ Supported Operating Systems =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D =20 -The following Linux* distributions were successfully used to generate or= run=C2=A0DPDK. +The following Linux distributions were successfully used to compiler or = run DPDK. =20 -* FreeBSD* 10 +* FreeBSD 10 =20 * Fedora release 20 =20 -* Ubuntu* 14.04 LTS +* Ubuntu 14.04 LTS =20 -* Wind River* Linux* 6 +* Wind River Linux 6 =20 -* Red Hat* Enterprise Linux 6.5 +* Red Hat Enterprise Linux 6.5 =20 -* SUSE Enterprise Linux* 11 SP3 +* SUSE Enterprise Linux 11 SP3 =20 These distributions may need additional packages that are not installed = by default, or a specific kernel. -Refer to the *DPDK Getting Started Guide* for details. +Refer to the :doc:`/linux_gsg/index` and :doc:`/freebsd_gsg/index` for = details. diff --git a/doc/guides/rel_notes/updating_apps.rst b/doc/guides/rel_note= s/updating_apps.rst deleted file mode 100644 index b49cb61..0000000 --- a/doc/guides/rel_notes/updating_apps.rst +++ /dev/null @@ -1,136 +0,0 @@ -Updating Applications from Previous Versions -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -Although backward compatibility is being maintained across DPDK releases= , code written for previous versions of the DPDK -may require some code updates to benefit from performance and user exper= ience enhancements provided in later DPDK releases. - -DPDK 2.0 to DPDK 2.1 --------------------- - -* The second argument of rte_pktmbuf_pool_init(mempool, opaque) is now= a - pointer to a struct rte_pktmbuf_pool_private instead of a uint16_t - casted into a pointer. Backward compatibility is preserved when the - argument was NULL which is the majority of use cases, but not if the - opaque pointer was not NULL, as it is not technically feasible. In - this case, the application has to be modified to properly fill a - rte_pktmbuf_pool_private structure and pass it to - rte_pktmbuf_pool_init(). - -* A simpler helper rte_pktmbuf_pool_create() can be used to create a - packet mbuf pool. The old way using rte_mempool_create() is still - supported though and is still used for more specific cases. - -DPDK 1.7 to DPDK 1.8 --------------------- - -Note that in DPDK 1.8, the structure of the rte_mbuf has changed conside= rably from all previous versions. -It is recommended that users familiarize themselves with the new structu= re defined in the file rte_mbuf.h in the release package. -The follow are some common changes that need to be made to code using mb= ufs, following an update to DPDK 1.8: - -* Any references to fields in the pkt or ctrl sub-structures of the mb= uf, need to be replaced with references to the field - directly from the rte_mbuf, i.e. buf->pkt.data_len should be replace= by buf->data_len. - -* Any direct references to the data field of the mbuf (original buf->p= kt.data) should now be replace by the macro rte_pktmbuf_mtod - to get a computed data address inside the mbuf buffer area. - -* Any references to the in_port mbuf field should be replace by refere= nces to the port field. - -NOTE: The above list is not exhaustive, but only includes the most commo= nly required changes to code using mbufs. - -Intel=C2=AE DPDK 1.6 to DPDK 1.7 ---------------------------- - -Note the following difference between 1.6 and 1.7: - -* The "default" target has been renamed to "native" - -Intel=C2=AE DPDK 1.5 to Intel=C2=AE DPDK 1.6 ----------------------------------- - -Note the following difference between 1.5 and 1.6: - -* The CONFIG_RTE_EAL _UNBIND_PORTS configuration option, which was dep= recated in Intel=C2=AE DPDK 1.4.x, has been removed in Intel=C2=AE DPDK 1= .6.x. - Applications using the Intel=C2=AE DPDK must be explicitly unbound t= o the igb_uio driver using the dpdk_nic_bind.py script included in the - Intel=C2=AE DPDK release and documented in the *Intel=C2=AE DPDK Get= ting Started Guide*. - -Intel=C2=AE DPDK 1.4 to Intel=C2=AE DPDK 1.5 ----------------------------------- - -Note the following difference between 1.4 and 1.5: - -* Starting with version 1.5, the top-level directory created from unzi= pping the release package will now contain the release version number, - that is, DPDK-1.5.2/ rather than just DPDK/ . - -Intel=C2=AE DPDK 1.3 to Intel=C2=AE DPDK 1.4.x ------------------------------------- - -Note the following difference between releases 1.3 and 1.4.x: - -* In Release 1.4.x, Intel=C2=AE DPDK applications will no longer unbin= d the network ports from the Linux* kernel driver when the application in= itializes. - Instead, any ports to be used by Intel=C2=AE DPDK must be unbound fr= om the Linux driver and bound to the igb_uio driver before the applicatio= n starts. - This can be done using the pci_unbind.py script included with the In= tel=C2=AE DPDK release and documented in the *Intel=C2=AE DPDK Getting St= arted Guide*. - - If the port unbinding behavior present in previous Intel=C2=AE DPDK = releases is required, this can be re-enabled using the CONFIG_RTE_EAL_UNB= IND_PORTS - setting in the appropriate Intel=C2=AE DPDK compile-time configurati= on file. - -* In Release 1.4.x, HPET support is disabled in the Intel=C2=AE DPDK b= uild configuration files, which means that the existing rte_eal_get_hpet_= hz() and - rte_eal_get_hpet_cycles() APIs are not available by default. - For applications that require timing APIs, but not the HPET timer sp= ecifically, it is recommended that the API calls rte_get_timer_cycles() - and rte_get_timer_hz() be used instead of the HPET-specific APIs. - These generic APIs can work with either TSC or HPET time sources, de= pending on what is requested by an application, - and on what is available on the system at runtime. - - For more details on this and how to re-enable the HPET if it is need= ed, please consult the *Intel=C2=AE DPDK Getting Started Guide*. - -Intel=C2=AE DPDK 1.2 to Intel=C2=AE DPDK 1.3 ----------------------------------- - -Note the following difference between releases 1.2 and 1.3: - -* In release 1.3, the Intel=C2=AE DPDK supports two different 1 GbE dr= ivers: igb and em. - Both of them are located in the same library: lib_pmd_e1000.a. - Therefore, the name of the library to link with for the igb PMD has = changed from librte_pmd_igb.a to librte_pmd_e1000.a. - -* The rte_common.h macros, RTE_ALIGN, RTE_ALIGN_FLOOR and RTE_ALIGN_CE= IL were renamed to, RTE_PTR_ALIGN, RTE_PTR_ALIGN_FLOOR - and RTE_PTR_ALIGN_CEIL. - The original macros are still available but they have different beha= vior. - Not updating the macros results in strange compilation errors. - -* The rte_tailq is now defined statically. The rte_tailq APIs have als= o been changed from being public to internal use only. - The old public APIs are maintained for backward compatibility reason= s. Details can be found in the *Intel=C2=AE DPDK API Reference*. - -* The method for managing mbufs on the NIC RX rings has been modified = to improve performance. - To allow applications to use the newer, more optimized, code path, - it is recommended that the rx_free_thresh field in the rte_eth_conf = structure, - which is passed to the Poll Mode Driver when initializing a network = port, be set to a value of 32. - -Intel=C2=AE DPDK 1.1 to Intel=C2=AE DPDK 1.2 ----------------------------------- - -Note the following difference between release 1.1 and release 1.2: - -* The names of the 1G and 10G Ethernet drivers have changed between re= leases 1.1 and 1.2. While the old driver names still work, - it is recommended that code be updated to the new names, since the o= ld names are deprecated and may be removed in a future - release. - - The items affected are as follows: - - * Any macros referring to RTE_LIBRTE_82576_PMD should be updated t= o refer to RTE_LIBRTE_IGB_PMD. - - * Any macros referring to RTE_LIBRTE_82599_PMD should be updated t= o refer to RTE_LIBRTE_IXGBE_PMD. - - * Any calls to the rte_82576_pmd_init() function should be replace= d by calls to rte_igb_pmd_init(). - - * Any calls to the rte_82599_pmd_init() function should be replace= d by calls to rte_ixgbe_pmd_init(). - -* The method used for managing mbufs on the NIC TX rings for the 10 Gb= E driver has been modified to improve performance. - As a result, different parameter values should be passed to the rte_= eth_tx_queue_setup() function. - The recommended default values are to have tx_thresh.tx_wthresh, tx_= free_thresh, - as well as the new parameter tx_rs_thresh (all in the struct rte_eth= _txconf datatype) set to zero. - See the "Configuration of Transmit and Receive Queues" section in th= e *Intel=C2=AE DPDK Programmer's Guide* for more details. - -.. note:: - - If the tx_free_thresh field is set to TX_RING_SIZE+1 , as was previo= usly used in some cases to disable free threshold check, - then an error is generated at port initialization time. - To avoid this error, configure the TX threshold values as suggested = above. --=20 1.8.1.4