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
|