doc: update release notes with NFP PF support
[dpdk.git] / doc / guides / rel_notes / release_17_11.rst
1 DPDK Release 17.11
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_17_11.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 * **nfp: Added PF support.**
45
46   Previously Netronome's NFP PMD had just support for VFs. PF support is
47   just as a basic DPDK port and has no VF management yet.
48
49   PF support comes with firmware upload support which allows the PMD to
50   independently work from kernel netdev NFP drivers.
51
52   NFP 4000 devices are also now supported along with previous 6000 devices.
53
54
55 Resolved Issues
56 ---------------
57
58 .. This section should contain bug fixes added to the relevant
59    sections. Sample format:
60
61    * **code/section Fixed issue in the past tense with a full stop.**
62
63      Add a short 1-2 sentence description of the resolved issue in the past
64      tense.
65
66      The title should contain the code/lib section like a commit message.
67
68      Add the entries in alphabetic order in the relevant sections below.
69
70    This section is a comment. do not overwrite or remove it.
71    Also, make sure to start the actual text at the margin.
72    =========================================================
73
74
75 EAL
76 ~~~
77
78 * **Service core fails to call service callback due to atomic lock**
79
80   In a specific configuration of multi-thread unsafe services and service
81   cores, a service core previously did not correctly release the atomic lock
82   on the service. This would result in the cores polling the service, but it
83   looked like another thread was executing the service callback. The logic for
84   atomic locking of the services has been fixed and refactored for readability.
85
86 Drivers
87 ~~~~~~~
88
89
90 Libraries
91 ~~~~~~~~~
92
93
94 Examples
95 ~~~~~~~~
96
97
98 Other
99 ~~~~~
100
101
102 Known Issues
103 ------------
104
105 .. This section should contain new known issues in this release. Sample format:
106
107    * **Add title in present tense with full stop.**
108
109      Add a short 1-2 sentence description of the known issue in the present
110      tense. Add information on any known workarounds.
111
112    This section is a comment. do not overwrite or remove it.
113    Also, make sure to start the actual text at the margin.
114    =========================================================
115
116
117 API Changes
118 -----------
119
120 .. This section should contain API changes. Sample format:
121
122    * Add a short 1-2 sentence description of the API change. Use fixed width
123      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
124      tense.
125
126    This section is a comment. do not overwrite or remove it.
127    Also, make sure to start the actual text at the margin.
128    =========================================================
129
130 * **Service cores API updated for usability**
131
132   The service cores API has been changed, removing pointers from the API
133   where possible, instead using integer IDs to identify each service. This
134   simplifed application code, aids debugging, and provides better
135   encapsulation. A summary of the main changes made is as follows:
136
137   * Services identified by ID not by ``rte_service_spec`` pointer
138   * Reduced API surface by using ``set`` functions instead of enable/disable
139   * Reworked ``rte_service_register`` to provide the service ID to registrar
140   * Rework start and stop APIs into ``rte_service_runstate_set``
141   * Added API to set runstate of service implementation to indicate readyness
142
143
144 ABI Changes
145 -----------
146
147 .. This section should contain ABI changes. Sample format:
148
149    * Add a short 1-2 sentence description of the ABI change that was announced
150      in the previous releases and made in this release. Use fixed width quotes
151      for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
152
153    This section is a comment. do not overwrite or remove it.
154    Also, make sure to start the actual text at the margin.
155    =========================================================
156
157
158
159 Shared Library Versions
160 -----------------------
161
162 .. Update any library version updated in this release and prepend with a ``+``
163    sign, like this:
164
165      librte_acl.so.2
166    + librte_cfgfile.so.2
167      librte_cmdline.so.2
168
169    This section is a comment. do not overwrite or remove it.
170    =========================================================
171
172
173 The libraries prepended with a plus sign were incremented in this version.
174
175 .. code-block:: diff
176
177      librte_acl.so.2
178      librte_bitratestats.so.1
179      librte_cfgfile.so.2
180      librte_cmdline.so.2
181      librte_cryptodev.so.3
182      librte_distributor.so.1
183      librte_eal.so.5
184      librte_ethdev.so.7
185      librte_eventdev.so.2
186      librte_gro.so.1
187      librte_hash.so.2
188      librte_ip_frag.so.1
189      librte_jobstats.so.1
190      librte_kni.so.2
191      librte_kvargs.so.1
192      librte_latencystats.so.1
193      librte_lpm.so.2
194      librte_mbuf.so.3
195      librte_mempool.so.2
196      librte_meter.so.1
197      librte_metrics.so.1
198      librte_net.so.1
199      librte_pdump.so.1
200      librte_pipeline.so.3
201      librte_pmd_bnxt.so.1
202      librte_pmd_bond.so.1
203      librte_pmd_i40e.so.1
204      librte_pmd_ixgbe.so.1
205      librte_pmd_ring.so.2
206      librte_pmd_vhost.so.1
207      librte_port.so.3
208      librte_power.so.1
209      librte_reorder.so.1
210      librte_ring.so.1
211      librte_sched.so.1
212      librte_table.so.2
213      librte_timer.so.1
214      librte_vhost.so.3
215
216
217 Tested Platforms
218 ----------------
219
220 .. This section should contain a list of platforms that were tested with this
221    release.
222
223    The format is:
224
225    * <vendor> platform with <vendor> <type of devices> combinations
226
227      * List of CPU
228      * List of OS
229      * List of devices
230      * Other relevant details...
231
232    This section is a comment. do not overwrite or remove it.
233    Also, make sure to start the actual text at the margin.
234    =========================================================