2015-09-02 07:59:58 +00:00
|
|
|
DPDK Release 2.2
|
|
|
|
================
|
|
|
|
|
|
|
|
New Features
|
|
|
|
------------
|
|
|
|
|
2015-10-27 12:51:43 +00:00
|
|
|
* **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.
|
|
|
|
|
2015-10-30 14:25:48 +00:00
|
|
|
* **Added RSS dynamic configuration to bonding.**
|
|
|
|
|
2015-10-29 09:18:38 +00:00
|
|
|
* **Added e1000 Rx interrupt support.**
|
|
|
|
|
2015-10-21 07:55:26 +00:00
|
|
|
* **Added igb TSO support for both PF and VF.**
|
|
|
|
|
2015-10-16 13:05:38 +00:00
|
|
|
* **RSS enhancement on Intel x550 NIC**
|
|
|
|
|
|
|
|
* Support 512 entries RSS redirection table.
|
2015-10-16 13:05:40 +00:00
|
|
|
* Support per VF RSS redirection table.
|
2015-10-16 13:05:38 +00:00
|
|
|
|
2015-10-26 05:27:33 +00:00
|
|
|
* **Flow director enhancement on Intel x550 NIC**
|
|
|
|
|
|
|
|
* Add 2 new flow director modes on x550.
|
|
|
|
* One is MAC VLAN mode, the other is tunnel mode.
|
|
|
|
|
2015-10-30 14:16:38 +00:00
|
|
|
* **Added i40e vector RX/TX.**
|
|
|
|
|
2015-10-30 04:57:35 +00:00
|
|
|
* **Added i40e flow control support.**
|
|
|
|
|
2015-10-31 15:57:25 +00:00
|
|
|
* **Added DCB support to i40e PF driver.**
|
|
|
|
|
2015-10-12 06:37:16 +00:00
|
|
|
* **Added fm10k TSO support for both PF and VF.**
|
|
|
|
|
2015-10-31 02:44:43 +00:00
|
|
|
* **Added fm10k VMDQ support.**
|
|
|
|
|
2015-10-26 04:53:55 +00:00
|
|
|
* **New NIC Boulder Rapid support.**
|
|
|
|
|
|
|
|
Boulder Rapid is a new NIC of Intel's fm10k family.
|
|
|
|
|
2015-10-08 13:46:05 +00:00
|
|
|
* **Enhanced support for the Chelsio CXGBE driver.**
|
|
|
|
|
2015-10-08 13:46:06 +00:00
|
|
|
* Added support for Jumbo Frames.
|
2015-10-08 13:46:05 +00:00
|
|
|
* Optimize forwarding performance for Chelsio T5 40GbE cards.
|
|
|
|
|
2015-10-30 18:52:42 +00:00
|
|
|
* **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).
|
|
|
|
|
2015-10-22 12:35:55 +00:00
|
|
|
* **Added vhost-user multiple queue support.**
|
|
|
|
|
2015-10-27 16:03:13 +00:00
|
|
|
* **Added port hotplug support to xenvirt.**
|
|
|
|
|
|
|
|
|
2015-09-02 07:59:58 +00:00
|
|
|
Resolved Issues
|
|
|
|
---------------
|
|
|
|
|
2015-09-24 16:23:40 +00:00
|
|
|
EAL
|
|
|
|
~~~
|
|
|
|
|
|
|
|
* **eal/linux: Fixed epoll timeout.**
|
|
|
|
|
|
|
|
Fixed issue where the ``rte_epoll_wait()`` function didn't return when the
|
|
|
|
underlying call to ``epoll_wait()`` timed out.
|
|
|
|
|
|
|
|
|
|
|
|
Drivers
|
|
|
|
~~~~~~~
|
|
|
|
|
2015-10-19 13:20:03 +00:00
|
|
|
* **igb: Fixed IEEE1588 frame identification in I210.**
|
|
|
|
|
|
|
|
Fixed issue where the flag PKT_RX_IEEE1588_PTP was not being set
|
|
|
|
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.
|
|
|
|
|
2015-09-24 16:23:40 +00:00
|
|
|
* **ixgbe: Fixed issue with X550 DCB.**
|
|
|
|
|
|
|
|
Fixed a DCB issue with x550 where for 8 TCs (Traffic Classes), if a packet
|
|
|
|
with user priority 6 or 7 was injected to the NIC, then the NIC would only
|
|
|
|
put 3 packets into the queue. There was also a similar issue for 4 TCs.
|
|
|
|
|
|
|
|
* **ixgbe: Removed burst size restriction of vector RX.**
|
|
|
|
|
|
|
|
Fixed issue where a burst size less than 32 didn't receive anything.
|
|
|
|
|
|
|
|
* **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.
|
|
|
|
|
|
|
|
* **vhost: Fixed Qemu shutdown.**
|
|
|
|
|
|
|
|
Fixed issue with libvirt ``virsh destroy`` not killing the VM.
|
|
|
|
|
2015-10-14 09:50:49 +00:00
|
|
|
* **virtio: Fixed crash after changing link state.**
|
|
|
|
|
|
|
|
Fixed io permission in the interrupt handler.
|
|
|
|
|
2015-10-20 15:37:41 +00:00
|
|
|
* **virtio: Fixed crash when releasing queue.**
|
|
|
|
|
|
|
|
Fixed issue when releasing null control queue.
|
|
|
|
|
2015-09-24 16:23:40 +00:00
|
|
|
|
|
|
|
Libraries
|
|
|
|
~~~~~~~~~
|
|
|
|
|
|
|
|
* **hash: Fixed memory allocation of Cuckoo Hash key table.**
|
|
|
|
|
|
|
|
Fixed issue where an incorrect Cuckoo Hash key table size could be
|
|
|
|
calculated limiting the size to 4GB.
|
|
|
|
|
|
|
|
|
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
Other
|
|
|
|
~~~~~
|
|
|
|
|
2015-09-02 07:59:58 +00:00
|
|
|
|
|
|
|
Known Issues
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
|
|
API Changes
|
|
|
|
-----------
|
|
|
|
|
2015-09-21 07:34:09 +00:00
|
|
|
* The deprecated flow director API is removed.
|
|
|
|
It was replaced by rte_eth_dev_filter_ctrl().
|
|
|
|
|
2015-10-31 15:57:23 +00:00
|
|
|
* 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.
|
|
|
|
|
2015-09-01 12:58:16 +00:00
|
|
|
* The function rte_eal_pci_close_one() is removed.
|
|
|
|
It was replaced by rte_eal_pci_detach().
|
|
|
|
|
2015-09-01 14:57:31 +00:00
|
|
|
* The deprecated ACL API ipv4vlan is removed.
|
|
|
|
|
2015-09-04 09:05:40 +00:00
|
|
|
* The deprecated hash function rte_jhash2() is removed.
|
|
|
|
It was replaced by rte_jhash_32b().
|
|
|
|
|
2015-06-15 16:51:12 +00:00
|
|
|
* The deprecated KNI functions are removed:
|
|
|
|
rte_kni_create(), rte_kni_get_port_id() and rte_kni_info_get().
|
|
|
|
|
2015-06-15 16:51:11 +00:00
|
|
|
* The deprecated ring PMD functions are removed:
|
|
|
|
rte_eth_ring_pair_create() and rte_eth_ring_pair_attach().
|
|
|
|
|
2015-09-29 06:53:01 +00:00
|
|
|
* The devargs union field virtual is renamed to virt for C++ compatibility.
|
|
|
|
|
2015-09-02 07:59:58 +00:00
|
|
|
|
|
|
|
ABI Changes
|
|
|
|
-----------
|
|
|
|
|
2015-08-26 09:18:53 +00:00
|
|
|
* The EAL and ethdev structures rte_intr_handle and rte_eth_conf were changed
|
|
|
|
to support Rx interrupt. It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
|
|
|
|
|
2015-08-31 15:18:22 +00:00
|
|
|
* The ethdev flow director entries for SCTP were changed.
|
|
|
|
It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
|
|
|
|
|
2015-10-27 12:51:43 +00:00
|
|
|
* The new fields rx_desc_lim and tx_desc_lim are added into rte_eth_dev_info
|
|
|
|
structure.
|
|
|
|
|
2015-08-31 14:51:21 +00:00
|
|
|
* The mbuf structure was changed to support unified packet type.
|
|
|
|
It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
|
|
|
|
|
2015-09-01 13:29:37 +00:00
|
|
|
* The dummy malloc library is removed. The content was moved into EAL in 2.1.
|
|
|
|
|
2015-09-01 13:41:05 +00:00
|
|
|
* The LPM structure is changed. The deprecated field mem_location is removed.
|
|
|
|
|
2015-09-17 16:03:19 +00:00
|
|
|
* librte_table LPM: A new parameter to hold the table name will be added to
|
|
|
|
the LPM table parameter structure.
|
2015-09-02 07:59:58 +00:00
|
|
|
|
2015-09-11 13:35:45 +00:00
|
|
|
* librte_port: Macros to access the packet meta-data stored within the packet
|
|
|
|
buffer has been adjusted to cover the packet mbuf structure.
|
|
|
|
|
2015-10-22 14:03:03 +00:00
|
|
|
* librte_cfgfile: Allow longer names and values by increasing the constants
|
|
|
|
CFG_NAME_LEN and CFG_VALUE_LEN to 64 and 256 respectively.
|
|
|
|
|
2015-09-11 13:35:45 +00:00
|
|
|
|
2015-09-02 07:59:58 +00:00
|
|
|
Shared Library Versions
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
The libraries prepended with a plus sign were incremented in this version.
|
|
|
|
|
|
|
|
.. code-block:: diff
|
|
|
|
|
2015-08-26 09:18:53 +00:00
|
|
|
+ libethdev.so.2
|
2015-09-01 14:57:31 +00:00
|
|
|
+ librte_acl.so.2
|
2015-10-22 14:03:03 +00:00
|
|
|
+ librte_cfgfile.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_cmdline.so.1
|
|
|
|
librte_distributor.so.1
|
2015-08-26 09:18:53 +00:00
|
|
|
+ librte_eal.so.2
|
2015-09-04 09:05:40 +00:00
|
|
|
+ librte_hash.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_ip_frag.so.1
|
|
|
|
librte_ivshmem.so.1
|
|
|
|
librte_jobstats.so.1
|
2015-06-15 16:51:12 +00:00
|
|
|
+ librte_kni.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_kvargs.so.1
|
2015-09-01 13:41:05 +00:00
|
|
|
+ librte_lpm.so.2
|
2015-08-31 14:51:21 +00:00
|
|
|
+ librte_mbuf.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_mempool.so.1
|
|
|
|
librte_meter.so.1
|
|
|
|
librte_pipeline.so.1
|
|
|
|
librte_pmd_bond.so.1
|
2015-06-15 16:51:11 +00:00
|
|
|
+ librte_pmd_ring.so.2
|
2015-09-11 13:35:45 +00:00
|
|
|
+ librte_port.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_power.so.1
|
|
|
|
librte_reorder.so.1
|
|
|
|
librte_ring.so.1
|
|
|
|
librte_sched.so.1
|
2015-09-17 16:03:19 +00:00
|
|
|
+ librte_table.so.2
|
2015-09-02 07:59:58 +00:00
|
|
|
librte_timer.so.1
|
|
|
|
librte_vhost.so.1
|