X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_17_05.rst;h=aa3e1e074f65cd762393f1dccaae1df565e69eba;hb=60e686c22394677787411945fe17bfe18ac0e9c7;hp=f3e152bc120af3ad360fe449fd684760080fcdc3;hpb=ef53b60300393c5d98c8d55a54b5e45a38cc914d;p=dpdk.git diff --git a/doc/guides/rel_notes/release_17_05.rst b/doc/guides/rel_notes/release_17_05.rst index f3e152bc12..aa3e1e074f 100644 --- a/doc/guides/rel_notes/release_17_05.rst +++ b/doc/guides/rel_notes/release_17_05.rst @@ -41,12 +41,31 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Reorganized the mbuf structure.** + + * Align fields to facilitate the writing of ``data_off``, ``refcnt``, and + ``nb_segs`` in one operation. + * Use 2 bytes for port and number of segments. + * Move the sequence number in the second cache line. + * Add a timestamp field. + * Set default value for ``refcnt``, ``next`` and ``nb_segs`` at mbuf free. + +* **Added mbuf raw free API** + + Moved ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()`` functions to + the public API. + * **Added free Tx mbuf on demand API.** Added a new function ``rte_eth_tx_done_cleanup()`` which allows an application to request the driver to release mbufs from their Tx ring that are no longer in use, independent of whether or not the ``tx_rs_thresh`` has been crossed. +* **Added EAL dynamic log framework.** + + Added new APIs to dynamically register named log types, and control + the level of each type independently. + * **Added descriptor status ethdev API.** Added a new API to get the status of a descriptor. @@ -170,6 +189,54 @@ New Features * Rxq interrupt for virtio-user + vhost-kernel as the backend. * LSC interrupt for virtio-user + vhost-user as the backend. +* **Added event driven programming model library (rte_eventdev).** + + This API introduces event driven programming model. + + In a polling model, lcores poll ethdev ports and associated + rx queues directly to look for packet. In an event driven model, + by contrast, lcores call the scheduler that selects packets for + them based on programmer-specified criteria. Eventdev library + added support for event driven programming model, which offer + applications automatic multicore scaling, dynamic load balancing, + pipelining, packet ingress order maintenance and + synchronization services to simplify application packet processing. + + By introducing event driven programming model, DPDK can support + both polling and event driven programming models for packet processing, + and applications are free to choose whatever model + (or combination of the two) that best suits their needs. + +* **Added Software Eventdev PMD.** + + Added support for the software eventdev PMD. The software eventdev is a + software based scheduler device that implements the eventdev API. This + PMD allows an application to configure a pipeline using the eventdev + library, and run the scheduling workload on a CPU core. + +* **Added Cavium OCTEONTX Eventdev PMD.** + + Added the new octeontx ssovf eventdev driver for OCTEONTX devices. See the + "Event Device Drivers" document for more details on this new driver. + +* **Added information metric library.** + + A library that allows information metrics to be added and updated + by producers, typically other libraries, for later retrieval by + consumers such as applications. It is intended to provide a + reporting mechanism that is independent of other libraries such + as ethdev. + +* **Added bit-rate calculation library.** + + A library that can be used to calculate device bit-rates. Calculated + bitrates are reported using the metrics library. + +* **Added latency stats library.** + + A library that measures packet latency. The collected statistics are jitter + and latency. For latency the minimum, average, and maximum is measured. + Resolved Issues --------------- @@ -280,6 +347,49 @@ API Changes flagged by the compiler. The return value usage should be checked while fixing the compiler error due to the extra parameter. +* **Reworked rte_vhost library** + + The rte_vhost library has been reworked to make it generic enough so that + user could build other vhost-user drivers on top of it. To achieve that, + following changes have been made: + + * The following vhost-pmd APIs are removed: + + * ``rte_eth_vhost_feature_disable`` + * ``rte_eth_vhost_feature_enable`` + * ``rte_eth_vhost_feature_get`` + + * The vhost API ``rte_vhost_driver_callback_register(ops)`` is reworked to + be per vhost-user socket file. Thus, it takes one more argument: + ``rte_vhost_driver_callback_register(path, ops)``. + + * The vhost API ``rte_vhost_get_queue_num`` is deprecated, instead, + ``rte_vhost_get_vring_num`` should be used. + + * Following macros are removed in ``rte_virtio_net.h`` + + * ``VIRTIO_RXQ`` + * ``VIRTIO_TXQ`` + * ``VIRTIO_QNUM`` + + * Following net specific header files are removed in ``rte_virtio_net.h`` + + * ``linux/virtio_net.h`` + * ``sys/socket.h`` + * ``linux/if.h`` + * ``rte_ether.h`` + + * The vhost struct ``virtio_net_device_ops`` is renamed to + ``vhost_device_ops`` + + * The vhost API ``rte_vhost_driver_session_start`` is removed. Instead, + ``rte_vhost_driver_start`` should be used, and no need to create a + thread to call it. + + * The vhost public header file ``rte_virtio_net.h`` is renamed to + ``rte_vhost.h`` + + ABI Changes ----------- @@ -293,6 +403,11 @@ ABI Changes Also, make sure to start the actual text at the margin. ========================================================= +* **Reorganized the mbuf structure.** + + The order and size of the fields in the ``mbuf`` structure changed, + as described in the `New Features`_ section. + Removed Items ------------- @@ -328,6 +443,7 @@ The libraries prepended with a plus sign were incremented in this version. .. code-block:: diff librte_acl.so.2 + + librte_bitratestats.so.1 librte_cfgfile.so.2 librte_cmdline.so.2 librte_cryptodev.so.2 @@ -339,10 +455,12 @@ The libraries prepended with a plus sign were incremented in this version. librte_jobstats.so.1 librte_kni.so.2 librte_kvargs.so.1 + + librte_latencystats.so.1 librte_lpm.so.2 - librte_mbuf.so.2 + + librte_mbuf.so.3 librte_mempool.so.2 librte_meter.so.1 + + librte_metrics.so.1 librte_net.so.1 librte_pdump.so.1 librte_pipeline.so.3