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