.. BSD LICENSE Copyright(c) 2010-2014 Intel Corporation. All rights reserved. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TOR (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Resolved Issues =============== This section describes previously known issues that have been resolved since 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| | | | +================================+======================================================================================+ | Reference # | IXA00168949 | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Description | When TestPMD is run with only SRIOV port /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 socket 0 failed | | | | | | Then, alternately run SRIOV port and virtIO with testpmd: | | | | | | testpmd -c f -n 4 -- -i | | | | | | testpmd -c f -n 4 --use-dev="eth_xenvirt0" -- -i | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Implication | DomU will not be accessible after you repeat this action some times | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Resolution/ Workaround | Run testpmd with a "--total-num-mbufs=N(N<=3500)" | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | 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 application exit on Xen 4.0.1. | | | | +================================+======================================================================================+ | Reference # | IXA00168947 | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Description | When using DPDK applications on Xen 4.0.1, e.g. TestPMD Sample Application, | | | on killing the application (e.g. killall testmd) vhost-switch cannot detect | | | the domain U exited and does not free the Virtio device. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Implication | Virtio device not freed after application 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 driver ------------------------------------------------------------------------- +--------------------------------+--------------------------------------------------------------------------------------+ | Title | Virtio incorrect header length used if MSI-X is disabled by kernel driver or | | | if VIRTIO_NET_F_MAC is not negotiated. | | | | +================================+======================================================================================+ | Reference # | IXA00384256 | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Description | The Virtio header for host-guest communication is of variable length and | | | is dependent on whether MSI-X has been enabled by the kernel driver for the network | | | device. | | | | | | The base header length of 20 bytes will 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 this bit field is not part of the Virtio | | | specification and resolves to the VIRTIO_NET_F_MAC feature instead. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Implication | The DPDK kernel driver will enable MSI-X by default, | | | however if loaded with "intr_mode=legacy" on a guest with a Virtio Network Device, | | | a KVM-Qemu guest may crash with the following error: "virtio-net header not in first | | | element". | | | | | | If VIRTIO_NET_F_MAC feature has not been negotiated, then the Userspace Poll Mode | | | Driver will assume that MSI-X has been 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 disabled 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 application executions with 2MB pages | | | | +================================+======================================================================================+ | Reference # | IXA00372346 | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Description | The performance of an DPDK application may vary across executions of an | | | application due to a varying number of TLB misses depending on the location of | | | accessed structures in memory. | | | This situation occurs on rare occasions. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Implication | Occasionally, relatively poor performance of DPDK applications is encountered. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Resolution/ Workaround | Using 1 GB pages results in lower usage 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 MSI interrupts | | | | +================================+======================================================================================+ | Reference # | IXA00378191 | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Description | MSI interrupts are not supported by the PMD. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | Implication | Link status change will only work with 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 tested. | | | | +--------------------------------+--------------------------------------------------------------------------------------+ | 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 | | | | +=================================+=======================================================================================+ | Refererence # | IXA00383835 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | To support ethtool functionality using the KNI, the KNI libray includes seperate | | | driver code based off the Linux kernel drivers, because this driver code is seperate | | | from the poll-mode drivers, the set of supported NICs for these two components may | | | differ. | | | | | | Because of this, in this release, the KNI driver does not provide "ethtool" support | | | for the Intel® Ethernet Connection I354 on the Intel Atom Processor C2000 product | | | Family SoCs. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Ethtool support with KNI will not work for NICs such as the Intel® Ethernet | | | Connection I354. Other KNI functionality, such as injecting packets into the Linux | | | kernel is unaffected. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Updated for Intel® Ethernet Connection I354. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | Platforms using the Intel® Ethernet Connection I354 or other NICs unsupported by KNI | | | ethtool | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | KNI | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Linux IPv4 forwarding is not stable with vhost-switch on high packet rate ------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Linux IPv4 forwarding is not stable with vhost-switch on high packet rate. | | | | +=================================+=======================================================================================+ | Refererence # | IXA00384430 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Linux IPv4 forwarding is not stable in Guest when Tx traffic is high from traffic | | | generator using two virtio devices in 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 greater than 1 Mpps. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | N/A | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | AffectedEnvironment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Sample application | | | | +---------------------------------+---------------------------------------------------------------------------------------+ PCAP library overwrites mbuf data before data is used ----------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | PCAP library overwrites mbuf data before data is used | | | | +=================================+=======================================================================================+ | 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 in the mbuf is overwritten. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Fixed in eth_pcap_rx() in rte_eth_pcap.c | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Multi-threaded applications using PCAP library | | | | +---------------------------------+---------------------------------------------------------------------------------------+ MP Client Example app - flushing part of TX is not working for some ports if set specific port mask with skipped ports ---------------------------------------------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | MP Client Example app - flushing part of TX is not working for some ports if set | | | specific port mask with skipped ports | | | | +=================================+=======================================================================================+ | 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-service sample app, when no further packets are | | | received by a client, the application may not flush correctly any unsent packets | | | already buffered inside it. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Not all buffered packets are transmitted if traffic to the clients application is | | | stopped. While traffic is continually received for transmission on a port by a | | | client, buffer flushing happens normally. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Changed line 284 of the client.c file: | | | | | | 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® I350 Gigabit Ethernet Controller -------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Packet truncation with Intel I350 Gigabit Ethernet Controller | | | | +=================================+=======================================================================================+ | Reference # | IXA00372461 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The setting of the hw_strip_crc field 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 software also tries to strip the CRC, resulting | | | in packet truncation. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The last 4 bytes of the packets received will be missing. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Fixed an omission in device initialization (setting the STRCRC bit in the DVMOLR | | | register) to respect the CRC stripping selection correctly. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | Systems using the Intel® I350 Gigabit Ethernet Controller | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | 1 GbE Poll Mode Driver (PMD) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Device initialization failure with Intel® Ethernet Server Adapter X520-T2 ------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Device initialization failure with Intel® Ethernet Server Adapter X520-T2 | | | | +=================================+=======================================================================================+ | Reference # | 55 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | If this device is bound to the Linux kernel IXGBE driver when the DPDK is | | | initialized, DPDK is initialized, the device initialization fails with error code -17 | | | “IXGBE_ERR_PHY_ADDR_INVALID”. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The device is not initialized and cannot be used by an application. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Introduced a small delay in device initialization to allow DPDK to always find | | | the device. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | Systems using the Intel® Ethernet 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 with Linux kernel version 3.3 | | | | +=================================+=======================================================================================+ | Reference # | IXA00373232 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The igb_uio kernel module fails to compile on systems with Linux kernel version 3.3 | | | due to API changes in kernel headers | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The compilation fails and Ethernet controllers 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® Ethernet Controller X540-T2 -------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Initialization failure with Intel® Ethernet Controller X540-T2 | | | | +=================================+=======================================================================================+ | Reference # | 57 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | This device causes a failure during initialization when the software tries to read | | | the part number from the device EEPROM. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Device cannot be used. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Remove unnecessary check of the PBA number from the device. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | Systems using the Intel® Ethernet 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 ports --------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | rte_eth_dev_stop() function does not bring down the link for 1 GB NIC ports | | | | +=================================+=======================================================================================+ | 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 on 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 duplex setting for 1 GB NIC ports | | | | +=================================+=======================================================================================+ | 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 mode, therefore, 1 GB NICs cannot be configured | | | explicitly to a full- or half-duplex value. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | 1 GB port duplex capability cannot be set manually. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | The PMD now uses a new field added to 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 | | | | +=================================+=======================================================================================+ | Reference # | 67 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The rte_eth_dev_stop() function initially frees all mbufs used by that port’s RX and | | | TX rings, but subsequently repopulates the RX ring again later in the function. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Not all mbufs used by a port are freed when the port is stopped. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | The driver no longer re-populates the RX ring in the rte_eth_dev_stop() function. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | IGB and IXGBE Poll Mode Drivers (PMDs) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ PMD does not always create rings that are properly aligned in memory -------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | PMD does not always create rings that are properly aligned in memory | | | | +=================================+=======================================================================================+ | Reference # | IXA00373158 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The NIC hardware used by the PMD requires that the RX and TX rings used must be | | | aligned in memory on a 128-byte boundary. 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 not 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 other than 64-bytes. The PMD has been modified so | | | that the rings are allocated using this API with minimum alignment of 128-bytes. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | IGB and IXGBE Poll Mode Drivers (PMDs) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Checksum offload might not work correctly when mixing VLAN-tagged and ordinary packets -------------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Checksum offload might not work correctly when mixing VLAN-tagged and ordinary | | | packets | | | | +=================================+=======================================================================================+ | Reference # | IXA00378372 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Incorrect handling of protocol header 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® 82580 Gigabit Ethernet Controller ------------------------------------------------------------------ +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Port not found issue with Intel® 82580 Gigabit Ethernet Controller | | | | +=================================+=======================================================================================+ | Reference # | 50 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | After going through multiple driver unbind/bind cycles, an Intel® 82580 | | | Ethernet Controller port may no longer be found and initialized by the | | | DPDK. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The port will be unusable. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Issue was not reproducible and therefore 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 mempool if rte_eth_dev_start() function fails | | | | +=================================+=======================================================================================+ | Reference # | IXA00373373 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The rte_eth_dev_start() function allocates mbufs to populate the NIC RX rings. If the | | | start function subsequently fails, these mbufs are not freed back to the memory pool | | | from which they came. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | mbufs may be lost to the system if rte_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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00373833 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | For 82580-based network ports, the rte_eth_dev_start() function can overwrite the | | | setting of the promiscuous mode for the device. | | | | | | Therefore, the rte_eth_promiscuous_enable() API call should be called after | | | rte_eth_dev_start() for these devices. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Promiscuous mode can only be enabled if API calls are in a specific order. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | The NIC now restores most of its configuration 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 the DPDK from running -------------------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Incorrect CPU socket information reported in /proc/cpuinfo can prevent the Intel® | | | DPDK from running | | | | +=================================+=======================================================================================+ | Reference # | 63 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The DPDK users information supplied by the Linux kernel to determine the | | | hardware properties of the system being 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 numbering 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 from /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 conditions ------------------------------------------------------------------------------ +---------------------------------+---------------------------------------------------------------------------------------+ | Title | L3FWD sample application may fail to transmit packets under extreme conditions | | | | +=================================+=======================================================================================+ | Reference # | IXA00372919 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Under very heavy load, the L3 Forwarding sample application may fail to transmit | | | packets due to the system running out of free mbufs. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Sending and receiving data with the PMD may fail. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | The number of mbufs is now calculated 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00373424 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Currently, the CRC stripping configuration does not affect the VF driver. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Packets transmitted by the DPDK in the VM may be lacking 4 bytes (packet CRC). | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | Set “strip_crc” 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 hugepage ---------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | 32-bit Intel® DPDK sample applications fails when using more than one 1 GB hugepage | | | | +=================================+=======================================================================================+ | Reference # | 31 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | 32-bit applications may have problems when running with multiple 1 GB pages on a | | | 64-bit OS. This is due to the limited 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 GB per page size. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | 64-bit systems running 32-bit Intel® DPDK with 1 GB hugepages | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Environment Abstraction Layer (EAL) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ l2fwd fails to launch if the NIC is the Intel® 82571EB Gigabit Ethernet Controller ---------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | l2fwd fails to launch if the NIC is the Intel® 82571EB Gigabit Ethernet Controller | | | | +=================================+=======================================================================================+ | Reference # | IXA00373340 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The 82571EB NIC can handle only one TX per port. The original implementation allowed | | | for a more complex handling of multiple queues per port. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The l2fwd application fails to launch 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00378513 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The EAL used a 32-bit pointer to deal with physical addresses. This could create | | | problems when the physical address of a hugepage exceeds the 4 GB limit. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | 32-bit applications may not initialize 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 Linux* environment | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Environment Abstraction Layer (EAL) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Lpm issue when using prefixes > 24 ---------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Lpm issue when using prefixes > 24 | | | | +=================================+=======================================================================================+ | Reference # | IXA00378395 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Extended tbl8's are overwritten by multiple lpm rule entries when the depth is | | | greater than 24. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | LPM tbl8 entries removed by additional 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 when not all packets have been sent | | | | +=================================+=======================================================================================+ | Reference # | IXA00373492 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | When the PMD is forwarding packets, and the link goes down, and port shutdown is | | | called, the port cannot shutdown. Instead, it hangs due to the IXGBE driver | | | incorrectly performing the port shutdown procedure. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The port cannot shutdown and does not come back up until re-initialized. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | The port shutdown procedure has been 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 to fail | | | | +=================================+=======================================================================================+ | 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 link it. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | DPDK compilation failure | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | The Makefile now provides instructions 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 used in production code due to limited testing | | | | +=================================+=======================================================================================+ | Reference # | 34 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The rte_cmdline library provides a command line interface for use in sample | | | applications and test applications distributed as part of DPDK. However, it is | | | not validated to the same standard as other DPDK libraries. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | It may contain bugs or errors that could cause issues in production applications. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | The rte_cmdline library is now tested correctly. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | rte_cmdline | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Some \*_INITIALIZER macros are not compatible with C++ ------------------------------------------------------ +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Some \*_INITIALIZER macros are not compatible with C++ | | | | +=================================+=======================================================================================+ | Reference # | IXA00371699 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | These macros do not work with C++ compilers, since they use the C99 method of named | | | field initialization. The TOKEN_*_INITIALIZER macros in librte_cmdline have this | | | problem. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | C++ application using these macros will fail to compile. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | Macros are now compatible with C++ code. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00168356 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | On some systems, packets are sent from 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 quide. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | If you cannot get packets though the bridge, it might be because IP packet filtering | | | rules are up by default on the bridge. In that case you can disable it using the | | | following: | | | | | | # for i in /proc/sys/net/bridge/bridge_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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00378638 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Starting testpmd with a parameter that causes port queue setup to fail, for example, | | | set TX WTHRESH to non 0 when tx_rs_thresh is greater than 1, then doing | | | “port start all”. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Seg fault in testpmd | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | Testpmd now forces port reconfiguration 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() API can be prone to deadlock | | | | +=================================+=======================================================================================+ | 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, “rte_malloc” functions cannot be used in secondary processes ----------------------------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | When running multi-process applications, “rte_malloc” functions cannot be used in | | | secondary processes | | | | +=================================+=======================================================================================+ | Reference # | 35 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The rte_malloc library provides a set of malloc-type functions that reserve memory | | | from hugepage shared memory. Since secondary processes cannot reserve memory directly | | | from hugepage memory, rte_malloc functions cannot be used reliably. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The librte_malloc functions, for example, rte_malloc(), rte_zmalloc() | | | and rte_realloc() cannot be used reliably in secondary processes. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | In addition to re-entrancy support, the Intel® 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 memory directly from the memzone, the limitation | | | for secondary threads no longer applies. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | rte_malloc | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Configuring maximum packet length for IGB with VLAN enabled may not take intoaccount the length of VLAN tag ----------------------------------------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Configuring maximum packet length for IGB with VLAN enabled may not take into account | | | the length of VLAN tag | | | | +=================================+=======================================================================================+ | Reference # | IXA00379880 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | For IGB, the maximum packet length configured 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 initialized. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All with IGB NICs | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | IGB Poll Mode Driver (PMD) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Intel® I210 Ethernet controller always strips CRC of incoming packets --------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Intel® I210 Ethernet controller always strips CRC of incoming packets | | | | +=================================+=======================================================================================+ | Reference # | IXA00380265 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The Intel® I210 Ethernet controller (NIC) removes 4 bytes from the end of the packet | | | regardless of whether it was configured to do so or not. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Packets will be missing 4 bytes if the NIC is not configured to strip CRC. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/ Workaround | NIC registers are now correctly initialized. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00380689 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | During application initialization, the 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 occurs and will give anappropriate 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 application ---------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | SSH connectivity with the board may be lost when starting a DPDK application | | | | +=================================+=======================================================================================+ | Reference # | 26 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Currently, the Intel® DPDK takes 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 board. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | DPDK now no longer binds ports on startup. Please refer to the Getting Started | | | Guide for information on how to bind/unbind ports from DPDK. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | Systems using a Intel®DPDK supported NIC for remote system access | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Environment Abstraction Layer (EAL) | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Remote network connections lost when running autotests or sample applications ----------------------------------------------------------------------------- +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Remote network connections lost when running autotests or sample applications | | | | +=================================+=======================================================================================+ | Reference # | 27 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The PCI autotest and sample applications 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 board when connected remotely. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution | DPDK now no longer binds ports on startup. | | | 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 for 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00380475 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Some of the network interface operations such as, MTU change or link UP/DOWN, when | | | executed on KNI interface, might fail 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 explicitly 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00168658 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | The hash function used by a given hash-table implementation is referenced in the code | | | by way of a function pointer. This means 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-server multi-process example. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | The Hash library will not work if shared by multiple processes. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | New API was added for multiprocess scenario. Please refer to DPDK Programmer’s | | | 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 | | | | +=================================+=======================================================================================+ | Reference # | IXA00383462 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | EAL leaves hugepages allocated at initialization in the hugetlbfs even if they are | | | not used. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | Reserved hugepages are not freed back to the system, preventing other applications | | | that use hugepages from running. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Reserved and unused hugepages are now freed back to the system. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | EAL | | | | +---------------------------------+---------------------------------------------------------------------------------------+ Packet reception issues when virtualization is enabled ------------------------------------------------------ +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Packet reception issues when virtualization is enabled | | | | +=================================+=======================================================================================+ | Reference # | IXA00369908 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | Packets are not transmitted or received on when VT-d is enabled in the BIOS and Intel | | | IOMMU is used. More recent kernels do not exhibit this issue. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | An application requiring packet transmission or reception will not function. | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | DPDK Poll Mode Driver now has the ability 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® 40GbE ethernet contoller ------------------------------------------------------------ +---------------------------------+---------------------------------------------------------------------------------------+ | Title | Double VLAN does not work on Intel® 40GbE ethernet controller | | | | +=================================+=======================================================================================+ | Reference # | IXA00369908 | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Description | On Intel® 40 GbE ethernet controller double VLAN does not work. | | | This was confirmed as a Firmware issue which will be fixed in later versions of | | | firmware. | +---------------------------------+---------------------------------------------------------------------------------------+ | Implication | After setting double vlan to be enabled on a port, no packets can be transmitted out | | | on that port. | +---------------------------------+---------------------------------------------------------------------------------------+ | Resolution/Workaround | Resolved in latest release with firmware upgrade. | | | | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Affected Environment/Platform | All | | | | +---------------------------------+---------------------------------------------------------------------------------------+ | Driver/Module | Poll mode drivers | | | | +---------------------------------+---------------------------------------------------------------------------------------+