]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: bond: allow bond creation without slaves
authorJulien Fortin <jfortin@nvidia.com>
Wed, 21 Dec 2022 17:47:00 +0000 (18:47 +0100)
committerJulien Fortin <jfortin@nvidia.com>
Thu, 4 May 2023 11:21:55 +0000 (13:21 +0200)
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
ifupdown2/addons/bond.py

index f6681f869082412baff2892203b673d17fbf531a..ce9b01a064f8a94780763e33b80c1beaf6c2e7ce 100644 (file)
@@ -290,7 +290,9 @@ class bond(Addon, moduleBase):
     def _is_bond(self, ifaceobj):
         # at first link_kind is not set but once ifupdownmain
         # calls get_dependent_ifacenames link_kind is set to BOND
-        return ifaceobj.link_kind & ifaceLinkKind.BOND or self.get_bond_slaves(ifaceobj)
+        return ifaceobj.link_kind & ifaceLinkKind.BOND \
+               or ifaceobj.get_attr_value_first("bond-mode") \
+               or self.get_bond_slaves(ifaceobj)
 
     def get_dependent_ifacenames(self, ifaceobj, ifacenames_all=None, old_ifaceobjs=False):
         """ Returns list of interfaces dependent on ifaceobj """
@@ -302,7 +304,7 @@ class bond(Addon, moduleBase):
                                           ifacenames_all)
         ifaceobj.dependency_type = ifaceDependencyType.MASTER_SLAVE
         # Also save a copy for future use
-        ifaceobj.priv_data = list(slave_list)
+        ifaceobj.priv_data = list(slave_list) if slave_list else []
         if ifaceobj.link_type != ifaceLinkType.LINK_NA:
            ifaceobj.link_type = ifaceLinkType.LINK_MASTER
         ifaceobj.link_kind |= ifaceLinkKind.BOND