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