-
Notifications
You must be signed in to change notification settings - Fork 383
T7697: Merge vyos-vpp repo into vyos-1x #4650
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
Conversation
Is not required after this commit vyos@4ca6177
Do not use 'recursive_defaults' as argument of the funciton get_config() It cause vyos-1x/src/tests/test_configd_inspect.py signature checks fail AssertionError: 2 != 1 : 'vpp_interfaces_bonding.py': 'get_config' incorrect signature
Introduce a delay to address instability in the VPP API, which may fail to create the LCP or establish a connection. This should be reviewed and resolved in future releases. This fixes confgurations with included kernel-itnerface (LCP) And all smoketests Example: set interfaces ethernet eth1 address '192.0.2.1/30' set vpp settings interface eth1 driver 'dpdk' set vpp interfaces vxlan vxlan10 remote '192.0.2.2' set vpp interfaces vxlan vxlan10 source-address '192.0.2.1' set vpp interfaces vxlan vxlan10 vni '10' set vpp interfaces vxlan vxlan10 kernel-interface 'vpptap10' Without this delay we get: vyos@r14# commit [ vpp interfaces vxlan vxlan10 ] Traceback (most recent call last): File "/usr/libexec/vyos/services/vyos-configd", line 139, in run_script script.apply(c) File "/usr/libexec/vyos//conf_mode/vpp_interfaces_vxlan.py", line 174, in apply i.kernel_add() File "/usr/lib/python3/dist-packages/vyos/vpp/interface/vxlan.py", line 85, in kernel_add self.vpp.lcp_pair_add(self.ifname, self.kernel_interface) File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 79, in check_retval_wrapper return_value = decorated_func(cls, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 58, in api_safe_wrapper return decorated_func(cls, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 188, in lcp_pair_add return self.__vpp_api_client.api.lcp_itf_pair_add_del_v2(**api_call_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 129, in __call__ return self._func(**kwargs) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 564, in f return self._call_vpp(i, msg, multipart, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 853, in _call_vpp raise VPPIOError(2, "VPP API client: read failed") vpp_papi.vpp_papi.VPPIOError: [Errno 2] VPP API client: read failed
By default VPP creates interface via API with the 'down' state. Add methods to set interface state UP/DOWN. It probably should reuse the common Class in the future. We do not have classes for interface (vpp) state settings.
Add tunnel type - erspan - l3 - teb (Transparent Ethernet Bridge) By default L3 GRE interfaces cannot be bridged to a bridge interface. Add the ability to change tunnel type. set vpp interfaces gre gre2 tunnel-type 'teb'
GRE: add encapsulation gre and gretap
Add ability to configure multipoint mode. Remote IP address in this case has to be 0.0.0.0 Only one tunnel with the same source IP is allowed in the point-to-multipoint mode set vpp interfaces gre gre0 mode 'point-to-multipoint' set vpp interfaces gre gre0 remote '0.0.0.0' set vpp interfaces gre gre0 source-address '192.0.2.1'
- Only tunnel-type 'teb' (L2 Transparent Ethernet Bridge) is allowed to brdige with other itnerfaces. - Only one multipoint GRE tunnel is allowed from the same source address. Do this check from the main vpp file as it has the full vpp config dictionary.
LCP: enable by default route-no-paths
Add common interface state
The pylint does not like the IProute import (though it works fine) ************* Module vpp src/conf_mode/vpp.py:21:0: E0611: No name 'IPRoute' in module 'pyroute2' (no-name-in-module) Do this change only for pylint
Ignore import vpp_api to skip pylint check. The `python3-vpp-api` depends on `vpp` and we should not use VPP in the container. Use this workaround to skip pylint check.
I have read the CLA Document and I hereby sign the CLA |
I have read the CLA Document and I hereby sign the CLA |
CI integration 👍 passed! Details
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This merges unrelated histories of vyos-vpp and vyos-1x repo. I have checked that commit IDs are kept in tact from the old vyos-vpp repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Histories are consistent, tests pass — should be good to go.
The vyos-vpp repo was merged to the vyos-1x in the vyos/vyos-1x#4650 We do not need copy from vyos-vpp repo anymore.
Change summary
Merge
vyos-vpp
repo intovyos-1x
Types of changes
Related Task(s)
Related PR(s)
How to test / Smoketest result
Smoketest
Configtest:
Checklist: