aboutsummaryrefslogtreecommitdiffstats
path: root/docs/aboutvpp/releasenotes/v18.10.rst
blob: 952d7151e788a5b7507255601a6c41834886221d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
Release notes for VPP 18.10
===========================

More than 632 commits since the 18.07 release.

Features
--------

Infrastructure
~~~~~~~~~~~~~~

-  DPDK 18.08 integration
-  New Stats infrastructure (interface, error, node performance
   counters)
-  Add configurable “Doug Lea malloc” support

VNET & Plugins
~~~~~~~~~~~~~~

-  Load balancing: support per-port VIP and all-port VIP
-  Port NSH plugin to VPP
-  NAT

   -  Configurable port range
   -  Virtual Fragmentation Reassembly for endpoint-dependent mode
   -  Client-IP based session affinity for load-balancing
   -  TCP MSS clamping
   -  Session timeout
   -  Bug-fixing and performance optimizations

Host stack
~~~~~~~~~~

-  Support for applications with multiple workers
-  Support for binds from multiple app workers to same ip:port
-  Switched to a message queue for io and control event notifications
-  Support for eventfd based notifications as alternative to
   mutext-condvar pair
-  VCL refactor to support async event notifications and multiple
   workers
-  TLS async support in client for HW accleration
-  Performance optimizations and bug-fixing
-  A number of binary APIs will be deprecated in favor of using the
   event message queue. Details in the API section.

Known issues
------------

For the full list of issues please refer to fd.io
`JIRA <https://jira.fd.io>`__.

Issues fixed
------------

For the full list of fixed issues please refer to:

- fd.io `JIRA <https://jira.fd.io>`__
- git `commit log <https://git.fd.io/vpp/log/?h=stable/1810>`__


API changes
-----------

Description of results:

-  *Definition changed*: indicates that the API file was modified
   between releases.

-  *Only in image*: indicates the API is new for this release.

-  *Only in file*: indicates the API has been removed in this release.

   ::

                        Message Name                         Result

   api_versions_reply definition changed
   app_cut_through_registration_add definition changed
   app_worker_add_del definition changed application_attach_reply
   definition changed bd_ip_mac_details only in image bd_ip_mac_dump
   only in image bfd_udp_get_echo_source definition changed
   bier_imp_details definition changed bier_route_details definition
   changed bind_sock definition changed bridge_domain_details definition
   changed bridge_flags definition changed classify_add_del_session
   definition changed classify_add_del_table definition changed
   connect_sock definition changed create_vhost_user_if definition
   changed get_first_msg_id_reply definition changed
   gpe_add_del_fwd_entry_reply definition changed
   gpe_fwd_entry_path_details definition changed ip6_fib_details
   definition changed ip6nd_proxy_details definition changed
   ip_add_del_route_reply definition changed ip_address_details
   definition changed ip_details definition changed ip_fib_details
   definition changed ip_mfib_details definition changed
   ip_mroute_add_del_reply definition changed ip_neighbor_add_del_reply
   definition changed ip_neighbor_details definition changed
   ip_reassembly_get_reply definition changed ip_unnumbered_details
   definition changed ipip_6rd_add_tunnel definition changed
   ipip_add_tunnel definition changed ipsec_spds_details only in image
   ipsec_spds_dump only in image l2_interface_efp_filter definition
   changed lisp_eid_table_vni_details definition changed
   map_another_segment definition changed mfib_signal_details definition
   changed mpls_route_add_del_reply definition changed
   mpls_tunnel_add_del definition changed mpls_tunnel_add_del_reply
   definition changed mpls_tunnel_details definition changed
   mpls_tunnel_dump definition changed one_eid_table_vni_details
   definition changed qos_mark_enable_disable definition changed
   qos_record_enable_disable definition changed reset_session_reply
   definition changed rpc_call definition changed show_threads
   definition changed sockclnt_create_reply definition changed
   sockclnt_delete definition changed sockclnt_delete_reply definition
   changed sw_interface_rx_placement_details only in image
   sw_interface_rx_placement_dump only in image
   sw_interface_set_ip_directed_broadcast definition changed
   sw_interface_set_l2_bridge definition changed
   sw_interface_set_rx_placement definition changed
   sw_interface_set_vxlan_gbp_bypass definition changed udp_encap_add
   definition changed udp_encap_add_del_reply only in file
   udp_encap_add_reply only in image udp_encap_del definition changed
   udp_encap_details definition changed unbind_sock definition changed
   vxlan_gbp_tunnel_add_del definition changed vxlan_gbp_tunnel_details
   only in image vxlan_gbp_tunnel_dump only in image Found 68 api
   message signature differences

Patches that changed API definitions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``src/plugins/avf/avf.api``

* `149d0e28 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=149d0e28>`_ avf: RSS support
* `4e6014fc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4e6014fc>`_ avf: api fix

``src/plugins/gbp/gbp.api``

* `c0a93143 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0a93143>`_ GBP Endpoint Updates
* `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp

``src/plugins/igmp/igmp.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.

``src/plugins/lb/lb.api``

* `6a4375e0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a4375e0>`_ LB: fix flush flow table issue
* `49ca2601 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=49ca2601>`_ Add flush flag on del as command
* `219cc90c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=219cc90c>`_ Support lb on both vip and per-port-vip case

``src/plugins/nat/nat.api``

* `bb4e0225 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb4e0225>`_ NAT: TCP MSS clamping
* `5d28c7af <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d28c7af>`_ NAT: add support for configurable port range (VPP-1346)
* `ea5b5be4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ea5b5be4>`_ NAT44: client-IP based session affinity for load-balancing (VPP-1297)
* `878c646a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=878c646a>`_ NAT44: add support for session timeout (VPP-1272)
* `69ce30d6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=69ce30d6>`_ NAT: update nat_show_config_reply API (VPP-1403)
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
* `c6c0d2a0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c6c0d2a0>`_ NAT44: LB NAT - local backends in multiple VRFs (VPP-1345)

``src/plugins/vmxnet3/vmxnet3.api``

* `df7f8e8c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df7f8e8c>`_ vmxnet3 device driver

``src/plugins/nsh/nsh.api``

* `d313f9e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d313f9e6>`_ Port NSH plugin to VPP

``src/plugins/nsim/nsim.api``

* `9e3252b5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9e3252b5>`_ Network delay simulator plugin

``src/plugins/svs/svs.api``

* `d1e68ab7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1e68ab7>`_ Source VRF Select

``src/vlibmemory/memclnt.api``

* `94495f2a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=94495f2a>`_ PAPI: Use UNIX domain sockets instead of shared memory
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
* `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings

``src/vnet/interface.api``

* `f0b42f48 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0b42f48>`_ itf: dump interface rx-placement
* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
* `54f7c51f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=54f7c51f>`_ rx-placement: Add API call for interface rx-placement
* `1855b8e4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1855b8e4>`_ IP directed broadcast

``src/vnet/bfd/bfd.api``

* `2d3c7b9c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d3c7b9c>`_ BFD: add get echo source API (VPP-1367)

``src/vnet/bier/bier.api``

* `ef90ed08 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ef90ed08>`_ BIER API and load-balancing fixes
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API

``src/vnet/classify/classify.api``

* `34eb5d42 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34eb5d42>`_ classify_add_del_session API: Use more descriptive docstring (VPP-1385)
* `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings

``src/vnet/devices/pipe/pipe.api``

* `208c29aa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=208c29aa>`_ VOM: support for pipes

``src/vnet/devices/virtio/vhost_user.api``

* `ee2e58f6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee2e58f6>`_ vhost-user: Add disable feature support in api

``src/vnet/ethernet/ethernet_types.api``

* `de5b08fb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb>`_ Introduce a mac_address_t on the API and in VPP

``src/vnet/ip/ip_types.api``

* `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API

``src/vnet/ip/ip.api``

* `412ecd32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=412ecd32>`_ Improve ip_mroute_add_del documentation
* `14260393 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14260393>`_ Add adjacency counters to the stats segment
* `28c142e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=28c142e3>`_ mroute routers in the stats segment
* `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment
* `de5b08fb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb>`_ Introduce a mac_address_t on the API and in VPP
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
* `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition

``src/vnet/ipip/ipip.api``

* `61502115 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61502115>`_ IPIP and SIXRD tunnels create API needs table-IDs not fib-indexes

``src/vnet/ipsec/ipsec.api``

* `a9a0b2ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9a0b2ce>`_ IPsec: add API for SPDs dump (VPP-1363)
* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.

``src/vnet/l2/l2.api``

* `0a4e0063 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0a4e0063>`_ Fix documentation about sw_interface_set_l2_bridge
* `b474380f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b474380f>`_ L2 BD: introduce a BD interface on which to send UU packets
* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
* `5c7c49d1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c7c49d1>`_ Fix documentation for SHG in bridge domain
* `5d82d2f1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d82d2f1>`_ l2: arp termination dump
* `6b9b41c8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6b9b41c8>`_ L2 EFP: byteswap sw_if_index, enable flag can be u8 on .api

``src/vnet/lisp-cp/lisp.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API

``src/vnet/lisp-cp/one.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API

``src/vnet/lisp-gpe/lisp_gpe.api``

* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
* `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition

``src/vnet/mpls/mpls.api``

* `f5fa5ae2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5fa5ae2>`_ MPLS tunnel dump: use sw_if_index not tunnel_index
* `6a30b5f9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a30b5f9>`_ MPLS tunnel dump fix
* `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment
* `7c922dc4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c922dc4>`_ SR-MPLS: fixes and tests

``src/vnet/qos/qos.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
* `ed234e7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed234e7f>`_ Enum type on the API for QoS sources

``src/vnet/session/session.api``

* `ab2f6dbf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab2f6dbf>`_ session: support multiple worker binds
* `134a996a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=134a996a>`_ vcl: add support for multi-worker apps
* `1553197f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1553197f>`_ session: add support for multiple app workers
* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
* `99368315 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=99368315>`_ vcl: support for eventfd mq signaling

``src/vnet/span/span.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.

``src/vnet/udp/udp.api``

* `9c0a3c42 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c0a3c42>`_ UDP-Encap: name counters for the stats segment
* `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API

``src/vnet/unix/tap.api``

* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.

``src/vnet/vxlan-gbp/vxlan_gbp.api``

* `79a05f54 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=79a05f54>`_ VXLAN-GBP: use common types on the API
* `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp

``src/vpp/api/vpe.api``

* `5d64c786 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d64c786>`_ thread: Add show threads api
* `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos.

``src/vpp/stats/stats.api``

* `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos.

Notice of future API deprecation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  bind_uri_reply
-  accept_session
-  accept_session_reply
-  disconnect_session_reply
-  reset_session
-  reset_session_reply
-  bind_sock_reply
-  connect_session_reply