]> git.proxmox.com Git - mirror_ifupdown2.git/blobdiff - ifupdown2/addons/bond.py
Add support for xmit-hash-policy vlan+srcmac
[mirror_ifupdown2.git] / ifupdown2 / addons / bond.py
index 075e0a89035e7f3e3fb5f0bf0029effbe035e9fd..6eb4a7f203792b008b1d873fefeeefd12e36f031 100644 (file)
@@ -65,7 +65,8 @@ class bond(Addon, moduleBase):
                     "1", "layer3+4",
                     "2", "layer2+3",
                     "3", "encap2+3",
-                    "4", "encap3+4"
+                    "4", "encap3+4",
+                    "5", "vlan+srcmac"
                 ],
                 "default": "layer2",
                 "example": ["bond-xmit-hash-policy layer2"]
@@ -142,7 +143,7 @@ class bond(Addon, moduleBase):
                 "example": [
                     "bond-slaves swp1 swp2",
                     "bond-slaves glob swp1-2",
-                    "bond-slaves regex (swp[1|2)"
+                    "bond-slaves regex (swp[1|2])"
                 ],
                 "aliases": ["bond-ports"]
             },
@@ -273,7 +274,7 @@ class bond(Addon, moduleBase):
         # calls get_dependent_ifacenames link_kind is set to BOND
         return ifaceobj.link_kind & ifaceLinkKind.BOND or self.get_bond_slaves(ifaceobj)
 
-    def get_dependent_ifacenames(self, ifaceobj, ifacenames_all=None):
+    def get_dependent_ifacenames(self, ifaceobj, ifacenames_all=None, old_ifaceobjs=False):
         """ Returns list of interfaces dependent on ifaceobj """
 
         if not self._is_bond(ifaceobj):
@@ -771,7 +772,7 @@ class bond(Addon, moduleBase):
                         "%s: invalid bond mac detected - resetting to %s's mac (%s)"
                         % (ifaceobj.name, first_slave_ifname, first_slave_mac)
                     )
-                    self.netlink.link_set_address(ifaceobj.name, first_slave_mac)
+                    self.netlink.link_set_address(ifaceobj.name, first_slave_mac, utils.mac_str_to_int(first_slave_mac))
         except Exception as e:
             self.log_error(str(e), ifaceobj)