summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp_interfaces_bonding.py
AgeCommit message (Collapse)Author
2026-06-05vpp: T8913: Skip bond teardown for non-structural config changesNataliia Solomko
VPP bond teardown was triggered on every commit regardless of what changed, dropping all subinterfaces and BGP sessions even for trivial changes like descriptions or IP addresses. Only mode, hash-policy and mac_address require full recreation since VPP has no in-place update API for these; all other changes are now applied incrementally.
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