doc: release notes 1.7
[dpdk.git] / doc / guides / rel_notes / resolved_issues.rst
1 ..  BSD LICENSE
2     Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
3     All rights reserved.
4
5     Redistribution and use in source and binary forms, with or without
6     modification, are permitted provided that the following conditions
7     are met:
8
9     * Redistributions of source code must retain the above copyright
10     notice, this list of conditions and the following disclaimer.
11     * Redistributions in binary form must reproduce the above copyright
12     notice, this list of conditions and the following disclaimer in
13     the documentation and/or other materials provided with the
14     distribution.
15     * Neither the name of Intel Corporation nor the names of its
16     contributors may be used to endorse or promote products derived
17     from this software without specific prior written permission.
18
19     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23     OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TOR
28     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 Resolved Issues
32 ===============
33
34 This section describes previously known issues that have been resolved since release version 1.2.
35
36 KNI does not provide Ethtool support for all NICs supported by the Poll-Mode Drivers
37 ------------------------------------------------------------------------------------
38
39 +---------------------------------+---------------------------------------------------------------------------------------+
40 | Title                           | KNI does not provide ethtool support for all NICs supported by the Poll Mode Drivers  |
41 |                                 |                                                                                       |
42 +=================================+=======================================================================================+
43 | Refererence #                   | IXA00383835                                                                           |
44 |                                 |                                                                                       |
45 +---------------------------------+---------------------------------------------------------------------------------------+
46 | Description                     | To support ethtool functionality using the KNI, the KNI libray includes seperate      |
47 |                                 | driver code based off the Linux kernel drivers, because this driver code is seperate  |
48 |                                 | from the poll-mode drivers, the set of supported NICs for these two components may    |
49 |                                 | differ.                                                                               |
50 |                                 |                                                                                       |
51 |                                 | Because of this, in this release, the KNI driver does not provide "ethtool" support   |
52 |                                 | for the Intel® Ethernet Connection I354 on the Intel Atom  Processor C2000 product    |
53 |                                 | Family SoCs.                                                                          |
54 |                                 |                                                                                       |
55 +---------------------------------+---------------------------------------------------------------------------------------+
56 | Implication                     | Ethtool support with KNI will not work for NICs such as the Intel® Ethernet           |
57 |                                 | Connection I354. Other KNI functionality, such as injecting packets into the Linux    |
58 |                                 | kernel is unaffected.                                                                 |
59 |                                 |                                                                                       |
60 +---------------------------------+---------------------------------------------------------------------------------------+
61 | Resolution/Workaround           | Updated for Intel® Ethernet Connection I354.                                          |
62 |                                 |                                                                                       |
63 +---------------------------------+---------------------------------------------------------------------------------------+
64 | Affected Environment/Platform   | Platforms using the Intel® Ethernet Connection I354 or other NICs unsupported by KNI  |
65 |                                 | ethtool                                                                               |
66 |                                 |                                                                                       |
67 +---------------------------------+---------------------------------------------------------------------------------------+
68 | Driver/Module                   | KNI                                                                                   |
69 |                                 |                                                                                       |
70 +---------------------------------+---------------------------------------------------------------------------------------+
71
72 Linux IPv4 forwarding is not stable with vhost-switch on high packet rate
73 -------------------------------------------------------------------------
74
75 +---------------------------------+---------------------------------------------------------------------------------------+
76 | Title                           | Linux IPv4 forwarding is not stable with vhost-switch on high packet rate.            |
77 |                                 |                                                                                       |
78 +=================================+=======================================================================================+
79 | Refererence #                   | IXA00384430                                                                           |
80 |                                 |                                                                                       |
81 +---------------------------------+---------------------------------------------------------------------------------------+
82 | Description                     | Linux IPv4 forwarding is not stable in Guest when Tx traffic is high from traffic     |
83 |                                 | generator using two virtio devices in VM with 10G in host.                            |
84 |                                 |                                                                                       |
85 +---------------------------------+---------------------------------------------------------------------------------------+
86 | Implication                     | Packets cannot be forwarded by user space vhost-switch and Linux IPv4 forwarding if   |
87 |                                 | the rate of  incoming packets is greater than 1 Mpps.                                 |
88 |                                 |                                                                                       |
89 +---------------------------------+---------------------------------------------------------------------------------------+
90 | Resolution/Workaround           | N/A                                                                                   |
91 |                                 |                                                                                       |
92 +---------------------------------+---------------------------------------------------------------------------------------+
93 | AffectedEnvironment/Platform    | All                                                                                   |
94 |                                 |                                                                                       |
95 +---------------------------------+---------------------------------------------------------------------------------------+
96 | Driver/Module                   | Sample application                                                                    |
97 |                                 |                                                                                       |
98 +---------------------------------+---------------------------------------------------------------------------------------+
99
100 PCAP library overwrites mbuf data before data is used
101 -----------------------------------------------------
102
103 +---------------------------------+---------------------------------------------------------------------------------------+
104 | Title                           | PCAP library overwrites mbuf data before data is used                                 |
105 |                                 |                                                                                       |
106 +=================================+=======================================================================================+
107 | Reference #                     | IXA00383976                                                                           |
108 |                                 |                                                                                       |
109 +---------------------------------+---------------------------------------------------------------------------------------+
110 | Description                     | PCAP library allocates 64 mbufs for reading packets from PCAP file, but declares them |
111 |                                 | as static and reuses the same mbufs repeatedly rather than handing off to the ring    |
112 |                                 | for allocation of new mbuf for each read from the PCAP file.                          |
113 |                                 |                                                                                       |
114 +---------------------------------+---------------------------------------------------------------------------------------+
115 | Implication                     | In multi-threaded applications ata in the mbuf is overwritten.                        |
116 |                                 |                                                                                       |
117 +---------------------------------+---------------------------------------------------------------------------------------+
118 | Resolution/Workaround           | Fixed in eth_pcap_rx() in rte_eth_pcap.c                                              |
119 |                                 |                                                                                       |
120 +---------------------------------+---------------------------------------------------------------------------------------+
121 | Affected  Environment/Platform  | All                                                                                   |
122 |                                 |                                                                                       |
123 +---------------------------------+---------------------------------------------------------------------------------------+
124 | Driver/Module                   | Multi-threaded applications using PCAP library                                        |
125 |                                 |                                                                                       |
126 +---------------------------------+---------------------------------------------------------------------------------------+
127
128 MP Client Example app - flushing part of TX is not working for some ports if set specific port mask with skipped ports
129 ----------------------------------------------------------------------------------------------------------------------
130
131 +---------------------------------+---------------------------------------------------------------------------------------+
132 | Title                           | MP  Client Example app - flushing part of TX is not working for some ports if set     |
133 |                                 | specific port mask with skipped ports                                                 |
134 |                                 |                                                                                       |
135 +=================================+=======================================================================================+
136 | Reference #                     | 52                                                                                    |
137 |                                 |                                                                                       |
138 +---------------------------------+---------------------------------------------------------------------------------------+
139 | Description                     | When ports not in a consecutive set, for example, ports other than ports 0, 1 or      |
140 |                                 | 0,1,2,3  are used with the client-service sample app, when no further packets are     |
141 |                                 | received by a client, the application may not flush correctly any unsent packets      |
142 |                                 | already buffered inside it.                                                           |
143 |                                 |                                                                                       |
144 +---------------------------------+---------------------------------------------------------------------------------------+
145 | Implication                     | Not all buffered packets are transmitted if traffic to the clients application is     |
146 |                                 | stopped. While traffic is continually received for transmission on a port by a        |
147 |                                 | client, buffer flushing happens normally.                                             |
148 |                                 |                                                                                       |
149 +---------------------------------+---------------------------------------------------------------------------------------+
150 | Resolution/Workaround           | Changed line 284 of the client.c file:                                                |
151 |                                 |                                                                                       |
152 |                                 | from "send_packets(ports);" to "send_packets(ports->id[port]);"                       |
153 |                                 |                                                                                       |
154 +---------------------------------+---------------------------------------------------------------------------------------+
155 | Affected Environment/Platform   | All                                                                                   |
156 |                                 |                                                                                       |
157 +---------------------------------+---------------------------------------------------------------------------------------+
158 | Driver/Module                   | Client - Server Multi-process Sample application                                      |
159 |                                 |                                                                                       |
160 +---------------------------------+---------------------------------------------------------------------------------------+
161
162 Packet truncation with Intel® I350 Gigabit Ethernet Controller
163 --------------------------------------------------------------
164
165 +---------------------------------+---------------------------------------------------------------------------------------+
166 | Title                           | Packet truncation with Intel I350 Gigabit Ethernet Controller                         |
167 |                                 |                                                                                       |
168 +=================================+=======================================================================================+
169 | Reference #                     | IXA00372461                                                                           |
170 |                                 |                                                                                       |
171 +---------------------------------+---------------------------------------------------------------------------------------+
172 | Description                     | The setting of the hw_strip_crc field in the rte_eth_conf structure passed to the     |
173 |                                 | rte_eth_dev_configure() function is not respected and hardware CRC stripping is       |
174 |                                 | always enabled.                                                                       |
175 |                                 | If the field is set to 0, then the software also tries to strip the CRC, resulting    |
176 |                                 | in packet truncation.                                                                 |
177 |                                 |                                                                                       |
178 +---------------------------------+---------------------------------------------------------------------------------------+
179 | Implication                     | The last 4 bytes of the packets received will be missing.                             |
180 |                                 |                                                                                       |
181 +---------------------------------+---------------------------------------------------------------------------------------+
182 | Resolution/Workaround           | Fixed an omission in device initialization (setting the  STRCRC bit in the DVMOLR     |
183 |                                 | register) to respect the CRC stripping selection correctly.                           |
184 |                                 |                                                                                       |
185 +---------------------------------+---------------------------------------------------------------------------------------+
186 | Affected Environment/Platform   | Systems using the Intel® I350 Gigabit Ethernet Controller                             |
187 |                                 |                                                                                       |
188 +---------------------------------+---------------------------------------------------------------------------------------+
189 | Driver/Module                   | 1 GbE Poll Mode Driver (PMD)                                                          |
190 |                                 |                                                                                       |
191 +---------------------------------+---------------------------------------------------------------------------------------+
192
193 Device initialization failure with Intel® Ethernet Server Adapter X520-T2
194 -------------------------------------------------------------------------
195
196 +---------------------------------+---------------------------------------------------------------------------------------+
197 | Title                           | Device initialization failure with Intel® Ethernet Server Adapter X520-T2             |
198 |                                 |                                                                                       |
199 +=================================+=======================================================================================+
200 | Reference #                     | 55                                                                                    |
201 |                                 |                                                                                       |
202 +---------------------------------+---------------------------------------------------------------------------------------+
203 | Description                     | If this device is bound to the Linux kernel IXGBE driver when the Intel® DPDK is      |
204 |                                 | initialized, DPDK is initialized, the device initialization fails with error code -17 |
205 |                                 | “IXGBE_ERR_PHY_ADDR_INVALID”.                                                         |
206 |                                 |                                                                                       |
207 +---------------------------------+---------------------------------------------------------------------------------------+
208 | Implication                     | The device is not initialized and cannot be used by an application.                   |
209 |                                 |                                                                                       |
210 +---------------------------------+---------------------------------------------------------------------------------------+
211 | Resolution/Workaround           | Introduced a small delay in device initialization to allow Intel® DPDK to always find |
212 |                                 | the device.                                                                           |
213 |                                 |                                                                                       |
214 +---------------------------------+---------------------------------------------------------------------------------------+
215 | Affected Environment/Platform   | Systems using the Intel® Ethernet Server Adapter X520-T2                              |
216 |                                 |                                                                                       |
217 +---------------------------------+---------------------------------------------------------------------------------------+
218 | Driver/Module                   | 10 GbE Poll Mode Driver (PMD)                                                         |
219 |                                 |                                                                                       |
220 +---------------------------------+---------------------------------------------------------------------------------------+
221
222 Intel® DPDK kernel module is incompatible with Linux kernel version 3.3
223 -----------------------------------------------------------------------
224
225 +---------------------------------+---------------------------------------------------------------------------------------+
226 | Title                           | Intel® DPDK kernel module is incompatible with Linux kernel version 3.3               |
227 |                                 |                                                                                       |
228 +=================================+=======================================================================================+
229 | Reference #                     | IXA00373232                                                                           |
230 |                                 |                                                                                       |
231 +---------------------------------+---------------------------------------------------------------------------------------+
232 | Description                     | The igb_uio kernel module fails to compile on systems with Linux kernel version 3.3   |
233 |                                 | due to API changes in kernel headers                                                  |
234 |                                 |                                                                                       |
235 +---------------------------------+---------------------------------------------------------------------------------------+
236 | Implication                     | The compilation fails and Ethernet controllers fail to initialize without the igb_uio |
237 |                                 | module.                                                                               |
238 |                                 |                                                                                       |
239 +---------------------------------+---------------------------------------------------------------------------------------+
240 | Resolution/Workaround           | Kernel functions pci_block_user_cfg_access() / pci_cfg_access_lock() and              |
241 |                                 | pci_unblock_user_cfg_access() / pci_cfg_access_unlock() are automatically selected at |
242 |                                 | compile time as appropriate.                                                          |
243 |                                 |                                                                                       |
244 +---------------------------------+---------------------------------------------------------------------------------------+
245 | Affected Environment/Platform   | Linux systems using kernel version 3.3 or later                                       |
246 |                                 |                                                                                       |
247 +---------------------------------+---------------------------------------------------------------------------------------+
248 | Driver/Module                   | UIO module                                                                            |
249 |                                 |                                                                                       |
250 +---------------------------------+---------------------------------------------------------------------------------------+
251
252 Initialization failure with Intel® Ethernet Controller X540-T2
253 --------------------------------------------------------------
254
255 +---------------------------------+---------------------------------------------------------------------------------------+
256 | Title                           | Initialization failure with Intel®  Ethernet Controller X540-T2                       |
257 |                                 |                                                                                       |
258 +=================================+=======================================================================================+
259 | Reference #                     | 57                                                                                    |
260 |                                 |                                                                                       |
261 +---------------------------------+---------------------------------------------------------------------------------------+
262 | Description                     | This device causes a failure during initialization when the software tries to read    |
263 |                                 | the part number from the device EEPROM.                                               |
264 |                                 |                                                                                       |
265 +---------------------------------+---------------------------------------------------------------------------------------+
266 | Implication                     | Device cannot be used.                                                                |
267 |                                 |                                                                                       |
268 +---------------------------------+---------------------------------------------------------------------------------------+
269 | Resolution/Workaround           | Remove unnecessary check of the PBA number from the device.                           |
270 |                                 |                                                                                       |
271 +---------------------------------+---------------------------------------------------------------------------------------+
272 | Affected Environment/Platform   | Systems using the Intel®  Ethernet Controller X540-T2                                 |
273 |                                 |                                                                                       |
274 +---------------------------------+---------------------------------------------------------------------------------------+
275 | Driver/Module                   | 10 GbE Poll Mode Driver (PMD)                                                         |
276 |                                 |                                                                                       |
277 +---------------------------------+---------------------------------------------------------------------------------------+
278
279 rte_eth_dev_stop() function does not bring down the link for 1 GB NIC ports
280 ---------------------------------------------------------------------------
281
282 +---------------------------------+---------------------------------------------------------------------------------------+
283 | Title                           | rte_eth_dev_stop() function does not bring down the link for 1 GB NIC ports           |
284 |                                 |                                                                                       |
285 +=================================+=======================================================================================+
286 | Reference #                     | IXA00373183                                                                           |
287 |                                 |                                                                                       |
288 +---------------------------------+---------------------------------------------------------------------------------------+
289 | Description                     | When the rte_eth_dev_stop() function is used to stop a NIC port, the link is not      |
290 |                                 | brought down for that port.                                                           |
291 |                                 |                                                                                       |
292 +---------------------------------+---------------------------------------------------------------------------------------+
293 | Implication                     | Links are still reported as up, even though the NIC device has been stopped and       |
294 |                                 | cannot perform TX or RX operations on that port.                                      |
295 |                                 |                                                                                       |
296 +---------------------------------+---------------------------------------------------------------------------------------+
297 | Resolution                      | The rte_eth_dev_stop() function now brings down the link when called.                 |
298 |                                 |                                                                                       |
299 +---------------------------------+---------------------------------------------------------------------------------------+
300 | Affected Environment/Platform   | All                                                                                   |
301 |                                 |                                                                                       |
302 +---------------------------------+---------------------------------------------------------------------------------------+
303 | Driver/Module                   | 1 GbE Poll Mode Driver (PMD)                                                          |
304 |                                 |                                                                                       |
305 +---------------------------------+---------------------------------------------------------------------------------------+
306
307 It is not possible to adjust the duplex setting for 1GB NIC ports
308 -----------------------------------------------------------------
309
310 +---------------------------------+---------------------------------------------------------------------------------------+
311 | Title                           | It is not possible to adjust the duplex setting for 1 GB NIC ports                    |
312 |                                 |                                                                                       |
313 +=================================+=======================================================================================+
314 | Reference #                     | 66                                                                                    |
315 |                                 |                                                                                       |
316 +---------------------------------+---------------------------------------------------------------------------------------+
317 | Description                     | The rte_eth_conf structure does not have a parameter that allows a port to be set to  |
318 |                                 | half-duplex instead of full-duplex mode, therefore, 1 GB NICs cannot be configured    |
319 |                                 | explicitly to a full- or half-duplex value.                                           |
320 |                                 |                                                                                       |
321 +---------------------------------+---------------------------------------------------------------------------------------+
322 | Implication                     | 1 GB port duplex capability cannot be set manually.                                   |
323 |                                 |                                                                                       |
324 +---------------------------------+---------------------------------------------------------------------------------------+
325 | Resolution                      | The PMD now uses a new field added to the rte_eth_conf structure to allow 1 GB ports  |
326 |                                 | to be configured explicitly as half- or full-duplex.                                  |
327 |                                 |                                                                                       |
328 +---------------------------------+---------------------------------------------------------------------------------------+
329 | Affected Environment/Platform   | All                                                                                   |
330 |                                 |                                                                                       |
331 +---------------------------------+---------------------------------------------------------------------------------------+
332 | Driver/Module                   | 1 GbE Poll Mode Driver (PMD)                                                          |
333 |                                 |                                                                                       |
334 +---------------------------------+---------------------------------------------------------------------------------------+
335
336 Calling rte_eth_dev_stop() on a port does not free all the mbufs in use by that port
337 ------------------------------------------------------------------------------------
338
339 +---------------------------------+---------------------------------------------------------------------------------------+
340 | Title                           | Calling rte_eth_dev_stop() on a port does not free all the mbufs in use by that port  |
341 |                                 |                                                                                       |
342 +=================================+=======================================================================================+
343 | Reference #                     | 67                                                                                    |
344 |                                 |                                                                                       |
345 +---------------------------------+---------------------------------------------------------------------------------------+
346 | Description                     | The rte_eth_dev_stop() function initially frees all mbufs used by that port’s RX and  |
347 |                                 | TX rings, but subsequently repopulates the RX ring again later in the function.       |
348 |                                 |                                                                                       |
349 +---------------------------------+---------------------------------------------------------------------------------------+
350 | Implication                     | Not all mbufs used by a port are freed when the port is stopped.                      |
351 |                                 |                                                                                       |
352 +---------------------------------+---------------------------------------------------------------------------------------+
353 | Resolution                      | The driver no longer re-populates the RX ring in the rte_eth_dev_stop() function.     |
354 |                                 |                                                                                       |
355 +---------------------------------+---------------------------------------------------------------------------------------+
356 | Affected Environment/Platform   | All                                                                                   |
357 |                                 |                                                                                       |
358 +---------------------------------+---------------------------------------------------------------------------------------+
359 | Driver/Module                   | IGB and IXGBE Poll Mode Drivers (PMDs)                                                |
360 |                                 |                                                                                       |
361 +---------------------------------+---------------------------------------------------------------------------------------+
362
363 PMD does not always create rings that are properly aligned in memory
364 --------------------------------------------------------------------
365
366 +---------------------------------+---------------------------------------------------------------------------------------+
367 | Title                           | PMD does not always create rings that are properly aligned in memory                  |
368 |                                 |                                                                                       |
369 +=================================+=======================================================================================+
370 | Reference #                     | IXA00373158                                                                           |
371 |                                 |                                                                                       |
372 +---------------------------------+---------------------------------------------------------------------------------------+
373 | Description                     | The NIC hardware used by the PMD requires that the RX and TX rings used must be       |
374 |                                 | aligned in memory on a 128-byte boundary. The memzone reservation function used       |
375 |                                 | inside the PMD only guarantees that the rings are aligned on a 64-byte boundary, so   |
376 |                                 | errors can occur if the rings are not aligned on a 128-byte boundary.                 |
377 |                                 |                                                                                       |
378 +---------------------------------+---------------------------------------------------------------------------------------+
379 | Implication                     | Unintended overwriting of memory can occur and PMD behavior may also be effected.     |
380 |                                 |                                                                                       |
381 +---------------------------------+---------------------------------------------------------------------------------------+
382 | Resolution                      | A new rte_memzone_reserve_aligned() API has been added to allow memory reservations   |
383 |                                 | from hugepage memory at alignments other than 64-bytes. The PMD has been modified so  |
384 |                                 | that the rings are allocated using this API with minimum alignment of 128-bytes.      |
385 |                                 |                                                                                       |
386 +---------------------------------+---------------------------------------------------------------------------------------+
387 | Affected Environment/Platform   | All                                                                                   |
388 |                                 |                                                                                       |
389 +---------------------------------+---------------------------------------------------------------------------------------+
390 | Driver/Module                   | IGB and IXGBE Poll Mode Drivers (PMDs)                                                |
391 |                                 |                                                                                       |
392 +---------------------------------+---------------------------------------------------------------------------------------+
393
394 Checksum offload might not work correctly when mixing VLAN-tagged and ordinary packets
395 --------------------------------------------------------------------------------------
396
397 +---------------------------------+---------------------------------------------------------------------------------------+
398 | Title                           | Checksum offload might not work correctly when mixing VLAN-tagged and ordinary        |
399 |                                 | packets                                                                               |
400 |                                 |                                                                                       |
401 +=================================+=======================================================================================+
402 | Reference #                     | IXA00378372                                                                           |
403 |                                 |                                                                                       |
404 +---------------------------------+---------------------------------------------------------------------------------------+
405 | Description                     | Incorrect handling of protocol header lengths in the PMD driver                       |
406 |                                 |                                                                                       |
407 +---------------------------------+---------------------------------------------------------------------------------------+
408 | Implication                     | The checksum for one of the packets may be incorrect.                                 |
409 |                                 |                                                                                       |
410 +---------------------------------+---------------------------------------------------------------------------------------+
411 | Resolution/Workaround           | Corrected the offset calculation.                                                     |
412 |                                 |                                                                                       |
413 +---------------------------------+---------------------------------------------------------------------------------------+
414 | Affected Environment/Platform   | All                                                                                   |
415 |                                 |                                                                                       |
416 +---------------------------------+---------------------------------------------------------------------------------------+
417 | Driver/Module                   | Poll Mode Driver (PMD)                                                                |
418 |                                 |                                                                                       |
419 +---------------------------------+---------------------------------------------------------------------------------------+
420
421 Port not found issue with Intel® 82580 Gigabit Ethernet Controller
422 ------------------------------------------------------------------
423
424 +---------------------------------+---------------------------------------------------------------------------------------+
425 | Title                           | Port not found issue with Intel® 82580 Gigabit Ethernet Controller                    |
426 |                                 |                                                                                       |
427 +=================================+=======================================================================================+
428 | Reference #                     | 50                                                                                    |
429 |                                 |                                                                                       |
430 +---------------------------------+---------------------------------------------------------------------------------------+
431 | Description                     | After going through multiple driver unbind/bind cycles, an Intel® 82580               |
432 |                                 | Ethernet Controller port may no longer be found and initialized by the                |
433 |                                 | Intel® DPDK.                                                                          |
434 |                                 |                                                                                       |
435 +---------------------------------+---------------------------------------------------------------------------------------+
436 | Implication                     | The port will be unusable.                                                            |
437 |                                 |                                                                                       |
438 +---------------------------------+---------------------------------------------------------------------------------------+
439 | Resolution/Workaround           | Issue was not reproducible and therefore no longer considered an issue.               |
440 |                                 |                                                                                       |
441 +---------------------------------+---------------------------------------------------------------------------------------+
442 | Affected Environment/Platform   | All                                                                                   |
443 |                                 |                                                                                       |
444 +---------------------------------+---------------------------------------------------------------------------------------+
445 | Driver/Module                   | 1 GbE Poll Mode Driver (PMD)                                                          |
446 |                                 |                                                                                       |
447 +---------------------------------+---------------------------------------------------------------------------------------+
448
449 Packet mbufs may be leaked from mempool if rte_eth_dev_start() function fails
450 -----------------------------------------------------------------------------
451
452 +---------------------------------+---------------------------------------------------------------------------------------+
453 | Title                           | Packet mbufs may be leaked from mempool if rte_eth_dev_start() function fails         |
454 |                                 |                                                                                       |
455 +=================================+=======================================================================================+
456 | Reference #                     | IXA00373373                                                                           |
457 |                                 |                                                                                       |
458 +---------------------------------+---------------------------------------------------------------------------------------+
459 | Description                     | The rte_eth_dev_start() function allocates mbufs to populate the NIC RX rings. If the |
460 |                                 | start function subsequently fails, these mbufs are not freed back to the memory pool  |
461 |                                 | from which they came.                                                                 |
462 |                                 |                                                                                       |
463 +---------------------------------+---------------------------------------------------------------------------------------+
464 | Implication                     | mbufs may be lost to the system if rte_eth_dev_start() fails and the application does |
465 |                                 | not terminate.                                                                        |
466 |                                 |                                                                                       |
467 +---------------------------------+---------------------------------------------------------------------------------------+
468 | Resolution/Workaround           | mbufs are correctly deallocated if a call to rte_eth_dev_start() fails.               |
469 |                                 |                                                                                       |
470 +---------------------------------+---------------------------------------------------------------------------------------+
471 | Affected Environment/Platform   | All                                                                                   |
472 |                                 |                                                                                       |
473 +---------------------------------+---------------------------------------------------------------------------------------+
474 | Driver/Module                   | Poll Mode Driver (PMD)                                                                |
475 |                                 |                                                                                       |
476 +---------------------------------+---------------------------------------------------------------------------------------+
477
478 Promiscuous mode for 82580 NICs can only be enabled after a call to rte_eth_dev_start for a port
479 ------------------------------------------------------------------------------------------------
480
481 +---------------------------------+---------------------------------------------------------------------------------------+
482 | Title                           | Promiscuous mode for 82580 NICs can only be enabled after a call to rte_eth_dev_start |
483 |                                 | for a port                                                                            |
484 |                                 |                                                                                       |
485 +=================================+=======================================================================================+
486 | Reference #                     | IXA00373833                                                                           |
487 |                                 |                                                                                       |
488 +---------------------------------+---------------------------------------------------------------------------------------+
489 | Description                     | For 82580-based network ports, the rte_eth_dev_start() function can overwrite the     |
490 |                                 | setting of the promiscuous mode for the device.                                       |
491 |                                 |                                                                                       |
492 |                                 | Therefore, the rte_eth_promiscuous_enable() API call should be called after           |
493 |                                 | rte_eth_dev_start() for these devices.                                                |
494 |                                 |                                                                                       |
495 +---------------------------------+---------------------------------------------------------------------------------------+
496 | Implication                     | Promiscuous mode can only be enabled if API calls are in a specific order.            |
497 |                                 |                                                                                       |
498 +---------------------------------+---------------------------------------------------------------------------------------+
499 | Resolution/Workaround           | The NIC now restores most of its configuration after a call to rte_eth_dev_start().   |
500 |                                 |                                                                                       |
501 +---------------------------------+---------------------------------------------------------------------------------------+
502 | Affected Environment/Platform   | All                                                                                   |
503 |                                 |                                                                                       |
504 +---------------------------------+---------------------------------------------------------------------------------------+
505 | Driver/Module                   | Poll Mode Driver (PMD)                                                                |
506 |                                 |                                                                                       |
507 +---------------------------------+---------------------------------------------------------------------------------------+
508
509 Incorrect CPU socket information reported in /proc/cpuinfo can prevent the Intel® DPDK from running
510 ---------------------------------------------------------------------------------------------------
511
512 +---------------------------------+---------------------------------------------------------------------------------------+
513 | Title                           | Incorrect CPU socket information reported in /proc/cpuinfo can prevent the Intel®     |
514 |                                 | DPDK from running                                                                     |
515 |                                 |                                                                                       |
516 +=================================+=======================================================================================+
517 | Reference #                     | 63                                                                                    |
518 |                                 |                                                                                       |
519 +---------------------------------+---------------------------------------------------------------------------------------+
520 | Description                     | The Intel® DPDK users information supplied by the Linux  kernel to determine the      |
521 |                                 | hardware properties of the system being used. On rare occasions, information supplied |
522 |                                 | by /proc/cpuinfo does not match that reported elsewhere. In some cases, it has been   |
523 |                                 | observed that the CPU socket numbering given in /proc/cpuinfo is incorrect and this   |
524 |                                 | can prevent Intel® DPDK from operating.                                               |
525 |                                 |                                                                                       |
526 +---------------------------------+---------------------------------------------------------------------------------------+
527 | Implication                     | The Intel® DPDK cannot run on systems where /proc/cpuinfo does not report the correct |
528 |                                 | CPU socket topology.                                                                  |
529 |                                 |                                                                                       |
530 +---------------------------------+---------------------------------------------------------------------------------------+
531 | Resolution/Workaround           | CPU socket information is now read from /sys/devices/cpu/pcuN/topology                |
532 |                                 |                                                                                       |
533 +---------------------------------+---------------------------------------------------------------------------------------+
534 | Affected Environment/Platform   | All                                                                                   |
535 |                                 |                                                                                       |
536 +---------------------------------+---------------------------------------------------------------------------------------+
537 | Driver/Module                   | Environment Abstraction Layer (EAL)                                                   |
538 |                                 |                                                                                       |
539 +---------------------------------+---------------------------------------------------------------------------------------+
540
541 L3FWD sample application may fail to transmit packets under extreme conditions
542 ------------------------------------------------------------------------------
543
544 +---------------------------------+---------------------------------------------------------------------------------------+
545 | Title                           | L3FWD sample application may fail to transmit packets under extreme conditions        |
546 |                                 |                                                                                       |
547 +=================================+=======================================================================================+
548 | Reference #                     | IXA00372919                                                                           |
549 |                                 |                                                                                       |
550 +---------------------------------+---------------------------------------------------------------------------------------+
551 | Description                     | Under very heavy load, the L3 Forwarding sample application may fail to transmit      |
552 |                                 | packets due to the system running out of free mbufs.                                  |
553 |                                 |                                                                                       |
554 +---------------------------------+---------------------------------------------------------------------------------------+
555 | Implication                     | Sending and receiving data with the PMD may fail.                                     |
556 |                                 |                                                                                       |
557 +---------------------------------+---------------------------------------------------------------------------------------+
558 | Resolution/ Workaround          | The number of mbufs is now calculated based on application parameters.                |
559 |                                 |                                                                                       |
560 +---------------------------------+---------------------------------------------------------------------------------------+
561 | Affected Environment/Platform   | All                                                                                   |
562 |                                 |                                                                                       |
563 +---------------------------------+---------------------------------------------------------------------------------------+
564 | Driver/Module                   | L3 Forwarding sample application                                                      |
565 |                                 |                                                                                       |
566 +---------------------------------+---------------------------------------------------------------------------------------+
567
568 L3FWD-VF might lose CRC bytes
569 -----------------------------
570
571 +---------------------------------+---------------------------------------------------------------------------------------+
572 | Title                           | L3FWD-VF might lose CRC bytes                                                         |
573 |                                 |                                                                                       |
574 +=================================+=======================================================================================+
575 | Reference #                     | IXA00373424                                                                           |
576 |                                 |                                                                                       |
577 +---------------------------------+---------------------------------------------------------------------------------------+
578 | Description                     | Currently, the CRC stripping configuration does not affect the VF driver.             |
579 |                                 |                                                                                       |
580 +---------------------------------+---------------------------------------------------------------------------------------+
581 | Implication                     | Packets transmitted by the Intel® DPDK in the VM may be lacking 4 bytes (packet CRC). |
582 |                                 |                                                                                       |
583 +---------------------------------+---------------------------------------------------------------------------------------+
584 | Resolution/ Workaround          | Set “strip_crc” to 1 in the sample applications that use the VF PMD.                  |
585 |                                 |                                                                                       |
586 +---------------------------------+---------------------------------------------------------------------------------------+
587 | Affected Environment/Platform   | All                                                                                   |
588 |                                 |                                                                                       |
589 +---------------------------------+---------------------------------------------------------------------------------------+
590 | Driver/Module                   | IGB and IXGBE VF Poll Mode Drivers (PMDs)                                             |
591 |                                 |                                                                                       |
592 +---------------------------------+---------------------------------------------------------------------------------------+
593
594 32-bit Intel® DPDK sample applications fails when using more than one 1 GB hugepage
595 -----------------------------------------------------------------------------------
596
597 +---------------------------------+---------------------------------------------------------------------------------------+
598 | Title                           | 32-bit Intel®  DPDK sample applications fails when using more than one 1 GB hugepage  |
599 |                                 |                                                                                       |
600 +=================================+=======================================================================================+
601 | Reference #                     | 31                                                                                    |
602 |                                 |                                                                                       |
603 +---------------------------------+---------------------------------------------------------------------------------------+
604 | Description                     | 32-bit applications may have problems when running with multiple 1 GB pages on a      |
605 |                                 | 64-bit OS. This is due to the limited address space available to 32-bit processes.    |
606 |                                 |                                                                                       |
607 +---------------------------------+---------------------------------------------------------------------------------------+
608 | Implication                     | 32-bit processes need to use either 2 MB pages or have their memory use constrained   |
609 |                                 | to 1 GB if using 1 GB pages.                                                          |
610 |                                 |                                                                                       |
611 +---------------------------------+---------------------------------------------------------------------------------------+
612 | Resolution                      | EAL now limits virtual memory to 1 GB per page size.                                  |
613 |                                 |                                                                                       |
614 +---------------------------------+---------------------------------------------------------------------------------------+
615 | Affected Environment/Platform   | 64-bit systems running 32-bit  Intel®  DPDK with 1 GB hugepages                       |
616 |                                 |                                                                                       |
617 +---------------------------------+---------------------------------------------------------------------------------------+
618 | Driver/Module                   | Environment Abstraction Layer (EAL)                                                   |
619 |                                 |                                                                                       |
620 +---------------------------------+---------------------------------------------------------------------------------------+
621
622 l2fwd fails to launch if the NIC is the Intel® 82571EB Gigabit Ethernet Controller
623 ----------------------------------------------------------------------------------
624
625 +---------------------------------+---------------------------------------------------------------------------------------+
626 | Title                           | l2fwd fails to launch if the NIC is the Intel® 82571EB Gigabit Ethernet Controller    |
627 |                                 |                                                                                       |
628 +=================================+=======================================================================================+
629 | Reference #                     | IXA00373340                                                                           |
630 |                                 |                                                                                       |
631 +---------------------------------+---------------------------------------------------------------------------------------+
632 | Description                     | The 82571EB NIC can handle only one TX per port. The original implementation allowed  |
633 |                                 | for a more complex handling of multiple queues per port.                              |
634 |                                 |                                                                                       |
635 +---------------------------------+---------------------------------------------------------------------------------------+
636 | Implication                     | The l2fwd  application fails to launch if the NIC is 82571EB.                         |
637 |                                 |                                                                                       |
638 +---------------------------------+---------------------------------------------------------------------------------------+
639 | Resolution                      | l2fwd now uses only one TX queue.                                                     |
640 |                                 |                                                                                       |
641 +---------------------------------+---------------------------------------------------------------------------------------+
642 | Affected Environment/Platform   | All                                                                                   |
643 |                                 |                                                                                       |
644 +---------------------------------+---------------------------------------------------------------------------------------+
645 | Driver/Module                   | Sample Application                                                                    |
646 |                                 |                                                                                       |
647 +---------------------------------+---------------------------------------------------------------------------------------+
648
649 32-bit Intel® DPDK applications may fail to initialize on 64-bit OS
650 -------------------------------------------------------------------
651
652 +---------------------------------+---------------------------------------------------------------------------------------+
653 | Title                           | 32-bit Intel® DPDK applications may fail to initialize on 64-bit OS                   |
654 |                                 |                                                                                       |
655 +=================================+=======================================================================================+
656 | Reference #                     | IXA00378513                                                                           |
657 |                                 |                                                                                       |
658 +---------------------------------+---------------------------------------------------------------------------------------+
659 | Description                     | The EAL used a 32-bit pointer to deal with physical addresses. This could create      |
660 |                                 | problems when the physical address of a hugepage exceeds the 4 GB limit.              |
661 |                                 |                                                                                       |
662 +---------------------------------+---------------------------------------------------------------------------------------+
663 | Implication                     | 32-bit applications may not initialize on a 64-bit OS.                                |
664 |                                 |                                                                                       |
665 +---------------------------------+---------------------------------------------------------------------------------------+
666 | Resolution/Workaround           | The physical address pointer is now 64-bit.                                           |
667 |                                 |                                                                                       |
668 +---------------------------------+---------------------------------------------------------------------------------------+
669 | Affected Environment/Platform   | 32-bit applications in a 64-bit Linux* environment                                    |
670 |                                 |                                                                                       |
671 +---------------------------------+---------------------------------------------------------------------------------------+
672 | Driver/Module                   | Environment Abstraction Layer (EAL)                                                   |
673 |                                 |                                                                                       |
674 +---------------------------------+---------------------------------------------------------------------------------------+
675
676 Lpm issue when using prefixes > 24
677 ----------------------------------
678
679 +---------------------------------+---------------------------------------------------------------------------------------+
680 | Title                           | Lpm issue when using prefixes > 24                                                    |
681 |                                 |                                                                                       |
682 +=================================+=======================================================================================+
683 | Reference #                     | IXA00378395                                                                           |
684 |                                 |                                                                                       |
685 +---------------------------------+---------------------------------------------------------------------------------------+
686 | Description                     | Extended tbl8's are overwritten by multiple lpm rule entries when the depth is        |
687 |                                 | greater than 24.                                                                      |
688 |                                 |                                                                                       |
689 +---------------------------------+---------------------------------------------------------------------------------------+
690 | Implication                     | LPM tbl8 entries removed by additional rules.                                         |
691 |                                 |                                                                                       |
692 +---------------------------------+---------------------------------------------------------------------------------------+
693 | Resolution/ Workaround          | Adding tbl8 entries to a valid group to avoid making the entire table invalid and     |
694 |                                 | subsequently overwritten.                                                             |
695 |                                 |                                                                                       |
696 +---------------------------------+---------------------------------------------------------------------------------------+
697 | Affected Environment/Platform   | All                                                                                   |
698 |                                 |                                                                                       |
699 +---------------------------------+---------------------------------------------------------------------------------------+
700 | Driver/Module                   | Sample applications                                                                   |
701 |                                 |                                                                                       |
702 +---------------------------------+---------------------------------------------------------------------------------------+
703
704 IXGBE PMD hangs on port shutdown when not all packets have been sent
705 --------------------------------------------------------------------
706
707 +---------------------------------+---------------------------------------------------------------------------------------+
708 | Title                           | IXGBE PMD hangs on port shutdown when not all packets have been sent                  |
709 |                                 |                                                                                       |
710 +=================================+=======================================================================================+
711 | Reference #                     | IXA00373492                                                                           |
712 |                                 |                                                                                       |
713 +---------------------------------+---------------------------------------------------------------------------------------+
714 | Description                     | When the PMD is forwarding packets, and the link goes down, and port shutdown is      |
715 |                                 | called, the port cannot shutdown. Instead, it hangs due to the IXGBE driver           |
716 |                                 | incorrectly performing the port shutdown procedure.                                   |
717 |                                 |                                                                                       |
718 +---------------------------------+---------------------------------------------------------------------------------------+
719 | Implication                     | The port cannot shutdown and does not come back up until re-initialized.              |
720 |                                 |                                                                                       |
721 +---------------------------------+---------------------------------------------------------------------------------------+
722 | Resolution/Workaround           | The port shutdown procedure  has been rewritten.                                      |
723 |                                 |                                                                                       |
724 +---------------------------------+---------------------------------------------------------------------------------------+
725 | Affected Environment/Platform   | All                                                                                   |
726 |                                 |                                                                                       |
727 +---------------------------------+---------------------------------------------------------------------------------------+
728 | Driver/Module                   | IXGBE Poll Mode Driver (PMD)                                                          |
729 |                                 |                                                                                       |
730 +---------------------------------+---------------------------------------------------------------------------------------+
731
732 Config file change can cause build to fail
733 ------------------------------------------
734
735 +---------------------------------+---------------------------------------------------------------------------------------+
736 | Title                           | Config file change can cause build to fail                                            |
737 |                                 |                                                                                       |
738 +=================================+=======================================================================================+
739 | Reference #                     | IXA00369247                                                                           |
740 |                                 |                                                                                       |
741 +---------------------------------+---------------------------------------------------------------------------------------+
742 | Description                     | If a change in a config file results in some Intel® DPDK files that were needed no    |
743 |                                 | longer being needed, the build will fail. This is because the \*.o file will still    |
744 |                                 | exist, and the linker will try to link it.                                            |
745 |                                 |                                                                                       |
746 +---------------------------------+---------------------------------------------------------------------------------------+
747 | Implication                     | Intel® DPDK compilation failure                                                       |
748 |                                 |                                                                                       |
749 +---------------------------------+---------------------------------------------------------------------------------------+
750 | Resolution                      | The Makefile now provides instructions to clean out old kernel module object files.   |
751 |                                 |                                                                                       |
752 +---------------------------------+---------------------------------------------------------------------------------------+
753 | Affected Environment/Platform   | All                                                                                   |
754 |                                 |                                                                                       |
755 +---------------------------------+---------------------------------------------------------------------------------------+
756 | Driver/Module                   | Load balance sample application                                                       |
757 |                                 |                                                                                       |
758 +---------------------------------+---------------------------------------------------------------------------------------+
759
760 rte_cmdline library should not be used in production code due to limited testing
761 --------------------------------------------------------------------------------
762
763 +---------------------------------+---------------------------------------------------------------------------------------+
764 | Title                           | rte_cmdline library should not be used in production code due to limited testing      |
765 |                                 |                                                                                       |
766 +=================================+=======================================================================================+
767 | Reference #                     | 34                                                                                    |
768 |                                 |                                                                                       |
769 +---------------------------------+---------------------------------------------------------------------------------------+
770 | Description                     | The rte_cmdline library provides a command line interface for use in sample           |
771 |                                 | applications and test applications distributed as part of Intel® DPDK. However, it is |
772 |                                 | not validated to the same standard as other Intel® DPDK libraries.                    |
773 |                                 |                                                                                       |
774 +---------------------------------+---------------------------------------------------------------------------------------+
775 | Implication                     | It may contain bugs or errors that could cause issues in production applications.     |
776 |                                 |                                                                                       |
777 +---------------------------------+---------------------------------------------------------------------------------------+
778 | Resolution                      | The rte_cmdline library is now tested correctly.                                      |
779 |                                 |                                                                                       |
780 +---------------------------------+---------------------------------------------------------------------------------------+
781 | Affected Environment/Platform   | All                                                                                   |
782 |                                 |                                                                                       |
783 +---------------------------------+---------------------------------------------------------------------------------------+
784 | Driver/Module                   | rte_cmdline                                                                           |
785 |                                 |                                                                                       |
786 +---------------------------------+---------------------------------------------------------------------------------------+
787
788 Some \*_INITIALIZER macros are not compatible with C++
789 ------------------------------------------------------
790
791 +---------------------------------+---------------------------------------------------------------------------------------+
792 | Title                           | Some \*_INITIALIZER macros are not compatible with C++                                |
793 |                                 |                                                                                       |
794 +=================================+=======================================================================================+
795 | Reference #                     | IXA00371699                                                                           |
796 |                                 |                                                                                       |
797 +---------------------------------+---------------------------------------------------------------------------------------+
798 | Description                     | These macros do not work with C++ compilers, since they use the C99 method of named   |
799 |                                 | field initialization. The TOKEN_*_INITIALIZER macros in librte_cmdline have this      |
800 |                                 | problem.                                                                              |
801 |                                 |                                                                                       |
802 +---------------------------------+---------------------------------------------------------------------------------------+
803 | Implication                     | C++ application using these macros will fail to compile.                              |
804 |                                 |                                                                                       |
805 +---------------------------------+---------------------------------------------------------------------------------------+
806 | Resolution/ Workaround          | Macros are now compatible with C++ code.                                              |
807 |                                 |                                                                                       |
808 +---------------------------------+---------------------------------------------------------------------------------------+
809 | Affected Environment/Platform   | All                                                                                   |
810 |                                 |                                                                                       |
811 +---------------------------------+---------------------------------------------------------------------------------------+
812 | Driver/Module                   | rte_timer, rte_cmdline                                                                |
813 |                                 |                                                                                       |
814 +---------------------------------+---------------------------------------------------------------------------------------+
815
816 No traffic through bridge when using exception_path sample application
817 ----------------------------------------------------------------------
818
819 +---------------------------------+---------------------------------------------------------------------------------------+
820 | Title                           | No traffic through bridge when using exception_path sample application                |
821 |                                 |                                                                                       |
822 +=================================+=======================================================================================+
823 | Reference #                     | IXA00168356                                                                           |
824 |                                 |                                                                                       |
825 +---------------------------------+---------------------------------------------------------------------------------------+
826 | Description                     | On some systems, packets are sent from the exception_path to the tap device, but are  |
827 |                                 | not forwarded by the bridge.                                                          |
828 |                                 |                                                                                       |
829 +---------------------------------+---------------------------------------------------------------------------------------+
830 | Implication                     | The sample application does not work as described in its sample application quide.    |
831 |                                 |                                                                                       |
832 +---------------------------------+---------------------------------------------------------------------------------------+
833 | Resolution/Workaround           | If you cannot get packets though the bridge, it might be because IP packet filtering  |
834 |                                 | rules are up by default on the bridge. In that case you can disable it using the      |
835 |                                 | following:                                                                            |
836 |                                 |                                                                                       |
837 |                                 | # for i in /proc/sys/net/bridge/bridge_nf-\*; do echo 0 > $i; done                    |
838 |                                 |                                                                                       |
839 +---------------------------------+---------------------------------------------------------------------------------------+
840 | Affected Environment/Platform   | Linux                                                                                 |
841 |                                 |                                                                                       |
842 +---------------------------------+---------------------------------------------------------------------------------------+
843 | Driver/Module                   | Exception path sample application                                                     |
844 |                                 |                                                                                       |
845 +---------------------------------+---------------------------------------------------------------------------------------+
846
847 Segmentation Fault in testpmd after config fails
848 ------------------------------------------------
849
850 +---------------------------------+---------------------------------------------------------------------------------------+
851 | Title                           | Segmentation Fault in testpmd after config fails                                      |
852 |                                 |                                                                                       |
853 +=================================+=======================================================================================+
854 | Reference #                     | IXA00378638                                                                           |
855 |                                 |                                                                                       |
856 +---------------------------------+---------------------------------------------------------------------------------------+
857 | Description                     | Starting testpmd with a parameter that causes port queue setup to fail, for example,  |
858 |                                 | set TX WTHRESH to non 0 when tx_rs_thresh is greater than 1, then doing               |
859 |                                 | “port start all”.                                                                     |
860 |                                 |                                                                                       |
861 +---------------------------------+---------------------------------------------------------------------------------------+
862 | Implication                     | Seg fault in testpmd                                                                  |
863 |                                 |                                                                                       |
864 +---------------------------------+---------------------------------------------------------------------------------------+
865 | Resolution/ Workaround          | Testpmd now forces port reconfiguration if the initial configuration  failed.         |
866 |                                 |                                                                                       |
867 +---------------------------------+---------------------------------------------------------------------------------------+
868 | Affected Environment/Platform   | All                                                                                   |
869 |                                 |                                                                                       |
870 +---------------------------------+---------------------------------------------------------------------------------------+
871 | Driver/Module                   | Testpmd Sample Application                                                            |
872 |                                 |                                                                                       |
873 +---------------------------------+---------------------------------------------------------------------------------------+
874
875 Linux kernel pci_cfg_access_lock() API can be prone to deadlock
876 ---------------------------------------------------------------
877
878 +---------------------------------+---------------------------------------------------------------------------------------+
879 | Title                           | Linux kernel pci_cfg_access_lock() API can be prone to deadlock                       |
880 |                                 |                                                                                       |
881 +=================================+=======================================================================================+
882 | Reference #                     | IXA00373232                                                                           |
883 |                                 |                                                                                       |
884 +---------------------------------+---------------------------------------------------------------------------------------+
885 | Description                     | The kernel APIs used for locking in the igb_uio driver can cause a deadlock in        |
886 |                                 | certain situations.                                                                   |
887 |                                 |                                                                                       |
888 +---------------------------------+---------------------------------------------------------------------------------------+
889 | Implication                     | Unknown at this time; depends on the application.                                     |
890 |                                 |                                                                                       |
891 +---------------------------------+---------------------------------------------------------------------------------------+
892 | Resolution/ Workaround          | The igb_uio driver now uses the pci_cfg_access_trylock() function instead of          |
893 |                                 | pci_cfg_access_lock().                                                                |
894 |                                 |                                                                                       |
895 +---------------------------------+---------------------------------------------------------------------------------------+
896 | Affected Environment/Platform   | All                                                                                   |
897 |                                 |                                                                                       |
898 +---------------------------------+---------------------------------------------------------------------------------------+
899 | Driver/Module                   | IGB UIO Driver                                                                        |
900 |                                 |                                                                                       |
901 +---------------------------------+---------------------------------------------------------------------------------------+
902
903 When running multi-process applications, “rte_malloc” functions cannot be used in secondary processes
904 -----------------------------------------------------------------------------------------------------
905
906 +---------------------------------+---------------------------------------------------------------------------------------+
907 | Title                           | When running multi-process applications, “rte_malloc” functions cannot be used in     |
908 |                                 | secondary processes                                                                   |
909 |                                 |                                                                                       |
910 +=================================+=======================================================================================+
911 | Reference #                     | 35                                                                                    |
912 |                                 |                                                                                       |
913 +---------------------------------+---------------------------------------------------------------------------------------+
914 | Description                     | The rte_malloc library provides a set of malloc-type functions that reserve memory    |
915 |                                 | from hugepage shared memory. Since secondary processes cannot reserve memory directly |
916 |                                 | from hugepage memory, rte_malloc functions cannot be used reliably.                   |
917 |                                 |                                                                                       |
918 +---------------------------------+---------------------------------------------------------------------------------------+
919 | Implication                     | The librte_malloc functions, for example, rte_malloc(), rte_zmalloc()                 |
920 |                                 | and rte_realloc() cannot be used reliably in secondary processes.                     |
921 |                                 |                                                                                       |
922 +---------------------------------+---------------------------------------------------------------------------------------+
923 | Resolution/ Workaround          | In addition to re-entrancy support, the Intel®  DPDK now supports the reservation of  |
924 |                                 | a memzone from the primary thread or secondary threads. This is achieved by putting   |
925 |                                 | the reservation-related control data structure of the memzone into shared memory.     |
926 |                                 | Since rte_malloc functions request memory directly from the memzone, the limitation   |
927 |                                 | for secondary threads no longer applies.                                              |
928 |                                 |                                                                                       |
929 +---------------------------------+---------------------------------------------------------------------------------------+
930 | Affected Environment/Platform   | All                                                                                   |
931 |                                 |                                                                                       |
932 +---------------------------------+---------------------------------------------------------------------------------------+
933 | Driver/Module                   | rte_malloc                                                                            |
934 |                                 |                                                                                       |
935 +---------------------------------+---------------------------------------------------------------------------------------+
936
937 Configuring maximum packet length for IGB with VLAN enabled may not take intoaccount the length of VLAN tag
938 -----------------------------------------------------------------------------------------------------------
939
940 +---------------------------------+---------------------------------------------------------------------------------------+
941 | Title                           | Configuring maximum packet length for IGB with VLAN enabled may not take into account |
942 |                                 | the length of VLAN tag                                                                |
943 |                                 |                                                                                       |
944 +=================================+=======================================================================================+
945 | Reference #                     | IXA00379880                                                                           |
946 |                                 |                                                                                       |
947 +---------------------------------+---------------------------------------------------------------------------------------+
948 | Description                     | For IGB, the maximum packet length configured may not include the length of the VLAN  |
949 |                                 | tag even if VLAN is enabled.                                                          |
950 |                                 |                                                                                       |
951 +---------------------------------+---------------------------------------------------------------------------------------+
952 | Implication                     | Packets with a VLAN tag with a size close to the maximum may be dropped.              |
953 |                                 |                                                                                       |
954 +---------------------------------+---------------------------------------------------------------------------------------+
955 | Resolution/Workaround           | NIC registers are now correctly initialized.                                          |
956 |                                 |                                                                                       |
957 +---------------------------------+---------------------------------------------------------------------------------------+
958 | Affected Environment/Platform   | All with IGB NICs                                                                     |
959 |                                 |                                                                                       |
960 +---------------------------------+---------------------------------------------------------------------------------------+
961 | Driver/Module                   | IGB Poll Mode Driver (PMD)                                                            |
962 |                                 |                                                                                       |
963 +---------------------------------+---------------------------------------------------------------------------------------+
964
965 Intel® I210 Ethernet controller always strips CRC of incoming packets
966 ---------------------------------------------------------------------
967
968 +---------------------------------+---------------------------------------------------------------------------------------+
969 | Title                           | Intel® I210 Ethernet controller always strips CRC of incoming packets                 |
970 |                                 |                                                                                       |
971 +=================================+=======================================================================================+
972 | Reference #                     | IXA00380265                                                                           |
973 |                                 |                                                                                       |
974 +---------------------------------+---------------------------------------------------------------------------------------+
975 | Description                     | The Intel® I210 Ethernet  controller (NIC) removes 4 bytes from the end of the packet |
976 |                                 | regardless of whether it was configured to do so or not.                              |
977 |                                 |                                                                                       |
978 +---------------------------------+---------------------------------------------------------------------------------------+
979 | Implication                     | Packets will be missing 4 bytes if the NIC is not configured to strip CRC.            |
980 |                                 |                                                                                       |
981 +---------------------------------+---------------------------------------------------------------------------------------+
982 | Resolution/ Workaround          | NIC registers are now  correctly initialized.                                         |
983 |                                 |                                                                                       |
984 +---------------------------------+---------------------------------------------------------------------------------------+
985 | Affected Environment/Platform   | All                                                                                   |
986 |                                 |                                                                                       |
987 +---------------------------------+---------------------------------------------------------------------------------------+
988 | Driver/Module                   | IGB Poll Mode Driver (PMD)                                                            |
989 |                                 |                                                                                       |
990 +---------------------------------+---------------------------------------------------------------------------------------+
991
992 EAL can silently reserve less memory than requested
993 ---------------------------------------------------
994
995 +---------------------------------+---------------------------------------------------------------------------------------+
996 | Title                           | EAL can silently reserve less memory than requested                                   |
997 |                                 |                                                                                       |
998 +=================================+=======================================================================================+
999 | Reference #                     | IXA00380689                                                                           |
1000 |                                 |                                                                                       |
1001 +---------------------------------+---------------------------------------------------------------------------------------+
1002 | Description                     | During application initialization, the EAL can silently reserve less memory than      |
1003 |                                 | requested by the user through the -m application option.                              |
1004 |                                 |                                                                                       |
1005 +---------------------------------+---------------------------------------------------------------------------------------+
1006 | Implication                     | The application fails to start.                                                       |
1007 |                                 |                                                                                       |
1008 +---------------------------------+---------------------------------------------------------------------------------------+
1009 | Resolution                      | EAL will detect if this condition occurs and will give anappropriate error message    |
1010 |                                 | describing steps to fix the problem.                                                  |
1011 |                                 |                                                                                       |
1012 +---------------------------------+---------------------------------------------------------------------------------------+
1013 | Affected Environment/Platform   | All                                                                                   |
1014 |                                 |                                                                                       |
1015 +---------------------------------+---------------------------------------------------------------------------------------+
1016 | Driver/Module                   | Environmental Abstraction Layer (EAL)                                                 |
1017 |                                 |                                                                                       |
1018 +---------------------------------+---------------------------------------------------------------------------------------+
1019
1020 SSH connectivity with the board may be lost when starting an Intel® DPDK application
1021 ------------------------------------------------------------------------------------
1022
1023 +---------------------------------+---------------------------------------------------------------------------------------+
1024 | Title                           | SSH connectivity with the board may be lost when starting an Intel® DPDK application  |
1025 |                                 |                                                                                       |
1026 +=================================+=======================================================================================+
1027 | Reference #                     | 26                                                                                    |
1028 |                                 |                                                                                       |
1029 +---------------------------------+---------------------------------------------------------------------------------------+
1030 | Description                     | Currently, the Intel®  DPDK takes over all the NICs found on the board that are       |
1031 |                                 | supported by the Intel® DPDK. This results in these NICs being removed from the NIC   |
1032 |                                 | set handled by the kernel,which has the side effect of any SSH connection being       |
1033 |                                 | terminated. See also issue #27.                                                       |
1034 |                                 |                                                                                       |
1035 +---------------------------------+---------------------------------------------------------------------------------------+
1036 | Implication                     | Loss of network connectivity to board.                                                |
1037 |                                 |                                                                                       |
1038 +---------------------------------+---------------------------------------------------------------------------------------+
1039 | Resolution                      | Intel® DPDK now no longer binds ports on startup. Please refer to the Getting Started |
1040 |                                 | Guide for information on how to bind/unbind ports from Intel® DPDK.                   |
1041 |                                 |                                                                                       |
1042 +---------------------------------+---------------------------------------------------------------------------------------+
1043 | Affected Environment/Platform   | Systems using a Intel®DPDK supported NIC for remote system access                     |
1044 |                                 |                                                                                       |
1045 +---------------------------------+---------------------------------------------------------------------------------------+
1046 | Driver/Module                   | Environment Abstraction Layer (EAL)                                                   |
1047 |                                 |                                                                                       |
1048 +---------------------------------+---------------------------------------------------------------------------------------+
1049
1050 Remote network connections lost when running autotests or sample applications
1051 -----------------------------------------------------------------------------
1052
1053 +---------------------------------+---------------------------------------------------------------------------------------+
1054 | Title                           | Remote network connections lost when running autotests or sample applications         |
1055 |                                 |                                                                                       |
1056 +=================================+=======================================================================================+
1057 | Reference #                     | 27                                                                                    |
1058 |                                 |                                                                                       |
1059 +---------------------------------+---------------------------------------------------------------------------------------+
1060 | Description                     | The PCI autotest and sample applications will scan for PCI devices and will remove    |
1061 |                                 | from Linux* control those recognized by it. This may result in the loss of network    |
1062 |                                 | connections to the system.                                                            |
1063 |                                 |                                                                                       |
1064 +---------------------------------+---------------------------------------------------------------------------------------+
1065 | Implication                     | Loss of network connectivity to board when connected remotely.                        |
1066 |                                 |                                                                                       |
1067 +---------------------------------+---------------------------------------------------------------------------------------+
1068 | Resolution                      | Intel® DPDK now no longer binds ports on startup.                                     |
1069 |                                 | Please refer to the Getting Started Guide for information on how to bind/unbind ports |
1070 |                                 | from Intel® DPDK.                                                                     |
1071 |                                 |                                                                                       |
1072 +---------------------------------+---------------------------------------------------------------------------------------+
1073 | Affected Environment/Platform   | Systems using a Intel® DPDK supported NIC for remote system access                    |
1074 |                                 |                                                                                       |
1075 +---------------------------------+---------------------------------------------------------------------------------------+
1076 | Driver/Module                   | Sample applications                                                                   |
1077 |                                 |                                                                                       |
1078 +---------------------------------+---------------------------------------------------------------------------------------+
1079
1080 KNI may not work properly in a multi-process environment
1081 --------------------------------------------------------
1082
1083 +---------------------------------+---------------------------------------------------------------------------------------+
1084 | Title                           | KNI may not work properly in a multi-process environment                              |
1085 |                                 |                                                                                       |
1086 +=================================+=======================================================================================+
1087 | Reference #                     | IXA00380475                                                                           |
1088 |                                 |                                                                                       |
1089 +---------------------------------+---------------------------------------------------------------------------------------+
1090 | Description                     | Some of the network interface operations such as, MTU change or link UP/DOWN, when    |
1091 |                                 | executed on KNI interface, might fail in a multi-process environment, although they   |
1092 |                                 | are normally successful in the Intel® DPDK single process environment.                |
1093 |                                 |                                                                                       |
1094 +---------------------------------+---------------------------------------------------------------------------------------+
1095 | Implication                     | Some network interface operations on KNI cannot be used in an Intel® DPDK             |
1096 |                                 | multi-process environment.                                                            |
1097 |                                 |                                                                                       |
1098 +---------------------------------+---------------------------------------------------------------------------------------+
1099 | Resolution                      | The ifconfig callbacks are now explicitly set in either master or secondary process.  |
1100 |                                 |                                                                                       |
1101 +---------------------------------+---------------------------------------------------------------------------------------+
1102 | Affected Environment/Platform   | All                                                                                   |
1103 |                                 |                                                                                       |
1104 +---------------------------------+---------------------------------------------------------------------------------------+
1105 | Driver/Module                   | Kernel Network Interface (KNI)                                                        |
1106 |                                 |                                                                                       |
1107 +---------------------------------+---------------------------------------------------------------------------------------+
1108
1109 Hash library cannot be used in multi-process applications with multiple binaries
1110 --------------------------------------------------------------------------------
1111
1112 +---------------------------------+---------------------------------------------------------------------------------------+
1113 | Title                           | Hash library cannot be used in multi-process applications with multiple binaries      |
1114 |                                 |                                                                                       |
1115 +=================================+=======================================================================================+
1116 | Reference #                     | IXA00168658                                                                           |
1117 |                                 |                                                                                       |
1118 +---------------------------------+---------------------------------------------------------------------------------------+
1119 | Description                     | The hash function used by a given hash-table implementation is referenced in the code |
1120 |                                 | by way of a function pointer. This means that it cannot work in cases where the hash  |
1121 |                                 | function is at a different location in the code segment in different processes, as is |
1122 |                                 | the case where an Intel® DPDK multi-process application uses a number of different    |
1123 |                                 | binaries, for example, the client-server multi-process example.                       |
1124 |                                 |                                                                                       |
1125 +---------------------------------+---------------------------------------------------------------------------------------+
1126 | Implication                     | The Hash library will not work if shared by multiple processes.                       |
1127 |                                 |                                                                                       |
1128 +---------------------------------+---------------------------------------------------------------------------------------+
1129 | Resolution/Workaround           | New API was added for multiprocess scenario. Please refer to Intel® DPDK Programmer’s |
1130 |                                 | Guide for more information.                                                           |
1131 |                                 |                                                                                       |
1132 +---------------------------------+---------------------------------------------------------------------------------------+
1133 | Affected Environment/Platform   | All                                                                                   |
1134 |                                 |                                                                                       |
1135 +---------------------------------+---------------------------------------------------------------------------------------+
1136 | Driver/Module                   | librte_hash library                                                                   |
1137 |                                 |                                                                                       |
1138 +---------------------------------+---------------------------------------------------------------------------------------+
1139
1140 Unused hugepage files are not cleared after initialization
1141 ----------------------------------------------------------
1142
1143 +---------------------------------+---------------------------------------------------------------------------------------+
1144 | Title                           | Hugepage files are not cleared after initialization                                   |
1145 |                                 |                                                                                       |
1146 +=================================+=======================================================================================+
1147 | Reference #                     | IXA00383462                                                                           |
1148 |                                 |                                                                                       |
1149 +---------------------------------+---------------------------------------------------------------------------------------+
1150 | Description                     | EAL leaves hugepages allocated at initialization in the hugetlbfs even if they are    |
1151 |                                 | not used.                                                                             |
1152 |                                 |                                                                                       |
1153 +---------------------------------+---------------------------------------------------------------------------------------+
1154 | Implication                     | Reserved hugepages are not freed back to the system, preventing other applications    |
1155 |                                 | that use hugepages from running.                                                      |
1156 |                                 |                                                                                       |
1157 +---------------------------------+---------------------------------------------------------------------------------------+
1158 | Resolution/Workaround           | Reserved and unused hugepages are now freed back to the system.                       |
1159 |                                 |                                                                                       |
1160 +---------------------------------+---------------------------------------------------------------------------------------+
1161 | Affected Environment/Platform   | All                                                                                   |
1162 |                                 |                                                                                       |
1163 +---------------------------------+---------------------------------------------------------------------------------------+
1164 | Driver/Module                   | EAL                                                                                   |
1165 |                                 |                                                                                       |
1166 +---------------------------------+---------------------------------------------------------------------------------------+
1167
1168 Packet reception issues when virtualization is enabled
1169 ------------------------------------------------------
1170
1171 +---------------------------------+---------------------------------------------------------------------------------------+
1172 | Title                           | Packet reception issues when virtualization is enabled                                |
1173 |                                 |                                                                                       |
1174 +=================================+=======================================================================================+
1175 | Reference #                     | IXA00369908                                                                           |
1176 |                                 |                                                                                       |
1177 +---------------------------------+---------------------------------------------------------------------------------------+
1178 | Description                     | Packets are not transmitted or received on when VT-d is enabled in the BIOS and Intel |
1179 |                                 | IOMMU is used. More recent kernels do not exhibit this issue.                         |
1180 |                                 |                                                                                       |
1181 +---------------------------------+---------------------------------------------------------------------------------------+
1182 | Implication                     | An application requiring packet transmission or reception will not function.          |
1183 |                                 |                                                                                       |
1184 +---------------------------------+---------------------------------------------------------------------------------------+
1185 | Resolution/Workaround           | Intel® DPDK Poll Mode Driver now has the ability to map correct physical addresses to |
1186 |                                 | the device structures.                                                                |
1187 |                                 |                                                                                       |
1188 +---------------------------------+---------------------------------------------------------------------------------------+
1189 | Affected Environment/Platform   | All                                                                                   |
1190 |                                 |                                                                                       |
1191 +---------------------------------+---------------------------------------------------------------------------------------+
1192 | Driver/Module                   | Poll mode drivers                                                                     |
1193 |                                 |                                                                                       |
1194 +---------------------------------+---------------------------------------------------------------------------------------+