summaryrefslogtreecommitdiffstats
path: root/doc/guides/rel_notes
diff options
context:
space:
mode:
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-07-06 09:22:35 +0200
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-07-06 16:15:13 +0200
commit809f08006d56e7ba4ce190b0a63d44acf62d8044 (patch)
treed93fbe3244ee0cff16a6af830c7efb15c26e5ef4 /doc/guides/rel_notes
parentb8ce7c38b99df118002fb460e680fabf16944f6c (diff)
Imported Upstream version 16.07-rc1
Change-Id: If3f757dc95532706b04053286c6b54492169f1a3 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Diffstat (limited to 'doc/guides/rel_notes')
-rw-r--r--doc/guides/rel_notes/deprecation.rst79
-rw-r--r--doc/guides/rel_notes/index.rst1
-rw-r--r--doc/guides/rel_notes/known_issues.rst40
-rw-r--r--doc/guides/rel_notes/release_16_07.rst358
4 files changed, 395 insertions, 83 deletions
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 327fc2bf..f502f863 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -8,6 +8,9 @@ API and ABI deprecation notices are to be posted here.
Deprecation Notices
-------------------
+* The log history is deprecated.
+ It is voided in 16.07 and will be removed in release 16.11.
+
* The ethdev hotplug API is going to be moved to EAL with a notification
mechanism added to crypto and ethdev libraries so that hotplug is now
available to both of them. This API will be stripped of the device arguments
@@ -20,73 +23,21 @@ Deprecation Notices
do not need to care about the kind of devices that are being used, making it
easier to add new buses later.
-* The EAL function pci_config_space_set is deprecated in release 16.04
- and will be removed from 16.07.
- Macros CONFIG_RTE_PCI_CONFIG, CONFIG_RTE_PCI_EXTENDED_TAG and
- CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE will be removed.
- The /sys entries extended_tag and max_read_request_size created by igb_uio
- will be removed.
-
-* ABI changes are planned for struct rte_pci_id, i.e., add new field ``class``.
- This new added ``class`` field can be used to probe pci device by class
- related info. This change should impact size of struct rte_pci_id and struct
- rte_pci_device. The release 16.04 does not contain these ABI changes, but
- release 16.07 will.
-
-* The following fields have been deprecated in rte_eth_stats:
- ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
- tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff
-
-* The xstats API and rte_eth_xstats struct will be changed to allow retrieval
- of values without any string copies or parsing.
- No backwards compatibility is planned, as it would require code duplication
- in every PMD that supports xstats.
-
* ABI changes are planned for adding four new flow types. This impacts
RTE_ETH_FLOW_MAX. The release 2.2 does not contain these ABI changes,
but release 2.3 will. [postponed]
-* ABI change is planned for the rte_mempool structure to allow mempool
- cache support to be dynamic depending on the mempool being created
- needing cache support. Saves about 1.5M of memory per rte_mempool structure
- by removing the per lcore cache memory. Change will occur in DPDK 16.07
- release and will skip the define RTE_NEXT_ABI in DPDK 16.04 release. The
- code affected is app/test/test_mempool.c and librte_mempool/rte_mempool.[ch].
- The rte_mempool.local_cache will be converted from an array to a pointer to
- allow for dynamic allocation of the per lcore cache memory.
-
-* ABI will change for rte_mempool struct to move the cache-related fields
- to the more appropriate rte_mempool_cache struct. The mempool API is
- also changed to enable external cache management that is not tied to EAL
- threads. Some mempool get and put calls are removed in favor of a more
- compact API. The ones that remain are backwards compatible and use the
- per-lcore default cache if available. This change targets release 16.07.
-
-* The rte_mempool struct will be changed in 16.07 to facilitate the new
- external mempool manager functionality.
- The ring element will be replaced with a more generic 'pool' opaque pointer
- to allow new mempool handlers to use their own user-defined mempool
- layout. Also newly added to rte_mempool is a handler index.
- The existing API will be backward compatible, but there will be new API
- functions added to facilitate the creation of mempools using an external
- handler. The 16.07 release will contain these changes.
-
-* The rte_mempool allocation will be changed in 16.07:
- allocation of large mempool in several virtual memory chunks, new API
- to populate a mempool, new API to free a mempool, allocation in
- anonymous mapping, drop of specific dom0 code. These changes will
- induce a modification of the rte_mempool structure, plus a
- modification of the API of rte_mempool_obj_iter(), implying a breakage
- of the ABI.
+* The mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT are deprecated and
+ are respectively replaced by PKT_RX_VLAN_STRIPPED and
+ PKT_RX_QINQ_STRIPPED, that are better described. The old flags and
+ their behavior will be kept in 16.07 and will be removed in 16.11.
-* ABI changes are planned for struct rte_port_source_params in order to
- support PCAP file reading feature. The release 16.04 contains this ABI
- change wrapped by RTE_NEXT_ABI macro. Release 16.07 will contain this
- change, and no backwards compatibility is planned.
+* The APIs rte_mempool_count and rte_mempool_free_count are being deprecated
+ on the basis that they are confusing to use - free_count actually returns
+ the number of allocated entries, not the number of free entries as expected.
+ They are being replaced by rte_mempool_avail_count and
+ rte_mempool_in_use_count respectively.
-* A librte_vhost public structures refactor is planned for DPDK 16.07
- that requires both ABI and API change.
- The proposed refactor would expose DPDK vhost dev to applications as
- a handle, like the way kernel exposes an fd to user for locating a
- specific file, and to keep all major structures internally, so that
- we are likely to be free from ABI violations in future.
+* The mempool functions for single/multi producer/consumer are deprecated and
+ will be removed in 16.11.
+ It is replaced by rte_mempool_generic_get/put functions.
diff --git a/doc/guides/rel_notes/index.rst b/doc/guides/rel_notes/index.rst
index 84317b81..52c63b40 100644
--- a/doc/guides/rel_notes/index.rst
+++ b/doc/guides/rel_notes/index.rst
@@ -36,6 +36,7 @@ Release Notes
:numbered:
rel_description
+ release_16_07
release_16_04
release_2_2
release_2_1
diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst
index 923a202d..5ec19876 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -532,25 +532,6 @@ Cannot set link speed on Intel® 40G Ethernet controller
Poll Mode Driver (PMD).
-Stopping the port does not down the link on Intel® 40G Ethernet controller
---------------------------------------------------------------------------
-
-**Description**:
- On Intel® 40G Ethernet Controller stopping the port does not really down the port link.
-
-**Implication**:
- The port link will be still up after stopping the port.
-
-**Resolution/Workaround**:
- None
-
-**Affected Environment/Platform**:
- All.
-
-**Driver/Module**:
- Poll Mode Driver (PMD).
-
-
Devices bound to igb_uio with VT-d enabled do not work on Linux kernel 3.15-3.17
--------------------------------------------------------------------------------
@@ -618,3 +599,24 @@ DPDK may not build on some Intel CPUs using clang < 3.7.0
**Driver/Module**:
Environment Abstraction Layer (EAL).
+
+
+The last EAL argument is replaced by the program name in argv[]
+---------------------------------------------------------------
+
+**Description**:
+ The last EAL argument is replaced by program name in ``argv[]`` after ``eal_parse_args`` is called.
+ This is the intended behavior but it causes the pointer to the last EAL argument to be lost.
+
+**Implication**:
+ If the last EAL argument in ``argv[]`` is generated by a malloc function, changing it will cause memory
+ issues when freeing the argument.
+
+**Resolution/Workaround**:
+ An application should not consider the value in ``argv[]`` as unchanged.
+
+**Affected Environment/Platform**:
+ ALL.
+
+**Driver/Module**:
+ Environment Abstraction Layer (EAL).
diff --git a/doc/guides/rel_notes/release_16_07.rst b/doc/guides/rel_notes/release_16_07.rst
new file mode 100644
index 00000000..569f562f
--- /dev/null
+++ b/doc/guides/rel_notes/release_16_07.rst
@@ -0,0 +1,358 @@
+DPDK Release 16.07
+==================
+
+.. **Read this first.**
+
+ The text below explains how to update the release notes.
+
+ Use proper spelling, capitalization and punctuation in all sections.
+
+ Variable and config names should be quoted as fixed width text: ``LIKE_THIS``.
+
+ Build the docs and view the output file to ensure the changes are correct::
+
+ make doc-guides-html
+
+ firefox build/doc/html/guides/rel_notes/release_16_07.html
+
+
+New Features
+------------
+
+.. This section should contain new features added in this release. Sample format:
+
+ * **Add a title in the past tense with a full stop.**
+
+ Add a short 1-2 sentence description in the past tense. The description
+ should be enough to allow someone scanning the release notes to understand
+ the new feature.
+
+ If the feature adds a lot of sub-features you can use a bullet list like this.
+
+ * Added feature foo to do something.
+ * Enhanced feature bar to do something else.
+
+ Refer to the previous release notes for examples.
+
+* **Removed mempool cache if not needed.**
+
+ The size of the mempool structure is reduced if the per-lcore cache is disabled.
+
+* **Added mempool external cache for non-EAL thread.**
+
+ Added new functions to create, free or flush a user-owned mempool
+ cache for non-EAL threads. Previously, cache was always disabled
+ on these threads.
+
+* **Changed the memory allocation in mempool library.**
+
+ * Added ability to allocate a large mempool in virtually fragmented memory.
+ * Added new APIs to populate a mempool with memory.
+ * Added an API to free a mempool.
+ * Modified the API of rte_mempool_obj_iter() function.
+ * Dropped specific Xen Dom0 code.
+ * Dropped specific anonymous mempool code in testpmd.
+
+* **Added new driver for Broadcom NetXtreme-C devices.**
+
+ Added the new bnxt driver for Broadcom NetXtreme-C devices. See the
+ "Network Interface Controller Drivers" document for more details on this
+ new driver.
+
+* **Added new driver for ThunderX nicvf device.**
+
+* **Added mailbox interrupt support for ixgbe and igb VFs.**
+
+ When the physical NIC link comes down or up, the PF driver will send a
+ mailbox message to notify each VF. To handle this link up/down event,
+ add mailbox interrupts support to receive the message and allow the app to
+ register a callback for it.
+
+* **Updated the ixgbe base driver.**
+
+ The ixgbe base driver was updated with changes including the
+ following:
+
+ * Added sgmii link for X550.
+ * Added mac link setup for X550a SFP and SFP+.
+ * Added KR support for X550em_a.
+ * Added new phy definitions for M88E1500.
+ * Added support for the VLVF to be bypassed when adding/removing a VFTA entry.
+ * Added X550a flow control auto negotiation support.
+
+* **Updated the i40e base driver.**
+
+ Updated the i40e base driver, which includes support for new devices IDs.
+
+* **Supported virtio on IBM POWER8.**
+
+ The ioports are mapped in memory when using Linux UIO.
+
+* **Virtio support for containers.**
+
+ Add a new virtual device, named virtio-user, to support virtio for containers.
+
+ Known limitations:
+
+ * Control queue and multi-queue are not supported yet.
+ * Cannot work with --huge-unlink.
+ * Cannot work with --no-huge.
+ * Cannot work when there are more than VHOST_MEMORY_MAX_NREGIONS(8) hugepages.
+ * Root privilege is a must for sorting hugepages by physical address.
+ * Can only be used with vhost user backend.
+
+* **Added vhost-user client mode.**
+
+ DPDK vhost-user could be the server as well as the client. It supports
+ server mode only before, now it also supports client mode. Client mode
+ is enabled when ``RTE_VHOST_USER_CLIENT`` flag is set while calling
+ ``rte_vhost_driver_register``.
+
+ When DPDK vhost-user restarts from normal or abnormal quit (say crash),
+ the client mode would allow DPDK to establish the connect again. Note
+ that a brand new QEMU version (v2.7 or above) is needed, otherwise, the
+ reconnect won't work.
+
+ DPDK vhost-user will also try to reconnect by default when
+
+ * the first connect fails (when QEMU is not started yet)
+ * the connection is broken (when QEMU restarts)
+
+ It can be turned off if flag ``RTE_VHOST_USER_NO_RECONNECT`` is set.
+
+* **Added NSH packet recognition in i40e.**
+
+* **Added AES-CTR support to AESNI MB PMD.**
+
+ Now AESNI MB PMD supports 128/192/256-bit counter mode AES encryption and
+ decryption.
+
+* **Added support of AES counter mode for Intel QuickAssist devices.**
+
+ Enabled support for the AES CTR algorithm for Intel QuickAssist devices.
+ Provided support for algorithm-chaining operations.
+
+* **Added KASUMI SW PMD.**
+
+ A new Crypto PMD has been added, which provides KASUMI F8 (UEA1) ciphering
+ and KASUMI F9 (UIA1) hashing.
+
+* **Added multi-writer support for RTE Hash with Intel TSX.**
+
+ The following features/modifications have been added to rte_hash library:
+
+ * Enabled application developers to use an extra flag for rte_hash creation
+ to specify default behavior (multi-thread safe/unsafe) with rte_hash_add_key
+ function.
+ * Changed Cuckoo search algorithm to breadth first search for multi-writer
+ routine and split Cuckoo Search and Move operations in order to reduce
+ transactional code region and improve TSX performance.
+ * Added a hash multi-writer test case for test app.
+
+* **Improved IP Pipeline Application.**
+
+ The following features have been added to ip_pipeline application:
+
+ * Configure the MAC address in the routing pipeline and automatic routes
+ updates with change in link state.
+ * Enable RSS per network interface through the configuration file.
+ * Streamline the CLI code.
+
+* **Added keepalive enhancements.**
+
+ Adds support for reporting of core states other than dead to
+ monitoring applications, enabling the support of broader liveness
+ reporting to external processes.
+
+* **Added packet capture framework.**
+
+ * A new library ``librte_pdump`` is added to provide packet capture API.
+ * A new ``app/pdump`` tool is added to capture packets in DPDK.
+
+
+* **Added floating VEB support for i40e PF driver.**
+
+ A "floating VEB" is a special Virtual Ethernet Bridge (VEB) which does not
+ have an upload port, but instead is used for switching traffic between
+ virtual functions (VFs) on a port.
+
+ For information on this feature, please see the "I40E Poll Mode Driver"
+ section of the "Network Interface Controller Drivers" document.
+
+
+Resolved Issues
+---------------
+
+.. This section should contain bug fixes added to the relevant sections. Sample format:
+
+ * **code/section Fixed issue in the past tense with a full stop.**
+
+ Add a short 1-2 sentence description of the resolved issue in the past tense.
+ The title should contain the code/lib section like a commit message.
+ Add the entries in alphabetic order in the relevant sections below.
+
+
+EAL
+~~~
+
+
+Drivers
+~~~~~~~
+
+* **i40e: Fixed vlan stripping from inner header.**
+
+ Previously, for tunnel packets, such as VXLAN/NVGRE, the vlan
+ tags of the inner header will be stripped without putting vlan
+ info to descriptor.
+ Now this issue is fixed by disabling vlan stripping from inner header.
+
+* **i40e: Fixed the type issue of a single VLAN type.**
+
+ Currently, if a single VLAN header is added in a packet, it's treated
+ as inner VLAN. But generally, a single VLAN header is treated as the
+ outer VLAN header.
+ This issue is fixed by changing corresponding register for single VLAN.
+
+
+Libraries
+~~~~~~~~~
+
+* **mbuf: Fixed refcnt update when detaching.**
+
+ Fix the ``rte_pktmbuf_detach()`` function to decrement the direct
+ mbuf's reference counter. The previous behavior was not to affect
+ the reference counter. It lead a memory leak of the direct mbuf.
+
+
+Examples
+~~~~~~~~
+
+
+Other
+~~~~~
+
+
+Known Issues
+------------
+
+.. This section should contain new known issues in this release. Sample format:
+
+ * **Add title in present tense with full stop.**
+
+ Add a short 1-2 sentence description of the known issue in the present
+ tense. Add information on any known workarounds.
+
+
+API Changes
+-----------
+
+.. This section should contain API changes. Sample format:
+
+ * Add a short 1-2 sentence description of the API change. Use fixed width
+ quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+
+* The following counters are removed from ``rte_eth_stats`` structure:
+ ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
+ tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff.
+
+* The extended statistics are fetched by ids with ``rte_eth_xstats_get``
+ after a lookup by name ``rte_eth_xstats_get_names``.
+
+* The function ``rte_eth_dev_info_get`` fill the new fields ``nb_rx_queues``
+ and ``nb_tx_queues`` in the structure ``rte_eth_dev_info``.
+
+* The vhost function ``rte_vring_available_entries`` is renamed to
+ ``rte_vhost_avail_entries``.
+
+* All existing vhost APIs and callbacks with ``virtio_net`` struct pointer
+ as the parameter have been changed due to the ABI refactoring mentioned
+ below: it's replaced by ``int vid``.
+
+* The function ``rte_vhost_enqueue_burst`` no longer supports concurrent enqueuing
+ packets to the same queue.
+
+* The function ``rte_eth_dev_set_mtu`` adds a new return value ``-EBUSY``, which
+ indicates the operation is forbidden because the port is running.
+
+
+ABI Changes
+-----------
+
+.. * Add a short 1-2 sentence description of the ABI change that was announced in
+ the previous releases and made in this release. Use fixed width quotes for
+ ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+
+* The ``rte_port_source_params`` structure has new fields to support PCAP file.
+ It was already in release 16.04 with ``RTE_NEXT_ABI`` flag.
+
+* The ``rte_eth_dev_info`` structure has new fields ``nb_rx_queues`` and ``nb_tx_queues``
+ to support number of queues configured by software.
+
+* vhost ABI refactoring has been made: ``virtio_net`` structure is never
+ exported to application any more. Instead, a handle, ``vid``, has been
+ used to represent this structure internally.
+
+
+Shared Library Versions
+-----------------------
+
+.. Update any library version updated in this release and prepend with a ``+`` sign.
+
+The libraries prepended with a plus sign were incremented in this version.
+
+.. code-block:: diff
+
+ + libethdev.so.4
+ librte_acl.so.2
+ librte_cfgfile.so.2
+ librte_cmdline.so.2
+ librte_distributor.so.1
+ librte_eal.so.2
+ librte_hash.so.2
+ librte_ip_frag.so.1
+ librte_ivshmem.so.1
+ librte_jobstats.so.1
+ librte_kni.so.2
+ librte_kvargs.so.1
+ librte_lpm.so.2
+ librte_mbuf.so.2
+ + librte_mempool.so.2
+ librte_meter.so.1
+ librte_pipeline.so.3
+ librte_pmd_bond.so.1
+ librte_pmd_ring.so.2
+ + librte_port.so.3
+ librte_power.so.1
+ librte_reorder.so.1
+ librte_ring.so.1
+ librte_sched.so.1
+ librte_table.so.2
+ librte_timer.so.1
+ + librte_vhost.so.3
+
+
+Tested Platforms
+----------------
+
+.. This section should contain a list of platforms that were tested with this
+ release.
+
+ The format is:
+
+ #. Platform name.
+
+ - Platform details.
+ - Platform details.
+
+
+Tested NICs
+-----------
+
+.. This section should contain a list of NICs that were tested with this release.
+
+ The format is:
+
+ #. NIC name.
+
+ - NIC details.
+ - NIC details.