X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_18_05.rst;h=149e73bbda20dcea3f68dd3d2a33995154a6d743;hb=a3d6026711d00183e308f1dd79933f6161840e04;hp=22da4111e507ffdbd34890c673ad8625606001b0;hpb=653e038efc9bba32420db094219368fdaffc11b0;p=dpdk.git diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst index 22da4111e5..149e73bbda 100644 --- a/doc/guides/rel_notes/release_18_05.rst +++ b/doc/guides/rel_notes/release_18_05.rst @@ -41,6 +41,80 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Added PMD-recommended Tx and Rx parameters** + + Applications can now query drivers for device-tuned values of + ring sizes, burst sizes, and number of queues. + +* **Added RSS hash and key update to CXGBE PMD.** + + Support to update RSS hash and key has been added to CXGBE PMD. + +* **Added CXGBE VF PMD.** + + CXGBE VF Poll Mode Driver has been added to run DPDK over Chelsio + T5/T6 NIC VF instances. + +* **Updated Solarflare network PMD.** + + Updated the sfc_efx driver including the following changes: + + * Added support for Solarflare XtremeScale X2xxx family adapters. + * Added support for NVGRE, VXLAN and GENEVE filters in flow API. + * Added support for DROP action in flow API. + +* **Added Ethernet poll mode driver for AMD XGBE devices.** + + Added the new ``axgbe`` ethernet poll mode driver for AMD XGBE devices. + See the :doc:`../nics/axgbe` nic driver guide for more details on this + new driver. + +* **Updated szedata2 PMD.** + + Added support for new NFB-200G2QL card. + +* **Added support for Broadcom NetXtreme-S (BCM58800) family of controllers (aka Stingray)** + + The BCM58800 devices feature a NetXtreme E-Series advanced network controller, a high-performance + ARM CPU block, PCI Express (PCIe) Gen3 interfaces, key accelerators for compute offload and a high- + speed memory subsystem including L3 cache and DDR4 interfaces, all interconnected by a coherent + Network-on-chip (NOC) fabric. + + The ARM CPU subsystem features eight ARMv8 Cortex-A72 CPUs at 3.0 GHz, arranged in a multi-cluster + configuration. + +* **Added support for virtio-user server mode.** + In a container environment if the vhost-user backend restarts, there's no way + for it to reconnect to virtio-user. To address this, support for server mode + is added. In this mode the socket file is created by virtio-user, which the + backend connects to. This means that if the backend restarts, it can reconnect + to virtio-user and continue communications. + +* **Added crypto workload support to vhost library.** + + New APIs are introduced in vhost library to enable virtio crypto support + including session creation/deletion handling and translating virtio-crypto + request into DPDK crypto operations. A sample application is also introduced. + +* **Added the Event Timer Adapter Library.** + + The Event Timer Adapter Library extends the event-based model by introducing + APIs that allow applications to arm/cancel event timers that generate + timer expiry events. This new type of event is scheduled by an event device + along with existing types of events. + +* **Added device event monitor framework.** + + Added a general device event monitor framework at EAL, for device dynamic management. + Such as device hotplug awareness and actions adopted accordingly. The list of new APIs: + + * ``rte_dev_event_monitor_start`` and ``rte_dev_event_monitor_stop`` are for + the event monitor enable and disable. + * ``rte_dev_event_callback_register`` and ``rte_dev_event_callback_unregister`` + are for the user's callbacks register and unregister. + + Linux uevent is supported as backend of this device event notification framework. + API Changes ----------- @@ -55,6 +129,57 @@ API Changes Also, make sure to start the actual text at the margin. ========================================================= +* mbuf: The control mbuf API has been removed in v18.05. The impacted + functions and macros are: + + - ``rte_ctrlmbuf_init()`` + - ``rte_ctrlmbuf_alloc()`` + - ``rte_ctrlmbuf_free()`` + - ``rte_ctrlmbuf_data()`` + - ``rte_ctrlmbuf_len()`` + - ``rte_is_ctrlmbuf()`` + - ``CTRL_MBUF_FLAG`` + + The packet mbuf API should be used as a replacement. + +* meter: updated to accommodate configuration profiles. + + The meter API is changed to support meter configuration profiles. The + configuration profile represents the set of configuration parameters + for a given meter object, such as the rates and sizes for the token + buckets. These configuration parameters were previously the part of meter + object internal data strcuture. The separation of the configuration + parameters from meter object data structure results in reducing its + memory footprint which helps in better cache utilization when large number + of meter objects are used. + +* ethdev, in struct ``struct rte_eth_dev_info``, field ``rte_pci_device *pci_dev`` + replaced with field ``struct rte_device *device``. + +* **Changes to semantics of rte_eth_dev_configure() parameters.** + + If both the ``nb_rx_q`` and ``nb_tx_q`` parameters are zero, + ``rte_eth_dev_configure`` will now use PMD-recommended queue sizes, or if + recommendations are not provided by the PMD the function will use ethdev + fall-back values. Previously setting both of the parameters to zero would + have resulted in ``-EINVAL`` being returned. + +* **Changes to semantics of rte_eth_rx_queue_setup() parameters.** + + If the ``nb_rx_desc`` parameter is zero, ``rte_eth_rx_queue_setup`` will + now use the PMD-recommended Rx ring size, or in the case where the PMD + does not provide a recommendation, will use an ethdev-provided + fall-back value. Previously, setting ``nb_rx_desc`` to zero would have + resulted in an error. + +* **Changes to semantics of rte_eth_tx_queue_setup() parameters.** + + If the ``nb_tx_desc`` parameter is zero, ``rte_eth_tx_queue_setup`` will + now use the PMD-recommended Tx ring size, or in the case where the PMD + does not provide a recoomendation, will use an ethdev-provided + fall-back value. Previously, setting ``nb_tx_desc`` to zero would have + resulted in an error. + ABI Changes ----------- @@ -69,6 +194,20 @@ ABI Changes Also, make sure to start the actual text at the margin. ========================================================= +* ring: the alignment constraints on the ring structure has been relaxed + to one cache line instead of two, and an empty cache line padding is + added between the producer and consumer structures. The size of the + structure and the offset of the fields remains the same on platforms + with 64B cache line, but change on other platforms. + +* **Additional fields in rte_eth_dev_info.** + + The ``rte_eth_dev_info`` structure has had two extra entries appended to the + end of it: ``default_rxportconf`` and ``default_txportconf``. Each of these + in turn are ``rte_eth_dev_portconf`` structures containing three fields of + type ``uint16_t``: ``burst_size``, ``ring_size``, and ``nb_queues``. These + are parameter values recommended for use by the PMD. + Removed Items ------------- @@ -125,9 +264,10 @@ The libraries prepended with a plus sign were incremented in this version. librte_bus_vdev.so.1 librte_cfgfile.so.2 librte_cmdline.so.2 + + librte_common_octeontx.so.1 librte_cryptodev.so.4 librte_distributor.so.1 - librte_eal.so.6 + + librte_eal.so.7 + librte_ethdev.so.9 librte_eventdev.so.3 librte_flow_classify.so.1 @@ -140,7 +280,7 @@ The libraries prepended with a plus sign were incremented in this version. librte_kvargs.so.1 librte_latencystats.so.1 librte_lpm.so.2 - librte_mbuf.so.3 + + librte_mbuf.so.4 librte_mempool.so.3 + librte_meter.so.2 librte_metrics.so.1 @@ -159,7 +299,7 @@ The libraries prepended with a plus sign were incremented in this version. librte_power.so.1 librte_rawdev.so.1 librte_reorder.so.1 - librte_ring.so.1 + + librte_ring.so.2 librte_sched.so.1 librte_security.so.1 librte_table.so.3