lpm: fix allocation of an existing object
[dpdk.git] / doc / guides / rel_notes / release_16_04.rst
index 0d97041..b0f3dba 100644 (file)
@@ -47,6 +47,17 @@ This section should contain new features added in this release. Sample format:
   A new function ``rte_pktmbuf_alloc_bulk()`` has been added to allow the user
   to allocate a bulk of mbufs.
 
+* **Added device link speed capabilities.**
+
+  The structure ``rte_eth_dev_info`` has now a ``speed_capa`` bitmap, which
+  allows the application to know the supported speeds of each device.
+
+* **Added bitmap of link speeds to advertise.**
+
+  Allow defining a set of advertised speeds for auto-negotiation,
+  explicitly disabling link auto-negotiation (single speed)
+  and full auto-negotiation.
+
 * **Added new poll-mode driver for Amazon Elastic Network Adapters (ENA).**
 
   The driver operates variety of ENA adapters through feature negotiation
@@ -86,6 +97,10 @@ This section should contain new features added in this release. Sample format:
 
 * **Added vhost-user live migration support.**
 
+* **Added vhost driver.**
+
+  Added virtual PMD that wraps librte_vhost.
+
 * **Added multicast promiscuous mode support on VF for ixgbe.**
 
   Added multicast promiscuous mode support on ixgbe VF driver. So all the VFs
@@ -178,6 +193,10 @@ This section should contain new features added in this release. Sample format:
 
 * **Added i40e VEB switching support.**
 
+* **Added Flow director enhancements in i40e.**
+
+* **Added PF reset event reporting in i40e VF driver.**
+
 * **Added fm10k Rx interrupt support.**
 
 * **Optimized fm10k Tx.**
@@ -203,6 +222,33 @@ This section should contain new features added in this release. Sample format:
 
   Only available with Mellanox OFED >= 3.2.
 
+* **Added mlx5 link up/down callbacks.**
+
+  Implemented callbacks to bring link up and down.
+
+* **Added mlx5 support for operation in secondary processes.**
+
+  Implemented TX support in secondary processes (like mlx4).
+
+* **Added mlx5 RX CRC stripping configuration.**
+
+  Until now, CRC was always stripped. It can now be configured.
+
+  Only available with Mellanox OFED >= 3.2.
+
+* **Added mlx5 optional packet padding by HW.**
+
+  Added an option to make PCI bus transactions rounded to multiple of a
+  cache line size for better alignment.
+
+  Only available with Mellanox OFED >= 3.2.
+
+* **Added mlx5 TX VLAN insertion support.**
+
+  Added support for TX VLAN insertion.
+
+  Only available with Mellanox OFED >= 3.2.
+
 * **Changed szedata2 type of driver from vdev to pdev.**
 
   Previously szedata2 device had to be added by ``--vdev`` option.
@@ -274,6 +320,11 @@ EAL
 Drivers
 ~~~~~~~
 
+* **ethdev: Fixed overflow for 100Gbps.**
+
+  100Gbps in Mbps (100000) was exceeding 16-bit max value of ``link_speed``
+  in ``rte_eth_link``.
+
 * **ethdev: Fixed byte order consistency between fdir flow and mask.**
 
   Fixed issue in ethdev library that the structure for setting
@@ -308,6 +359,12 @@ Drivers
   The driver now set the MDIO clock speed prior to initializing PHY ops and
   again after the MAC reset.
 
+* **ixgbe: Fixed maximum number of available TX queues.**
+
+  In IXGBE, the maximum number of TX queues varies depending on the NIC operating
+  mode. This was not being updated in the device information, providing
+  an incorrect number in some cases.
+
 * **i40e: Generated MAC address for each VFs.**
 
   It generates a MAC address for each VFs during PF host initialization,
@@ -319,6 +376,18 @@ Drivers
   under stress with traffic, which might result in application launch
   failure.
 
+* **i40e: Enabled vector driver by default.**
+
+  Previously, vector driver is disabled by default as it cannot fill packet type
+  info for l3fwd to work well. Now there is an option for l3fwd to analysis
+  packet type softly, so enable vector driver by default.
+
+* **i40e: Fixed link info of VF.**
+
+  Previously, the VF's link speed kept as 10G and status always was up.
+  It did not change even the physical link's status changed.
+  Now this issue is fixed to make VF's link info consistent with physical link.
+
 * **mlx5: Fixed possible crash during initialization.**
 
   A crash could occur when failing to allocate private device context.
@@ -357,6 +426,23 @@ Libraries
   Fix crc32c hash functions to return a valid crc32c value for data lengths
   not multiple of 4 bytes.
 
+* **hash: Fixed hash library to support multi-process mode.**
+
+  Fix hash library to support multi-process mode, using a jump table,
+  instead of storing a function pointer to the key compare function.
+  Multi-process mode only works with the built-in compare functions,
+  however a custom compare function (not in the jump table) can only
+  be used in single-process mode.
+
+* **lpm: Fixed return value when allocating an existing object.**
+
+  Changed the ``rte_lpm*_create()`` functions to return ``NULL`` and set
+  ``rte_errno`` to ``EEXIST`` when the object name already exists. This is
+  the behavior described in the API documentation in the header file.
+  The previous behavior was to return a pointer to the existing object in
+  that case, preventing the caller to know if the object had to be freed
+  or not.
+
 * **librte_port: Fixed segmentation fault for ring and ethdev writer nodrop.**
 
   Fixed core dump issue on txq and swq when dropless is set to yes.
@@ -371,6 +457,11 @@ Examples
   other than IPv4 or IPv6, the mbuf was not released, and caused
   a memory leak.
 
+* **l3fwd: Fixed using packet type blindly.**
+
+  l3fwd makes use of packet type information without even query if devices or PMDs
+  really set it. For those don't set ptypes, add an option to parse it softly.
+
 * **examples/vhost: Fixed frequent mbuf allocation failure.**
 
   vhost-switch often fails to allocate mbuf when dequeue from vring because it
@@ -404,6 +495,12 @@ This section should contain API changes. Sample format:
   All drivers are now counting the missed packets only once, i.e. drivers will
   not increment ierrors anymore for missed packets.
 
+* The ethdev structure ``rte_eth_dev_info`` was changed to support device
+  speed capabilities.
+
+* The ethdev structures ``rte_eth_link`` and ``rte_eth_conf`` were changed to
+  support the new link API.
+
 * The functions ``rte_eth_dev_udp_tunnel_add`` and ``rte_eth_dev_udp_tunnel_delete``
   have been renamed into ``rte_eth_dev_udp_tunnel_port_add`` and
   ``rte_eth_dev_udp_tunnel_port_delete``.
@@ -443,6 +540,9 @@ ABI Changes
 * The RETA entry size in ``rte_eth_rss_reta_entry64`` has been increased
   from 8-bit to 16-bit.
 
+* The ethdev flow director structure ``rte_eth_fdir_flow`` structure was
+  changed. New fields were added to extend flow director's input set.
+
 * The cmdline buffer size has been increase from 256 to 512.