summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp_interfaces_bonding.py
AgeCommit message (Collapse)Author
2026-05-28Merge pull request #5074 from vyos/fix/bare-except-clausesViacheslav Hletenko
python: T8857: replace bare except clauses with except Exception in config scripts
2026-05-13python: T8857: replace bare except clauses with except Exception in config ↵Yuriy Andamasov
scripts Bare except: catches everything derived from BaseException, including SystemExit and KeyboardInterrupt. Config scripts must not silently continue past sys.exit(), so replace bare except: with except Exception: in the three config-mode scripts that contained one. Library code (python/vyos/configverify.py, python/vyos/config.py) and op-mode scripts are intentionally out of scope: those cases require case-by-case design review (e.g. MTU lookups should accept defaults as arguments rather than rely on exception handling; reset-style op-mode scripts may legitimately want to ignore KeyboardInterrupt). Sites changed: - src/conf_mode/interfaces_ethernet.py (MTU adapter lookup) - src/conf_mode/vpp_interfaces_bonding.py (MAC validation) - src/conf_mode/container.py x2 (IPv4 / IPv6 prefix lookup)
2026-04-02vpp: T8438: Add bidirectional interface-in-use validationNataliia Solomko
Add bidirectional VPP interface reference validation: prevent assigning an interface used by a VPP feature (NAT/ACL/IPFIX/sFlow, etc.) as a VPP member (bond/bridge/xconnect) and prevent using a VPP member interface in VPP features. Block interface deletion when it is still referenced by any VPP feature/member. Fix VLAN subinterface removal checks broken by the recent VPP config tree restructuring.
2026-03-26Merge pull request #5080 from natali-rs1985/T8416Christian Breunig
vpp: T8416: Prevent interfaces from being assigned to xconnect and bridge/bonding at the same time
2026-03-26vpp: T8416: Prevent interfaces from being assigned to xconnect and ↵Nataliia Solomko
bridge/bonding at the same time
2026-03-24Merge pull request #5039 from natali-rs1985/T8355Daniil Baturin
vpp: T8355: Set MTU for vpp interfaces
2026-03-23vpp: T8355: Set MTU for vpp interfacesNataliia Solomko
2026-03-19Merge pull request #5064 from natali-rs1985/T8352Christian Breunig
T8352: VPP add op-mode commands to show bonding interfaces
2026-03-18T8352: VPP add op-mode commands to show bonding interfacesNataliia Solomko
2026-03-17vpp: T8230: Add support for PPPoE on bonding interfacesNataliia Solomko
2026-03-05vpp: T8342: Add verification of members for bond and bridge interfacesNataliia Solomko
2026-03-03vpp: T8327: Migrate bridge interface to 'interfaces vpp bridge'Nataliia Solomko
2026-02-25vpp: T8283: Move bonding interface from vpp secction to 'interfaces vpp bonding'Nataliia Solomko
2026-02-13vpp: T8254: Move 'nat44' and 'settings nat44' sections to 'nat nat44'Nataliia Solomko
2026-01-16vpp: T8143: Incorrect mapping in IPFIX for bond interfacesNataliia Solomko
2025-10-07T7800: VPP: Bonding interface fails when change vpp configurationNataliia Solomko
2025-08-07T7697: Remove year from copyrightViacheslav
2025-05-28T7488: Make VPP restartableNataliia Solomko
2025-05-13T7419: VPP ACL implementation (#31)Nataliia S.
CLI: ``` set vpp acl ip tag-name <tag-name> rule <nn> action <permit|deny|permit-reflect> set vpp acl ip tag-name <tag-name> rule <nn> source prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> source port <port|range> set vpp acl ip tag-name <tag-name> rule <nn> destination prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> destination port <port> set vpp acl ip tag-name <tag-name> rule <nn> protocol <protocol> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags not <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip interface <interface_name> input acl-tag <n> tag-name <tag-name> set vpp acl ip interface <interface_name> output acl-tag <n> tag-name <tag-name> set vpp acl macip tag-name <tag-name> rule <nn> prefix <prefix> set vpp acl macip tag-name <tag-name> rule <nn> mac-address <mac> set vpp acl macip tag-name <tag-name> rule <nn> mac-mask <mac-mask> set vpp acl macip tag-name <tag-name> rule <nn> action <permit|deny> set vpp acl macip interface <interface_name> tag-name <tag-name> ``` OP mode ``` show vpp acl ip tag-name <tag_name> show vpp acl ip interface show vpp acl macip tag-name <tag_name> show vpp acl macip interface ```
2025-01-29Revert "warning: introduce a delay between add() and kernel_add()"Viacheslav Hletenko
This reverts commit 405d3ee7ac909bbf458f522e6539a1f4eacdf7e6.
2025-01-27Bonding: Use common class for the interface stateViacheslav Hletenko
2025-01-21bonding: set interface state up after addingViacheslav Hletenko
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.
2025-01-15bonding: fix remove LCP kernel-interfacesViacheslav Hletenko
2025-01-15warning: introduce a delay between add() and kernel_add()Viacheslav Hletenko
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
2025-01-11Remove recursive_defaults from the get_config argViacheslav Hletenko
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
2025-01-07Add vyos-vpp CLI and python3 modulesViacheslav Hletenko