summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2025-12-26 12:06:29 +0100
committerChristian Breunig <christian@breunig.cc>2025-12-26 12:07:52 +0100
commit81d536db0630358d65fde81d43e44d12d7fdb2dc (patch)
tree28427ad42f650d95124c60c73ffb1b243f1444f0 /src
parent8c0f42e1986af19bef2793fd49c63b6b57799fc9 (diff)
downloadvyos-1x-81d536db0630358d65fde81d43e44d12d7fdb2dc.tar.gz
vyos-1x-81d536db0630358d65fde81d43e44d12d7fdb2dc.zip
bond: T2416: support hot-add/remove of bond member interfaces
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.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/interfaces_bonding.py2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/conf_mode/interfaces_bonding.py b/src/conf_mode/interfaces_bonding.py
index f844d0a21..44a77e384 100755
--- a/src/conf_mode/interfaces_bonding.py
+++ b/src/conf_mode/interfaces_bonding.py
@@ -104,7 +104,6 @@ def get_config(config=None):
conf.set_level(['interfaces'])
if interfaces_removed:
- bond['shutdown_required'] = {}
if 'member' not in bond:
bond['member'] = {}
@@ -141,7 +140,6 @@ def get_config(config=None):
# Check if member interface is a new member
if not conf.exists_effective(base + [ifname, 'member', 'interface', interface]):
- bond['shutdown_required'] = {}
bond['member']['interface'][interface].update({'new_added' : {}})
# Check if member interface is disabled