ixgbe: fix Tx hang when RS distance exceeds HW limit
[dpdk.git] / doc / guides / rel_notes / release_2_2.rst
index be6f827..5636aad 100644 (file)
@@ -4,6 +4,35 @@ DPDK Release 2.2
 New Features
 ------------
 
+* **Enabled freeing of ring.**
+
+  New function rte_ring_free() allows the user to free a ring
+  if it was created with rte_ring_create().
+
+* **Extended Statistics**
+
+  Define extended statistics naming scheme to store metadata in the name
+  string name of each statistic, refer to the Extended Statistics section
+  of the programmers guide. Implemented the extended stats API for these
+  PMDs:
+
+  * igb
+  * igbvf
+  * i40e
+  * i40evf
+  * fm10k
+  * virtio
+
+* **Added API in ethdev to retrieve RX/TX queue information.**
+
+  *  Add the ability for the upper layer to query RX/TX queue information.
+  *  Add into rte_eth_dev_info new fields to represent information about
+     RX/TX descriptors min/max/align numbers per queue for the device.
+
+* **Added RSS dynamic configuration to bonding.**
+
+* **Added e1000 Rx interrupt support.**
+
 * **Added igb TSO support for both PF and VF.**
 
 * **RSS enhancement on Intel x550 NIC**
@@ -16,13 +45,55 @@ New Features
   * Add 2 new flow director modes on x550.
   * One is MAC VLAN mode, the other is tunnel mode.
 
+* **Added i40e vector RX/TX.**
+
+* **Added i40e Rx interrupt support.**
+
+* **Added i40e flow control support.**
+
+* **Added DCB support to i40e PF driver.**
+
+* **Added RSS/FD input set granularity on Intel X710/XL710.**
+
+* **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 fm10k VMDQ support.**
+
+* **New NIC Boulder Rapid support.**
+
+  Boulder Rapid is a new NIC of Intel's fm10k family.
+
 * **Enhanced support for the Chelsio CXGBE driver.**
 
   *  Added support for Jumbo Frames.
   *  Optimize forwarding performance for Chelsio T5 40GbE cards.
 
+* **Added support for Mellanox ConnectX-4 adapters (mlx5).**
+
+  The mlx5 poll-mode driver implements support for Mellanox ConnectX-4 EN
+  and Mellanox ConnectX-4 Lx EN families of 10/25/40/50/100 Gb/s adapters.
+
+  Like mlx4, this PMD is only available for Linux and is disabled by default
+  due to external dependencies (libibverbs and libmlx5).
+
+* **Enhanced support for virtio driver.**
+
+  * Virtio ring layout optimization (fixed avail ring)
+  * Vector RX
+  * Simple TX
+
 * **Added vhost-user multiple queue support.**
 
+* **Added port hotplug support to vmxnet3.**
+
+* **Added port hotplug support to xenvirt.**
+
 
 Resolved Issues
 ---------------
@@ -45,6 +116,10 @@ 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.
+
 * **ixgbe: Fixed issue with X550 DCB.**
 
   Fixed a DCB issue with x550 where for 8 TCs (Traffic Classes), if a packet
@@ -55,11 +130,38 @@ 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
   ports if memory wasn't available on socket 0.
 
+* **i40e: Fixed maximum of 64 queues per port.**
+
+  Fixed the issue in i40e of cannot supporting more than 64 queues per port,
+  though hardware actually supports that. The real number of queues may vary,
+  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.
@@ -81,6 +183,18 @@ 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
 ~~~~~~~~
@@ -100,6 +214,10 @@ API Changes
 * The deprecated flow director API is removed.
   It was replaced by rte_eth_dev_filter_ctrl().
 
+* The dcb_queue is renamed to dcb_tc in following dcb configuration
+  structures: rte_eth_dcb_rx_conf, rte_eth_dcb_tx_conf,
+  rte_eth_vmdq_dcb_conf, rte_eth_vmdq_dcb_tx_conf.
+
 * The function rte_eal_pci_close_one() is removed.
   It was replaced by rte_eal_pci_detach().
 
@@ -126,6 +244,18 @@ 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.
+
+* The maximum number of queues per port CONFIG_RTE_MAX_QUEUES_PER_PORT is
+  increased to 1024.
+
 * The mbuf structure was changed to support unified packet type.
   It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.