Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add support for VPP 21.01 #1785

Merged
merged 2 commits into from
Feb 11, 2021
Merged

Conversation

milanlenco
Copy link
Collaborator

@milanlenco milanlenco commented Feb 9, 2021

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 (with false 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.

Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
@milanlenco milanlenco changed the title WIP: Add support for VPP 21.01 feat: Add support for VPP 21.01 Feb 9, 2021
@chrismetz09
Copy link

Docs Update: add endpoint_independent to NAT Global REST API at https://docs.ligato.io/en/latest/api/api-vpp-agent/#vpp-nat-global?

@milanlenco
Copy link
Collaborator Author

Docs Update: add endpoint_independent to NAT Global REST API at https://docs.ligato.io/en/latest/api/api-vpp-agent/#vpp-nat-global?

The example output in docs can remain as is. endpoint_independent will be in the vast majority of cases false and therefore not visible in the output from REST API.

Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
@ondrej-fabry ondrej-fabry merged commit d7cf8be into ligato:master Feb 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants