blob: 952d7151e788a5b7507255601a6c41834886221d [file] [log] [blame]
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +02001Release notes for VPP 18.10
2===========================
3
4More than 632 commits since the 18.07 release.
5
6Features
7--------
8
9Infrastructure
10~~~~~~~~~~~~~~
11
12- DPDK 18.08 integration
13- New Stats infrastructure (interface, error, node performance
14 counters)
15- Add configurable Doug Lea malloc support
16
17VNET & Plugins
18~~~~~~~~~~~~~~
19
20- Load balancing: support per-port VIP and all-port VIP
21- Port NSH plugin to VPP
22- NAT
23
24 - Configurable port range
25 - Virtual Fragmentation Reassembly for endpoint-dependent mode
26 - Client-IP based session affinity for load-balancing
27 - TCP MSS clamping
28 - Session timeout
29 - Bug-fixing and performance optimizations
30
31Host stack
32~~~~~~~~~~
33
34- Support for applications with multiple workers
35- Support for binds from multiple app workers to same ip:port
36- Switched to a message queue for io and control event notifications
37- Support for eventfd based notifications as alternative to
38 mutext-condvar pair
39- VCL refactor to support async event notifications and multiple
40 workers
41- TLS async support in client for HW accleration
42- Performance optimizations and bug-fixing
43- A number of binary APIs will be deprecated in favor of using the
44 event message queue. Details in the API section.
45
46Known issues
47------------
48
49For the full list of issues please refer to fd.io
50`JIRA <https://jira.fd.io>`__.
51
52Issues fixed
53------------
54
55For the full list of fixed issues please refer to:
56
57- fd.io `JIRA <https://jira.fd.io>`__
58- git `commit log <https://git.fd.io/vpp/log/?h=stable/1810>`__
59
60
61API changes
62-----------
63
64Description of results:
65
66- *Definition changed*: indicates that the API file was modified
67 between releases.
68
69- *Only in image*: indicates the API is new for this release.
70
71- *Only in file*: indicates the API has been removed in this release.
72
73 ::
74
75 Message Name Result
76
77 api_versions_reply definition changed
78 app_cut_through_registration_add definition changed
79 app_worker_add_del definition changed application_attach_reply
80 definition changed bd_ip_mac_details only in image bd_ip_mac_dump
81 only in image bfd_udp_get_echo_source definition changed
82 bier_imp_details definition changed bier_route_details definition
83 changed bind_sock definition changed bridge_domain_details definition
84 changed bridge_flags definition changed classify_add_del_session
85 definition changed classify_add_del_table definition changed
86 connect_sock definition changed create_vhost_user_if definition
87 changed get_first_msg_id_reply definition changed
88 gpe_add_del_fwd_entry_reply definition changed
89 gpe_fwd_entry_path_details definition changed ip6_fib_details
90 definition changed ip6nd_proxy_details definition changed
91 ip_add_del_route_reply definition changed ip_address_details
92 definition changed ip_details definition changed ip_fib_details
93 definition changed ip_mfib_details definition changed
94 ip_mroute_add_del_reply definition changed ip_neighbor_add_del_reply
95 definition changed ip_neighbor_details definition changed
96 ip_reassembly_get_reply definition changed ip_unnumbered_details
97 definition changed ipip_6rd_add_tunnel definition changed
98 ipip_add_tunnel definition changed ipsec_spds_details only in image
99 ipsec_spds_dump only in image l2_interface_efp_filter definition
100 changed lisp_eid_table_vni_details definition changed
101 map_another_segment definition changed mfib_signal_details definition
102 changed mpls_route_add_del_reply definition changed
103 mpls_tunnel_add_del definition changed mpls_tunnel_add_del_reply
104 definition changed mpls_tunnel_details definition changed
105 mpls_tunnel_dump definition changed one_eid_table_vni_details
106 definition changed qos_mark_enable_disable definition changed
107 qos_record_enable_disable definition changed reset_session_reply
108 definition changed rpc_call definition changed show_threads
109 definition changed sockclnt_create_reply definition changed
110 sockclnt_delete definition changed sockclnt_delete_reply definition
111 changed sw_interface_rx_placement_details only in image
112 sw_interface_rx_placement_dump only in image
113 sw_interface_set_ip_directed_broadcast definition changed
114 sw_interface_set_l2_bridge definition changed
115 sw_interface_set_rx_placement definition changed
116 sw_interface_set_vxlan_gbp_bypass definition changed udp_encap_add
117 definition changed udp_encap_add_del_reply only in file
118 udp_encap_add_reply only in image udp_encap_del definition changed
119 udp_encap_details definition changed unbind_sock definition changed
120 vxlan_gbp_tunnel_add_del definition changed vxlan_gbp_tunnel_details
121 only in image vxlan_gbp_tunnel_dump only in image Found 68 api
122 message signature differences
123
124Patches that changed API definitions
125~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126
127``src/plugins/avf/avf.api``
128
129* `149d0e28 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=149d0e28>`_ avf: RSS support
130* `4e6014fc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4e6014fc>`_ avf: api fix
131
132``src/plugins/gbp/gbp.api``
133
134* `c0a93143 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0a93143>`_ GBP Endpoint Updates
135* `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp
136
137``src/plugins/igmp/igmp.api``
138
139* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
140
141``src/plugins/lb/lb.api``
142
143* `6a4375e0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a4375e0>`_ LB: fix flush flow table issue
144* `49ca2601 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=49ca2601>`_ Add flush flag on del as command
145* `219cc90c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=219cc90c>`_ Support lb on both vip and per-port-vip case
146
147``src/plugins/nat/nat.api``
148
149* `bb4e0225 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb4e0225>`_ NAT: TCP MSS clamping
150* `5d28c7af <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d28c7af>`_ NAT: add support for configurable port range (VPP-1346)
151* `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)
152* `878c646a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=878c646a>`_ NAT44: add support for session timeout (VPP-1272)
153* `69ce30d6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=69ce30d6>`_ NAT: update nat_show_config_reply API (VPP-1403)
154* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
155* `c6c0d2a0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c6c0d2a0>`_ NAT44: LB NAT - local backends in multiple VRFs (VPP-1345)
156
157``src/plugins/vmxnet3/vmxnet3.api``
158
159* `df7f8e8c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df7f8e8c>`_ vmxnet3 device driver
160
161``src/plugins/nsh/nsh.api``
162
163* `d313f9e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d313f9e6>`_ Port NSH plugin to VPP
164
165``src/plugins/nsim/nsim.api``
166
167* `9e3252b5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9e3252b5>`_ Network delay simulator plugin
168
169``src/plugins/svs/svs.api``
170
171* `d1e68ab7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1e68ab7>`_ Source VRF Select
172
173``src/vlibmemory/memclnt.api``
174
175* `94495f2a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=94495f2a>`_ PAPI: Use UNIX domain sockets instead of shared memory
176* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
177* `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings
178
179``src/vnet/interface.api``
180
181* `f0b42f48 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0b42f48>`_ itf: dump interface rx-placement
182* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
183* `54f7c51f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=54f7c51f>`_ rx-placement: Add API call for interface rx-placement
184* `1855b8e4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1855b8e4>`_ IP directed broadcast
185
186``src/vnet/bfd/bfd.api``
187
188* `2d3c7b9c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d3c7b9c>`_ BFD: add get echo source API (VPP-1367)
189
190``src/vnet/bier/bier.api``
191
192* `ef90ed08 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ef90ed08>`_ BIER API and load-balancing fixes
193* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
194
195``src/vnet/classify/classify.api``
196
197* `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)
198* `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings
199
200``src/vnet/devices/pipe/pipe.api``
201
202* `208c29aa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=208c29aa>`_ VOM: support for pipes
203
204``src/vnet/devices/virtio/vhost_user.api``
205
206* `ee2e58f6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee2e58f6>`_ vhost-user: Add disable feature support in api
207
208``src/vnet/ethernet/ethernet_types.api``
209
210* `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
211
212``src/vnet/ip/ip_types.api``
213
214* `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API
215
216``src/vnet/ip/ip.api``
217
218* `412ecd32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=412ecd32>`_ Improve ip_mroute_add_del documentation
219* `14260393 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14260393>`_ Add adjacency counters to the stats segment
220* `28c142e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=28c142e3>`_ mroute routers in the stats segment
221* `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment
222* `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
223* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
224* `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition
225
226``src/vnet/ipip/ipip.api``
227
228* `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
229
230``src/vnet/ipsec/ipsec.api``
231
232* `a9a0b2ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9a0b2ce>`_ IPsec: add API for SPDs dump (VPP-1363)
233* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
234
235``src/vnet/l2/l2.api``
236
237* `0a4e0063 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0a4e0063>`_ Fix documentation about sw_interface_set_l2_bridge
238* `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
239* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
240* `5c7c49d1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c7c49d1>`_ Fix documentation for SHG in bridge domain
241* `5d82d2f1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d82d2f1>`_ l2: arp termination dump
242* `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
243
244``src/vnet/lisp-cp/lisp.api``
245
246* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
247* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
248
249``src/vnet/lisp-cp/one.api``
250
251* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
252* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
253
254``src/vnet/lisp-gpe/lisp_gpe.api``
255
256* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
257* `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition
258
259``src/vnet/mpls/mpls.api``
260
261* `f5fa5ae2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5fa5ae2>`_ MPLS tunnel dump: use sw_if_index not tunnel_index
262* `6a30b5f9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a30b5f9>`_ MPLS tunnel dump fix
263* `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment
264* `7c922dc4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c922dc4>`_ SR-MPLS: fixes and tests
265
266``src/vnet/qos/qos.api``
267
268* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
269* `ed234e7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed234e7f>`_ Enum type on the API for QoS sources
270
271``src/vnet/session/session.api``
272
273* `ab2f6dbf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab2f6dbf>`_ session: support multiple worker binds
274* `134a996a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=134a996a>`_ vcl: add support for multi-worker apps
275* `1553197f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1553197f>`_ session: add support for multiple app workers
276* `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API
277* `99368315 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=99368315>`_ vcl: support for eventfd mq signaling
278
279``src/vnet/span/span.api``
280
281* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
282
283``src/vnet/udp/udp.api``
284
285* `9c0a3c42 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c0a3c42>`_ UDP-Encap: name counters for the stats segment
286* `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API
287
288``src/vnet/unix/tap.api``
289
290* `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos.
291
292``src/vnet/vxlan-gbp/vxlan_gbp.api``
293
294* `79a05f54 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=79a05f54>`_ VXLAN-GBP: use common types on the API
295* `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp
296
297``src/vpp/api/vpe.api``
298
299* `5d64c786 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d64c786>`_ thread: Add show threads api
300* `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos.
301
302``src/vpp/stats/stats.api``
303
304* `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos.
305
306Notice of future API deprecation
307~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308
309- bind_uri_reply
310- accept_session
311- accept_session_reply
312- disconnect_session_reply
313- reset_session
314- reset_session_reply
315- bind_sock_reply
316- connect_session_reply