Release notes for VPP 19.08.1

Exceptionally, this release has an API-changing fix introduced via https://gerrit.fd.io/r/#/c/vpp/+/21762/ - documented in VPP-1767. Given the exceptional nature of the change, also including the text here:

Bug: https://gerrit.fd.io/r/c/vpp/+/21492

Variable length strings were committed to VPP in 413f4a5b. The VPP server side of the API does not use a wire encoder/decoder. It maps a C struct directly onto on-the-wire API messages. The client side C language binding is the same, while other language bindings have their own encoder/decoders.

Multiple strings alone or combined with other variable length types turned out to be error prone to manually implement on the VPP side, and not supported by VPP API (VAPI) very well at all.

To avoid having to rewrite VAPI significantly, and to mitigate the risk and error prone server side support of multiple variable length fields, this patch extends strings to have a fixed size (on the wire) and a variable flavour, as well as adding detection in the API compiler to detect multiple variable length fields in a message (or type).

Given that this change breaks the commitment to binary API compatibility, normally present in point builds, ALL 19.08 build artifacts are being deferred.

This means the artifacts for the VPP 19.08.1 will be installed in the release repository (packagecloud.io/fdio/release), then ALL 19.08 build artifacts will be moved into the deferred repository (packagecloud.io/fdio/deferred). The 19.08 artifacts will always be available for archive purposes in the deferred repository.

During the further testing by Networking-VPP team, they discovered another issue documented in VPP-1769 - which requires a CRC-affecting fix in https://gerrit.fd.io/r/#/c/vpp/+/22015/ - so the 19.08.1 will contain the fixes for both issues.

These two changes have resulted in the following 20 messages changing their signatures:

Message Name

Result

cli_inband

definition changed

cli_inband_reply

definition changed

connect_sock

definition changed

http_static_enable

definition changed

log_details

definition changed

map_add_domain

definition changed

map_domain_details

definition changed

nat44_add_del_identity_mapping

definition changed

nat44_add_del_lb_static_mapping

definition changed

nat44_add_del_static_mapping

definition changed

nat44_identity_mapping_details

definition changed

nat44_lb_static_mapping_details

definition changed

nat44_static_mapping_details

definition changed

nat_worker_details

definition changed

punt_reason_details

definition changed

punt_reason_dump

definition changed

show_version_reply

definition changed

sw_interface_details

definition changed

sw_interface_dump

definition changed

sw_interface_tag_add_del

definition changed

Please accept our apologies for the inconvenience this caused.

For the full list of fixed issues please refer to: