Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for the latest VPP release 21.01
The major change is the NAT44 plugin refactor. For example it is now required to explicitly enable and provide initial configuration to the NAT44 plugin via binary API before it can be used. Previously the initial configuration was given inside the VPP startup configuration (
/etc/vpp/vpp.conf
) and couldn't be changed in the run-time. Also the plugin was always enabled and apparently was taking up some resources.For VPP 21.01 and newer the NAT44 plugin will be enabled by submitting the
NAT44Global
configuration item (which had to be configured anyway to enable forwarding). Also endpoint dependency is now possible to configure and change via NB API. I decided to select the endpoint-dependent mode as the default (that was also the case before with our/etc/vpp/vpp.conf
). The model has "endpoint-independent" field (withfalse
as default) as opposed to endpoint-dependent because in vast majority of cases endpoint dependency is preferred and most features of NAT44 do not work in independent mode anyway (so to avoid complains empty global NAT44 config will enable all features that can be configured via ligato). Aside from endpoint dependency there are few more init options for NAT44 and we could add them later into the model as needed.Also output from "show memory" was slightly changed and the RE that we use to parse it had to be modified for 21.01.
Aside for new features/changes there are also new bugs as always:
Support for VPP 19.08 was removed.
All integration and e2e tests are passing for all four supported VPP versions.
⚠️ However, please note that some checks are disabled (skipped) for VPP 21.01 until the bugs mentioned above are fixed and merged.