7. Resolved Issues
This section describes previously known issues that have been resolved since release version 1.2.
7.1. 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 |
7.2. 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 |
7.4. 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 |
7.5. 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) |
7.7. 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 |
7.8. 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 |
7.9. 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 |
7.10. 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) |
7.11. 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) |
7.12. 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 |
7.13. 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) |
7.14. 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) |
7.15. 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) |
7.16. 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) |
7.17. 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) |
7.18. 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) |
7.19. 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) |
7.20. 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) |
7.21. 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) |
7.23. 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 |
7.24. 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) |
7.25. 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) |
7.26. 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 |
7.27. 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) |
7.28. 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 |
7.29. 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) |
7.30. 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 |
7.31. 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 |
7.32. 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 |
7.33. 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 |
7.34. 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 |
7.35. 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 |
7.36. 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 |
7.37. 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) |
7.38. 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) |
7.39. 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) |
7.40. 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) |
7.41. 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 |
7.42. 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) |
7.43. 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 |
7.44. 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 |
7.45. 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 |
7.46. 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 |