ethdev: replace bus specific struct with generic dev
[dpdk.git] / doc / guides / rel_notes / release_18_05.rst
1 DPDK Release 18.05
2 ==================
3
4 .. **Read this first.**
5
6    The text in the sections below explains how to update the release notes.
7
8    Use proper spelling, capitalization and punctuation in all sections.
9
10    Variable and config names should be quoted as fixed width text:
11    ``LIKE_THIS``.
12
13    Build the docs and view the output file to ensure the changes are correct::
14
15       make doc-guides-html
16
17       xdg-open build/doc/html/guides/rel_notes/release_18_05.html
18
19
20 New Features
21 ------------
22
23 .. This section should contain new features added in this release. Sample
24    format:
25
26    * **Add a title in the past tense with a full stop.**
27
28      Add a short 1-2 sentence description in the past tense. The description
29      should be enough to allow someone scanning the release notes to
30      understand the new feature.
31
32      If the feature adds a lot of sub-features you can use a bullet list like
33      this:
34
35      * Added feature foo to do something.
36      * Enhanced feature bar to do something else.
37
38      Refer to the previous release notes for examples.
39
40      This section is a comment. Do not overwrite or remove it.
41      Also, make sure to start the actual text at the margin.
42      =========================================================
43
44 * **Added RSS hash and key update to CXGBE PMD.**
45
46   Support to update RSS hash and key has been added to CXGBE PMD.
47
48 * **Added CXGBE VF PMD.**
49
50   CXGBE VF Poll Mode Driver has been added to run DPDK over Chelsio
51   T5/T6 NIC VF instances.
52
53 * **Updated Solarflare network PMD.**
54
55   Updated the sfc_efx driver including the following changes:
56
57   * Added support for Solarflare XtremeScale X2xxx family adapters.
58   * Added support for NVGRE, VXLAN and GENEVE filters in flow API.
59   * Added support for DROP action in flow API.
60
61 * **Added Ethernet poll mode driver for AMD XGBE devices.**
62
63   Added the new ``axgbe`` ethernet poll mode driver for AMD XGBE devices.
64   See the :doc:`../nics/axgbe` nic driver guide for more details on this
65   new driver.
66
67 * **Added device event monitor framework.**
68
69   Added a general device event monitor framework at EAL, for device dynamic management.
70   Such as device hotplug awareness and actions adopted accordingly. The list of new APIs:
71
72   * ``rte_dev_event_monitor_start`` and ``rte_dev_event_monitor_stop`` are for
73     the event monitor enable and disable.
74   * ``rte_dev_event_callback_register`` and ``rte_dev_event_callback_unregister``
75     are for the user's callbacks register and unregister.
76
77   Linux uevent is supported as backend of this device event notification framework.
78
79
80 API Changes
81 -----------
82
83 .. This section should contain API changes. Sample format:
84
85    * Add a short 1-2 sentence description of the API change. Use fixed width
86      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
87      tense.
88
89    This section is a comment. Do not overwrite or remove it.
90    Also, make sure to start the actual text at the margin.
91    =========================================================
92
93 * mbuf: The control mbuf API has been removed in v18.05. The impacted
94   functions and macros are:
95
96   - ``rte_ctrlmbuf_init()``
97   - ``rte_ctrlmbuf_alloc()``
98   - ``rte_ctrlmbuf_free()``
99   - ``rte_ctrlmbuf_data()``
100   - ``rte_ctrlmbuf_len()``
101   - ``rte_is_ctrlmbuf()``
102   - ``CTRL_MBUF_FLAG``
103
104   The packet mbuf API should be used as a replacement.
105
106 * meter: updated to accommodate configuration profiles.
107
108   The meter API is changed to support meter configuration profiles. The
109   configuration profile represents the set of configuration parameters
110   for a given meter object, such as the rates and sizes for the token
111   buckets. These configuration parameters were previously the part of meter
112   object internal data strcuture. The separation of the configuration
113   parameters from meter object data structure results in reducing its
114   memory footprint which helps in better cache utilization when large number
115   of meter objects are used.
116
117 * ethdev, in struct ``struct rte_eth_dev_info``, field ``rte_pci_device *pci_dev``
118   replaced with field ``struct rte_device *device``.
119
120
121 ABI Changes
122 -----------
123
124 .. This section should contain ABI changes. Sample format:
125
126    * Add a short 1-2 sentence description of the ABI change that was announced
127      in the previous releases and made in this release. Use fixed width quotes
128      for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
129
130    This section is a comment. Do not overwrite or remove it.
131    Also, make sure to start the actual text at the margin.
132    =========================================================
133
134
135 Removed Items
136 -------------
137
138 .. This section should contain removed items in this release. Sample format:
139
140    * Add a short 1-2 sentence description of the removed item in the past
141      tense.
142
143    This section is a comment. Do not overwrite or remove it.
144    Also, make sure to start the actual text at the margin.
145    =========================================================
146
147
148 Known Issues
149 ------------
150
151 .. This section should contain new known issues in this release. Sample format:
152
153    * **Add title in present tense with full stop.**
154
155      Add a short 1-2 sentence description of the known issue in the present
156      tense. Add information on any known workarounds.
157
158    This section is a comment. Do not overwrite or remove it.
159    Also, make sure to start the actual text at the margin.
160    =========================================================
161
162
163 Shared Library Versions
164 -----------------------
165
166 .. Update any library version updated in this release and prepend with a ``+``
167    sign, like this:
168
169      librte_acl.so.2
170    + librte_cfgfile.so.2
171      librte_cmdline.so.2
172
173    This section is a comment. Do not overwrite or remove it.
174    =========================================================
175
176
177 The libraries prepended with a plus sign were incremented in this version.
178
179 .. code-block:: diff
180
181      librte_acl.so.2
182      librte_bbdev.so.1
183      librte_bitratestats.so.2
184      librte_bus_dpaa.so.1
185      librte_bus_fslmc.so.1
186      librte_bus_pci.so.1
187      librte_bus_vdev.so.1
188      librte_cfgfile.so.2
189      librte_cmdline.so.2
190    + librte_common_octeontx.so.1
191      librte_cryptodev.so.4
192      librte_distributor.so.1
193    + librte_eal.so.7
194    + librte_ethdev.so.9
195      librte_eventdev.so.3
196      librte_flow_classify.so.1
197      librte_gro.so.1
198      librte_gso.so.1
199      librte_hash.so.2
200      librte_ip_frag.so.1
201      librte_jobstats.so.1
202      librte_kni.so.2
203      librte_kvargs.so.1
204      librte_latencystats.so.1
205      librte_lpm.so.2
206    + librte_mbuf.so.4
207      librte_mempool.so.3
208    + librte_meter.so.2
209      librte_metrics.so.1
210      librte_net.so.1
211      librte_pci.so.1
212      librte_pdump.so.2
213      librte_pipeline.so.3
214      librte_pmd_bnxt.so.2
215      librte_pmd_bond.so.2
216      librte_pmd_i40e.so.2
217      librte_pmd_ixgbe.so.2
218      librte_pmd_ring.so.2
219      librte_pmd_softnic.so.1
220      librte_pmd_vhost.so.2
221      librte_port.so.3
222      librte_power.so.1
223      librte_rawdev.so.1
224      librte_reorder.so.1
225      librte_ring.so.1
226      librte_sched.so.1
227      librte_security.so.1
228      librte_table.so.3
229      librte_timer.so.1
230      librte_vhost.so.3
231
232
233 Tested Platforms
234 ----------------
235
236 .. This section should contain a list of platforms that were tested with this
237    release.
238
239    The format is:
240
241    * <vendor> platform with <vendor> <type of devices> combinations
242
243      * List of CPU
244      * List of OS
245      * List of devices
246      * Other relevant details...
247
248    This section is a comment. Do not overwrite or remove it.
249    Also, make sure to start the actual text at the margin.
250    =========================================================