examples/ethtool: add user-space ethtool sample application
[dpdk.git] / doc / guides / rel_notes / release_2_2.rst
index b9884d4..e0724d5 100644 (file)
@@ -4,6 +4,33 @@ DPDK Release 2.2
 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 experimental cryptodev API**
+
+  The cryptographic processing of packet is provided as a preview
+  with two drivers for:
+
+  * Intel QuickAssist devices
+  * Intel AES-NI multi-buffer library
+
+  Due to its experimental state, the API may change without prior notice.
+
+* **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
@@ -42,6 +69,8 @@ New Features
 
 * **Added i40e vector RX/TX.**
 
+* **Added i40e Rx interrupt support.**
+
 * **Added i40e flow control support.**
 
 * **Added DCB support to i40e PF driver.**
@@ -50,6 +79,8 @@ New Features
 
 * **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.**
@@ -65,6 +96,10 @@ New Features
   *  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
@@ -73,6 +108,11 @@ New Features
   Like mlx4, this PMD is only available for Linux and is disabled by default
   due to external dependencies (libibverbs and libmlx5).
 
+* **Added virtual szedata2 driver for COMBO cards.**
+
+  Added virtual PMD for COMBO-100G and COMBO-80G cards.
+  PMD is disabled in default configuration.
+
 * **Enhanced support for virtio driver.**
 
   * Virtio ring layout optimization (fixed avail ring)
@@ -85,6 +125,8 @@ New Features
 
 * **Added port hotplug support to xenvirt.**
 
+* **Added ethtool shim and sample application.**
+
 
 Resolved Issues
 ---------------
@@ -107,6 +149,14 @@ Drivers
   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.
+
+* **igb: Fixed VF MAC address when using with DPDK PF.**
+
+  Assign a random MAC address in VF when not assigned by PF.
+
 * **ixgbe: Fixed issue with X550 DCB.**
 
   Fixed a DCB issue with x550 where for 8 TCs (Traffic Classes), if a packet
@@ -117,6 +167,17 @@ Drivers
 
   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
@@ -129,6 +190,20 @@ Drivers
   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.
+
+* **mlx: Fixed driver loading.**
+
+  The mlx drivers were unable to load when built as a shared library,
+  due to a missing symbol in mempool library.
+
 * **vhost: Fixed Qemu shutdown.**
 
   Fixed issue with libvirt ``virsh destroy`` not killing the VM.
@@ -150,10 +225,26 @@ Libraries
   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
 ~~~~~~~~
 
+* **l3fwd: Fixed crash with IPv6.**
+
+* **vhost_xen: Fixed compile error.**
+
 
 Other
 ~~~~~
@@ -162,6 +253,10 @@ Other
 Known Issues
 ------------
 
+* Some drivers do not fill the packet type when receiving.
+  As the l3fwd example application requires this info, the i40e vector
+  driver must be disabled to benefit of the packet type with i40e.
+
 
 API Changes
 -----------
@@ -173,6 +268,9 @@ API Changes
   structures: rte_eth_dcb_rx_conf, rte_eth_dcb_tx_conf,
   rte_eth_vmdq_dcb_conf, rte_eth_vmdq_dcb_tx_conf.
 
+* The rte_eth_rx_queue_count() function now returns "int" instead of "uint32_t"
+  to allow the use of negative values as error codes on return.
+
 * The function rte_eal_pci_close_one() is removed.
   It was replaced by rte_eal_pci_detach().
 
@@ -189,7 +287,6 @@ API Changes
 
 * The devargs union field virtual is renamed to virt for C++ compatibility.
 
-
 ABI Changes
 -----------
 
@@ -199,12 +296,20 @@ ABI Changes
 * 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.
 
 * The new fields rx_desc_lim and tx_desc_lim are added into rte_eth_dev_info
   structure.
 
+* For debug builds, the functions rte_eth_rx_burst(), rte_eth_tx_burst()
+  rte_eth_rx_descriptor_done() and rte_eth_rx_queue_count() will
+  no longer be separate functions in the DPDK libraries. Instead, they will
+  only be present in the rte_ethdev.h header file.
+
 * The maximum number of queues per port CONFIG_RTE_MAX_QUEUES_PER_PORT is
   increased to 1024.
 
@@ -218,6 +323,10 @@ ABI Changes
 * librte_table LPM: A new parameter to hold the table name will be added to
   the LPM table parameter structure.
 
+* librte_table hash: The key mask parameter is added to the hash table
+  parameter structure for 8-byte key and 16-byte key extendible bucket
+  and LRU tables.
+
 * librte_port: Macros to access the packet meta-data stored within the packet
   buffer has been adjusted to cover the packet mbuf structure.
 
@@ -248,7 +357,7 @@ The libraries prepended with a plus sign were incremented in this version.
    + librte_mbuf.so.2
      librte_mempool.so.1
      librte_meter.so.1
-     librte_pipeline.so.1
+   + librte_pipeline.so.2
      librte_pmd_bond.so.1
    + librte_pmd_ring.so.2
    + librte_port.so.2