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
* **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.**
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.
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
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,
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.
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.
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
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``.
* 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.