de6916e79433dd47bf04bb73d30695f409299460
[dpdk.git] / doc / guides / rel_notes / release_2_2.rst
1 DPDK Release 2.2
2 ================
3
4 New Features
5 ------------
6
7 * **Enhanced support for the Chelsio CXGBE driver.**
8
9   *  Added support for Jumbo Frames.
10   *  Optimize forwarding performance for Chelsio T5 40GbE cards.
11
12 * **Added vhost-user multiple queue support.**
13
14
15 Resolved Issues
16 ---------------
17
18 EAL
19 ~~~
20
21 * **eal/linux: Fixed epoll timeout.**
22
23   Fixed issue where the ``rte_epoll_wait()`` function didn't return when the
24   underlying call to ``epoll_wait()`` timed out.
25
26
27 Drivers
28 ~~~~~~~
29
30 * **ixgbe: Fixed issue with X550 DCB.**
31
32   Fixed a DCB issue with x550 where for 8 TCs (Traffic Classes), if a packet
33   with user priority 6 or 7 was injected to the NIC, then the NIC would only
34   put 3 packets into the queue. There was also a similar issue for 4 TCs.
35
36 * **ixgbe: Removed burst size restriction of vector RX.**
37
38   Fixed issue where a burst size less than 32 didn't receive anything.
39
40 * **i40e: Fixed base driver allocation when not using first numa node.**
41
42   Fixed i40e issue that occurred when a DPDK application didn't initialize
43   ports if memory wasn't available on socket 0.
44
45 * **vhost: Fixed Qemu shutdown.**
46
47   Fixed issue with libvirt ``virsh destroy`` not killing the VM.
48
49 * **virtio: Fixed crash after changing link state.**
50
51   Fixed io permission in the interrupt handler.
52
53 * **virtio: Fixed crash when releasing queue.**
54
55   Fixed issue when releasing null control queue.
56
57
58 Libraries
59 ~~~~~~~~~
60
61 * **hash: Fixed memory allocation of Cuckoo Hash key table.**
62
63   Fixed issue where an incorrect Cuckoo Hash key table size could be
64   calculated limiting the size to 4GB.
65
66
67 Examples
68 ~~~~~~~~
69
70
71 Other
72 ~~~~~
73
74
75 Known Issues
76 ------------
77
78
79 API Changes
80 -----------
81
82 * The deprecated flow director API is removed.
83   It was replaced by rte_eth_dev_filter_ctrl().
84
85 * The function rte_eal_pci_close_one() is removed.
86   It was replaced by rte_eal_pci_detach().
87
88 * The deprecated ACL API ipv4vlan is removed.
89
90 * The deprecated hash function rte_jhash2() is removed.
91   It was replaced by rte_jhash_32b().
92
93 * The deprecated KNI functions are removed:
94   rte_kni_create(), rte_kni_get_port_id() and rte_kni_info_get().
95
96 * The deprecated ring PMD functions are removed:
97   rte_eth_ring_pair_create() and rte_eth_ring_pair_attach().
98
99 * The devargs union field virtual is renamed to virt for C++ compatibility.
100
101
102 ABI Changes
103 -----------
104
105 * The EAL and ethdev structures rte_intr_handle and rte_eth_conf were changed
106   to support Rx interrupt. It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
107
108 * The ethdev flow director entries for SCTP were changed.
109   It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
110
111 * The mbuf structure was changed to support unified packet type.
112   It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.
113
114 * The dummy malloc library is removed. The content was moved into EAL in 2.1.
115
116 * The LPM structure is changed. The deprecated field mem_location is removed.
117
118 * librte_table LPM: A new parameter to hold the table name will be added to
119   the LPM table parameter structure.
120
121 * librte_port: Macros to access the packet meta-data stored within the packet
122   buffer has been adjusted to cover the packet mbuf structure.
123
124 * librte_cfgfile: Allow longer names and values by increasing the constants
125   CFG_NAME_LEN and CFG_VALUE_LEN to 64 and 256 respectively.
126
127
128 Shared Library Versions
129 -----------------------
130
131 The libraries prepended with a plus sign were incremented in this version.
132
133 .. code-block:: diff
134
135    + libethdev.so.2
136    + librte_acl.so.2
137    + librte_cfgfile.so.2
138      librte_cmdline.so.1
139      librte_distributor.so.1
140    + librte_eal.so.2
141    + librte_hash.so.2
142      librte_ip_frag.so.1
143      librte_ivshmem.so.1
144      librte_jobstats.so.1
145    + librte_kni.so.2
146      librte_kvargs.so.1
147    + librte_lpm.so.2
148    + librte_mbuf.so.2
149      librte_mempool.so.1
150      librte_meter.so.1
151      librte_pipeline.so.1
152      librte_pmd_bond.so.1
153    + librte_pmd_ring.so.2
154    + librte_port.so.2
155      librte_power.so.1
156      librte_reorder.so.1
157      librte_ring.so.1
158      librte_sched.so.1
159    + librte_table.so.2
160      librte_timer.so.1
161      librte_vhost.so.1