FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
|
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: