From a1a0ee382869f52b66ab67b237138b0375183a9e Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Fri, 1 Sep 2023 11:12:31 +0200 Subject: [PATCH] patch: fix bond mac address at boot. since systemd v241, like for bridge, the bond mac is setup randomly at boot, instead inherit from first slave. Then, on next ifreload, ifupdown2 was already fixing it, but with an down/up of the bond (with potentials impact on the network). This patch have been sent upstream: https://github.com/CumulusNetworks/ifupdown2/pull/270 This patch is applying fine too for ifupdown2 for proxmox7 Signed-off-by: Thomas Lamprecht --- debian/patches/series | 1 + .../patches/upstream/0001-fix-bond-mac.patch | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 debian/patches/upstream/0001-fix-bond-mac.patch diff --git a/debian/patches/series b/debian/patches/series index 1ff8dd4..cff704f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,3 +10,4 @@ pve/0009-gvgeb-fix-python-interpreter-shebang.patch upstream/0001-add-ipv6-slaac-support-inet6-auto-accept_ra.patch upstream/0001-addons-ethtool-add-rx-vlan-filter.patch upstream/0001-scheduler-import-traceback.patch +upstream/0001-fix-bond-mac.patch \ No newline at end of file diff --git a/debian/patches/upstream/0001-fix-bond-mac.patch b/debian/patches/upstream/0001-fix-bond-mac.patch new file mode 100644 index 0000000..79688ac --- /dev/null +++ b/debian/patches/upstream/0001-fix-bond-mac.patch @@ -0,0 +1,28 @@ +From 062c3a6707b22cf7494bbf0ccb8ea6559dc334df Mon Sep 17 00:00:00 2001 +From: Alexandre Derumier +Date: Fri, 1 Sep 2023 09:43:05 +0200 +Subject: [PATCH] bond: fix mac-address on create with first slave mac + +since systemd v241, bond (like bridge), are create with a random mac +instead their first slave. + +We already fixing it for bond on reload, but not at create + +Than mean that on first reload, we'll always ifdown/ifup interface and change mac. +--- + ifupdown2/addons/bond.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ifupdown2/addons/bond.py b/ifupdown2/addons/bond.py +index 74d2cab5..5e77e1b0 100644 +--- a/ifupdown2/addons/bond.py ++++ b/ifupdown2/addons/bond.py +@@ -884,7 +884,7 @@ def _up(self, ifaceobj, ifaceobj_getfunc=None): + ifaceobj_getfunc, + ) + +- if not self.bond_mac_mgmt or not link_exists or ifaceobj.get_attr_value_first("hwaddress"): ++ if not self.bond_mac_mgmt or ifaceobj.get_attr_value_first("hwaddress"): + return + + # check if the bond mac address is correctly inherited from it's