aboutsummaryrefslogtreecommitdiffstats
path: root/docs/aboutvpp/releasenotes/v19.01.rst
blob: b2311c8495079930b7f22f2ec498f03988cdac4e (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
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
Release notes for VPP 19.01
===========================

More than 649 commits since the 18.10 release.

Features
--------

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

-  NUMA-aware, growable physical memory allocator (pmalloc)
-  FIB: sticky load-balance
-  C11 safe string handling: provide and use “safe” C string handling
   functions
-  vlib: allocate buffers on local numa, not on numa 1
-  vppinfra: autodetect default hugepage size
-  Move RPC traffic off the shared-memory API queue
-  IPv6: Make link-local configurable per-interface
-  IGMP: improve CLI debug output
-  IPSec: split ipsec nodes into ip4/ip6 nodes
-  IPSec: infra for selecting backends
-  vhost-user: cleanup and performance optimizations
-  ethernet-input, memif improvements and optimizations
-  DPDK: bump to DPDK 18.11
-  reassembly: harden reassembly code
-  stats: Deprecate old (event-based) stats framework
-  vlib: support Hyper-V/Azure VMBus
-  binary api clients: wait for vpp to start
-  graph dispatch trace: capture packet data and buffer metadata, output
   in pcap format
-  improve feature arc order constraint specification

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

-  pktgen: correctly replay a mix of single and multi-buffer packets
-  add wireshark dissector to extras
-  avf: optimizations
-  acl-plugin: use L2 feature arc instead of L2 classifier
-  acl-plugin: performance enhancement
-  dpdk: allow interface name to be specified from startup.conf
-  dpdk: blacklist PCI devices by type
-  dpdk: switch to in-memory mode, deprecate use of socket-mem
-  vnet: store hw interface speed in kbps instead of using flags
-  vmxnet3: enable promiscuous mode & cli enhancements
-  gbp: Add support for flow hash profile & l3-out subnets
-  map: Add API support for setting parameters.
-  map: Convert from DPO to input feature
-  nat: improve expired sessions reuse in NAT44
-  nat: syslog - sessions logging
-  nsim: add packet loss simulation, docs
-  perfmon: x86_64 perf counter plugin
-  vnet: L2 feature arc infrastructure

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

-  TCP congestion control improvements
-  TCP Cubic congestion control algorithm
-  TCP fast path optimizations
-  Transport tx connection pacer. TCP uses it by default
-  Basic support for session flushing and TCP PSH segments
-  TCP/session api support for configuring custom local src ip/port
-  VCL/LDP basic support for multi-process applications
-  Overall code hardening, cleanup and bugfixing for tcp, session, vcl
   and ldp

PAPI & Test framework
~~~~~~~~~~~~~~~~~~~~~

-  add specific API types for IP addresses, MAC address, interface index
   etc.
-  add timeout support for socket transport
-  add support for format/unformat functions
-  generic API types format/unformat support for VAT and custom dump
-  python3 test adjustments
-  make test: create virtualenv under /test/
-  make test: print TEST= values for failed tests
-  add human-friendly annotations to log messages

VOM
~~~

-  Add support for redirect contracts in gbp
-  deprecate TAP add ip-punt redirect dump
-  vxlan-gbp support

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/1901>`__


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                                    Results
=============================================== ==================
acl_plugin_get_conn_table_max_entries           only in image
acl_plugin_get_conn_table_max_entries_reply     only in image
app_worker_add_del                              definition changed
app_worker_add_del_reply                        definition changed
application_attach_reply                        definition changed
bd_ip_mac_add_del                               definition changed
bd_ip_mac_details                               definition changed
bd_ip_mac_flush                                 only in image
bd_ip_mac_flush_reply                           only in image
bond_create                                     definition changed
cli_inband                                      definition changed
cli_inband_reply                                definition changed
gbp_bridge_domain_add                           only in image
gbp_bridge_domain_add_reply                     only in image
gbp_bridge_domain_del                           only in image
gbp_bridge_domain_del_reply                     only in image
gbp_bridge_domain_details                       only in image
gbp_bridge_domain_dump                          only in image
gbp_bridge_domain_dump_reply                    only in image
gbp_endpoint_details                            definition changed
gbp_endpoint_group_add                          only in image
gbp_endpoint_group_add_del                      only in file
gbp_endpoint_group_add_del_reply                only in file
gbp_endpoint_group_add_reply                    only in image
gbp_endpoint_group_del                          only in image
gbp_endpoint_group_del_reply                    only in image
gbp_endpoint_learn_set_inactive_threshold       only in image
gbp_endpoint_learn_set_inactive_threshold_reply only in image
gbp_ext_itf_add_del                             only in image
gbp_ext_itf_add_del_reply                       only in image
gbp_ext_itf_details                             only in image
gbp_ext_itf_dump                                only in image
gbp_route_domain_add                            only in image
gbp_route_domain_add_reply                      only in image
gbp_route_domain_del                            only in image
gbp_route_domain_del_reply                      only in image
gbp_route_domain_details                        only in image
gbp_route_domain_dump                           only in image
gbp_route_domain_dump_reply                     only in image
gbp_vxlan_tunnel_add                            only in image
gbp_vxlan_tunnel_add_reply                      only in image
gbp_vxlan_tunnel_del                            only in image
gbp_vxlan_tunnel_del_reply                      only in image
gbp_vxlan_tunnel_details                        only in image
gbp_vxlan_tunnel_dump                           only in image
igmp_proxy_device_add_del                       only in image
igmp_proxy_device_add_del_interface             only in image
igmp_proxy_device_add_del_interface_reply       only in image
igmp_proxy_device_add_del_reply                 only in image
ip6_mfib_details                                definition changed
ip_container_proxy_details                      only in image
ip_container_proxy_dump                         only in image
ip_mfib_details                                 definition changed
ip_punt_redirect                                definition changed
ip_punt_redirect_details                        only in image
ip_punt_redirect_dump                           only in image
ip_source_check_interface_add_del               only in image
ip_source_check_interface_add_del_reply         only in image
ipip_6rd_add_tunnel_reply                       definition changed
ipip_6rd_del_tunnel                             definition changed
ipip_add_tunnel_reply                           definition changed
ipip_del_tunnel                                 definition changed
ipip_tunnel_details                             definition changed
ipip_tunnel_dump                                definition changed
ipsec_backend_details                           only in image
ipsec_backend_dump                              only in image
ipsec_sa_details                                definition changed
ipsec_select_backend                            only in image
ipsec_select_backend_reply                      only in image
ipsec_tunnel_if_add_del                         definition changed
map_add_del_rule                                definition changed
map_add_domain                                  definition changed
map_another_segment                             definition changed
map_domain_details                              definition changed
map_if_enable_disable                           only in image
map_if_enable_disable_reply                     only in image
map_param_add_del_pre_resolve                   only in image
map_param_add_del_pre_resolve_reply             only in image
map_param_get                                   only in image
map_param_get_reply                             only in image
map_param_set_fragmentation                     only in image
map_param_set_fragmentation_reply               only in image
map_param_set_icmp6                             only in image
map_param_set_icmp6_reply                       only in image
map_param_set_icmp                              only in image
map_param_set_icmp_reply                        only in image
map_param_set_reassembly                        only in image
map_param_set_reassembly_reply                  only in image
map_param_set_security_check                    only in image
map_param_set_security_check_reply              only in image
map_param_set_tcp                               only in image
map_param_set_tcp_reply                         only in image
map_param_set_traffic_class                     only in image
map_param_set_traffic_class_reply               only in image
map_rule_details                                definition changed
memclnt_delete                                  definition changed
nat44_add_del_lb_static_mapping                 definition changed
nat44_lb_static_mapping_add_del_local           only in image
nat44_lb_static_mapping_add_del_local_reply     only in image
nat44_lb_static_mapping_details                 definition changed
nsim_configure                                  definition changed
punt                                            only in file
punt_details                                    only in image
punt_dump                                       only in image
punt_reply                                      only in file
punt_socket_deregister                          definition changed
punt_socket_details                             only in image
punt_socket_dump                                only in image
punt_socket_register                            definition changed
set_ip_flow_hash                                definition changed
set_punt                                        only in image
set_punt_reply                                  only in image
show_version_reply                              definition changed
stats_get_poller_delay                          only in file
stats_get_poller_delay_reply                    only in file
sw_interface_bond_details                       definition changed
sw_interface_details                            definition changed
sw_interface_ip6_set_link_local_address         only in file
sw_interface_ip6_set_link_local_address_reply   only in file
sw_interface_tap_v2_details                     definition changed
syslog_get_filter                               only in image
syslog_get_filter_reply                         only in image
syslog_get_sender                               only in image
syslog_get_sender_reply                         only in image
syslog_set_filter                               only in image
syslog_set_filter_reply                         only in image
syslog_set_sender                               only in image
syslog_set_sender_reply                         only in image
tap_create_v2                                   definition changed
unmap_segment                                   definition changed
vnet_bier_neighbor_counters                     only in file
vnet_get_summary_stats                          only in file
vnet_get_summary_stats_reply                    only in file
vnet_interface_combined_counters                only in file
vnet_interface_simple_counters                  only in file
vnet_ip4_fib_counters                           only in file
vnet_ip4_mfib_counters                          only in file
vnet_ip4_nbr_counters                           only in file
vnet_ip6_fib_counters                           only in file
vnet_ip6_mfib_counters                          only in file
vnet_ip6_nbr_counters                           only in file
vnet_per_interface_combined_counters            only in file
vnet_per_interface_simple_counters              only in file
vnet_udp_encap_counters                         only in file
want_bier_neighbor_stats                        only in file
want_bier_neighbor_stats_reply                  only in file
want_interface_combined_stats                   only in file
want_interface_combined_stats_reply             only in file
want_interface_simple_stats                     only in file
want_interface_simple_stats_reply               only in file
want_ip4_fib_stats                              only in file
want_ip4_fib_stats_reply                        only in file
want_ip4_mfib_stats                             only in file
want_ip4_mfib_stats_reply                       only in file
want_ip4_nbr_stats                              only in file
want_ip4_nbr_stats_reply                        only in file
want_ip6_fib_stats                              only in file
want_ip6_fib_stats_reply                        only in file
want_ip6_mfib_stats                             only in file
want_ip6_mfib_stats_reply                       only in file
want_ip6_nbr_stats                              only in file
want_ip6_nbr_stats_reply                        only in file
want_per_interface_combined_stats               only in file
want_per_interface_combined_stats_reply         only in file
want_per_interface_simple_stats                 only in file
want_per_interface_simple_stats_reply           only in file
want_stats                                      only in file
want_stats_reply                                only in file
want_udp_encap_stats                            only in file
want_udp_encap_stats_reply                      only in file
=============================================== ==================

Found 170 api message signature differences

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

``src/vnet/interface_types.api``

* `53fffa1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1>`_ API: Add support for type aliases

``src/vnet/interface.api``

* `f49ba0e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e>`_ stats: Deprecate old stats framework
* `53fffa1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1>`_ API: Add support for type aliases
* `5100aa9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5100aa9>`_ vnet: store hw interface speed in kbps instead of using flags

``src/vnet/syslog/syslog.api``

* `b4515b4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4515b4>`_ Add RFC5424 syslog protocol support (VPP-1139)

``src/vnet/fib/fib_types.api``

* `775f73c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=775f73c>`_ FIB: encode the label stack in the FIB path during table dump

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

* `7c03ed4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c03ed4>`_ VOM: mroutes
* `3460b01 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3460b01>`_ api: ip_source_check_interface_add_del api is added.
* `609e121 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=609e121>`_ VPP-1507: Added binary api to dump configured ip_punt_redirect
* `2af0e3a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2af0e3a>`_ flow-hash: Add symmetric flag for flow hashing
* `47527b2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47527b2>`_ IP-punt: add documentation to the API and fix IP address init
* `5bb1eca <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5bb1eca>`_ IPv6: Make link-local configurable per-interface (VPP-1446)
* `75b9f45 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75b9f45>`_ ip: add container proxy dump API (VPP-1364)

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

* `8c8acc0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8c8acc0>`_ API: Change ip4_address and ip6_address to use type alias.
* `ffba3c3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c3>`_ MAP: Use explicit address/prefix types in API

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

* `e88865d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e88865d>`_ VPP-1506: dump local punts and registered punt sockets

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

* `4c422f9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c422f9>`_ Add IPSec interface FIB index for TX packet
* `b4a7a7d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4a7a7d>`_ Add UDP encap flag
* `b4d3053 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4d3053>`_ ipsec: infra for selecting backends
* `871bca9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=871bca9>`_ VPP-1450: binary api call for dumping SPD to interface registration

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

* `e26c81f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e26c81f>`_ L2 BD API to flush all IP-MAC entries in the specified BD
* `8006c6a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6a>`_ PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
* `93cc3ee <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee>`_ GBP Endpoint Learning
* `4d5b917 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d5b917>`_ BD ARP entry use common API types

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

* `93cc3ee <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee>`_ GBP Endpoint Learning

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

* `53fffa1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1>`_ API: Add support for type aliases

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

* `d85de68 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d85de68>`_ vcl: wait for segments with segment handle
* `fa76a76 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa76a76>`_ session: segment handle in accept/connect notifications
* `c1f5a43 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c1f5a43>`_ session: cleanup use of api_client_index
* `c0d532d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0d532d>`_ session: mark apis for deprecation

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

* `8006c6a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6a>`_ PAPI: Add MACAddress object wrapper for vl_api_mac_address_t

``src/vnet/bonding/bond.api``

* `ad9d528 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad9d528>`_ bonding: support custom interface IDs

``src/vnet/devices/tap/tapv2.api``

* `754f24b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=754f24b>`_ tapv2: add "tap_flags" field to the TAPv2 interface API

``src/vlibmemory/memclnt.api``

* `eaec2a6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eaec2a6>`_ bapi: add options to have vpp cleanup client registration

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

* `f49ba0e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e>`_ stats: Deprecate old stats framework
* `413f4a5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=413f4a5>`_ API: Use string type instead of u8.

``src/plugins/acl/acl.api``

* `bb5d22d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb5d22d>`_ New api in order to get max entries of connection table is added.

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

* `10c5ff1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=10c5ff1>`_ nsim: add packet loss simulation, docs

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

* `1c17e2e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1c17e2e>`_ GBP: add allowed ethertypes to contracts
* `b6a4795 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b6a4795>`_ GBP: l3-out subnets
* `33b81da <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33b81da>`_ vom: Add support for redirect contracts in gbp
* `13a08cc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=13a08cc>`_ GBP: redirect contracts
* `c29c0af <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c29c0af>`_ GBP: Endpoints with VLAN tags and birdges that don't learn
* `93cc3ee <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee>`_ GBP Endpoint Learning

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

* `b686508 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b686508>`_ NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514)

``src/plugins/map/map.api``

* `fc7344f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fc7344f>`_ MAP: Convert from DPO to input feature.
* `f34597f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f34597f>`_ MAP: Add API support for MAP input feature.
* `5a2e278 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5a2e278>`_ MAP: Add API support for setting parameters.
* `a173a7a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a173a7a>`_ MAP: Use bool type in map.api instead of u8.
* `ffba3c3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c3>`_ MAP: Use explicit address/prefix types in API

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

* `97748ca <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97748ca>`_ IGMP: proxy device