summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces_bonding.py
AgeCommit message (Collapse)Author
13 daysfirewall: T8761: re-introduce VRF interface names in generated firewall configDavid Vølker
This change re-implements the intended behaviour from T4180 aswell as from T4506, it ensures that both the vrf-member interface aswell as the vrf itself is added as an oifname -> meaning that traffic traversing and originating from withing VyOS is matches outbound. Changes done by c-po: * re-sort dependency list to keep diff low * vyos.configdict.is_vrf_changed() should return early and not carry over the to-be return value * keep common coding style (dict by . separation) in nftables-zone.j2 Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-06-16T8923: normalize "can not" to "cannot"Christian Breunig
Replace two-word "can not" / "Can not" with "cannot" across comments, ConfigError messages, CLI help text, and op-mode output. Standard SNMP MIB files under mibs/ are left unchanged.
2026-03-30Merge pull request #5086 from natali-rs1985/T8419Christian Breunig
vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge interfaces
2026-03-27vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge ↵Nataliia Solomko
interfaces
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2025-12-29Merge pull request #4917 from c-po/bond-no-always-remove-memberChristian Breunig
bond: T2416: support hot-add/remove of bond member interfaces
2025-12-26bond: T2416: support hot-add/remove of bond member interfacesChristian Breunig
Previously, adding or removing a bond member interface would force the entire bond into an admin-down state, removing and re-adding all member interfaces. This caused unnecessary link up/down events and excessive log noise on partner devices. This change refactors the code to allow hot-adding and removal of bond member interfaces without disrupting existing members, minimizing link state changes and log entries.
2025-12-19bond: T8084: disallow bond members that do not support MAC changesChristian Breunig
Building on commit ba60266ab1896 (“ethernet: T8084: prevent MAC changes on ENA interfaces (AWS EC2)”), add safeguards to prevent interfaces from being used as bond members if they: * do not support MAC address changes, or * appear on a denylist of interfaces invalid for bonding (currently empty)
2025-12-19bond: T8084: remove dynamic interface type detection via vyos.ifconfig.SectionChristian Breunig
Aggregated / bonded interfaces do only work with ethernet interfaces as underlaying link. There is no need to "dynamically" detect that eth0, eth1 or any other interface starting with eth is an ethernet interface. Remove calls to vyos.ifconfig.Section().
2025-11-21bond: T8023: validate member interface min/max MTUChristian Breunig
It is impossible to set the bond interface MTU to be larger or lower then the limits of the underlaying interface MTU. Add proper commit validation and smoketest.
2025-11-12T7731: Static ARP entries are missing after an interface status changeNataliia Solomko
2025-06-28T7591: remove copyright years from source filesChristian Breunig
The legal team says years are not necessary so we can go ahead with it, since it will simplify backporting. Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \ 's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors <maintainers@vyos.io>/g' In addition we will error-out during "make" if someone re-adds a legacy copyright notice
2025-02-23bond: T7191: fix error message when member interface is used multiple timesChristian Breunig
Sharing the same physical interface among multiple bond interfaces causes information to be lost within the error message set interfaces bonding bond10 member interface eth1 set interfaces bonding bond10 member interface eth2 set interfaces bonding bond20 member interface eth1 set interfaces bonding bond20 member interface eth2 commit Results in: [ interfaces bonding bond10 ] Can not add interface "eth1" to bond, it is already a member of bond "b"! [[interfaces bonding bond10]] failed [ interfaces bonding bond20 ] Can not add interface "eth1" to bond, it is already a member of bond "b"! It should infact output the full name of the bond interface.
2024-12-18frrender: T6746: move get_frrender_dict from vyos.configdict to this moduleChristian Breunig
Keep all FRRender stuff in one place.
2024-12-16frr: T6746: do not use FRRender apply() method when vyos-configd is runningChristian Breunig
2024-12-16frr: T6746: integrate FRRender class into vyos-configdChristian Breunig
When running under vyos-configd only a single apply() is done as last step in the commit algorithm. FRRender class address is provided via an attribute from vyos-configd process.
2024-12-16frr: T6747: migrate protocols to unified FRRender classChristian Breunig
With FRR 10.0 daemons started to be migrated to integrated FRR mgmtd and a northbound interface. This led to some drawbacks in the current state how changes to FRR are handled. The current implementation will use frr-reload.py and specifies excatly WHICH daemon needs a config update and will only replace this part inside FRR. With FRR10 and mgmtd when a partial configuration is sent to mgmtd, it will remove configuration parts from other daemons like bgpd or ospfd which have not yet been migrated to mgmtd. It's not possible to call frr-reload.py with daemon mgmtd - it will error out. This commit will also change the CLI for static routes: CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1" will be split into: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd source-address 1.1.1.1 * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop To make the XML blocks reusable, and comply with the FRR CLI - this was actually a wrong implementation from the beginning as you can not have multiple BFD source addresses. CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1 profile bar" is changed to: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd profile bar CLI commands "set protocols static multicast interface-route" is moved to: * set protocols static multicast route <x.x.x.x/x> interface To have an identical look and feel with regular static routes.
2024-12-16frr: T6747: make daemon definitions re-usable for both conf-mode and smoketestsChristian Breunig
2024-09-15bond: T6709: add EAPoL supportChristian Breunig
2024-05-10bond: T6303: system-mac is not allowed to be a multicast MAC addressChristian Breunig
2024-04-03T6199: drop unused Python importsChristian Breunig
found using "git ls-files *.py | xargs pylint | grep W0611"
2024-04-03T6199: replace netifaces.interfaces() with common custom helpersChristian Breunig
* Use interface_exists() outside of verify() * Use verify_interface_exists() in verify() to drop common error message
2023-12-31T5474: establish common file name pattern for XML conf mode commandsChristian Breunig
We will use _ as CLI level divider. The XML definition filename and also the Python helper should match the CLI node. Example: set interfaces ethernet -> interfaces_ethernet.xml.in set interfaces bond -> interfaces_bond.xml.in set service dhcp-server -> service_dhcp-server-xml.in