New Features
------------
+* **Introduce ARMv7 and ARMv8 architectures**
+
+ * It is now possible to build DPDK for the ARMv7 and ARMv8 platforms.
+ * ARMv7 can be tested with virtual PMD drivers.
+ * ARMv8 can be tested with virtual and physical PMD drivers.
+
* **Enabled freeing of ring.**
New function rte_ring_free() allows the user to free a ring
if it was created with rte_ring_create().
+* **Added keepalive support to EAL and example application.**
+
+* **Added ethdev API to support IEEE1588.**
+
+ Added functions to read, write and adjust system time in the NIC.
+
* **Extended Statistics**
Define extended statistics naming scheme to store metadata in the name
* **Added i40e vector RX/TX.**
+* **Added i40e Rx interrupt support.**
+
* **Added i40e flow control support.**
* **Added DCB support to i40e PF driver.**
* **Added different GRE key length for input set on Intel X710/XL710.**
+* **Added flow director support in i40e VF.**
+
* **Added fm10k vector RX/TX.**
* **Added fm10k TSO support for both PF and VF.**
* Added support for Jumbo Frames.
* Optimize forwarding performance for Chelsio T5 40GbE cards.
+* **Improved enic Tx packet rate.**
+
+ Reduced frequency of Tx tail pointer updates to the NIC.
+
* **Added support for Mellanox ConnectX-4 adapters (mlx5).**
The mlx5 poll-mode driver implements support for Mellanox ConnectX-4 EN
in Intel I210 NIC, as EtherType in RX descriptor is in bits 8:10 of
Packet Type and not in the default bits 0:2.
+* **igb: Fixed VF start with PF stopped.**
+
+ VF needs the PF interrupt support initialized even if not started.
+
* **ixgbe: Fixed issue with X550 DCB.**
Fixed a DCB issue with x550 where for 8 TCs (Traffic Classes), if a packet
Fixed issue where a burst size less than 32 didn't receive anything.
+* **ixgbe: Fixed VF start with PF stopped.**
+
+ VF needs the PF interrupt support initialized even if not started.
+
+* **ixgbe: Fixed TX hang when RS distance exceeds HW limit.**
+
+ Fixed an issue when TX queue can hang when a lot of highly fragmented
+ packets have to be sent.
+ As part of that fix, tx_rs_thresh for ixgbe PMD is not allowed to be greater
+ then to 32 to comply with HW restrictions.
+
* **i40e: Fixed base driver allocation when not using first numa node.**
Fixed i40e issue that occurred when a DPDK application didn't initialize
as long as the total number of queues used in PF, VFs, VMDq and FD does not
exceeds the hardware maximum.
+* **i40e: Fixed statistics of packets.**
+
+ Added discarding packets on VSI to the stats and rectify the old statistics.
+
+* **i40e: Fixed issue of not freeing memzone.**
+
+ Fixed the issue of not freeing memzone in the call to free the memory for
+ adminq DMA.
+
* **vhost: Fixed Qemu shutdown.**
Fixed issue with libvirt ``virsh destroy`` not killing the VM.
Fixed issue where an incorrect Cuckoo Hash key table size could be
calculated limiting the size to 4GB.
+* **hash: Fixed incorrect lookup if key is all zero.**
+
+ Fixed issue in hash library that occurred if an all zero
+ key was not added in the table and the key was looked up,
+ resulting in an incorrect hit.
+
+* **hash: Fixed thread scaling by reducing contention.**
+
+ Fixed issue in hash library where, using multiple cores with
+ hardware transactional memory support, thread scaling did not work,
+ due to the global ring that is shared by all cores.
+
Examples
~~~~~~~~
* The ethdev flow director entries for SCTP were changed.
It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
+* The ethdev flow director structure rte_eth_fdir_flow_ext structure is changed.
+ New fields are added to support flow director filtering in VF.
+
* The size of the ethdev structure rte_eth_hash_filter_info is changed
by adding a new element rte_eth_input_set_conf in an union.