[pve-devel] [PATCH ifupdown2] patch: fix bond mac address at boot.

Alexandre Derumier aderumier at odiso.com
Fri Sep 1 11:12:31 CEST 2023


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

---
 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 <alexandre.derumier at groupe-cyllene.com>
+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
-- 
2.39.2





More information about the pve-devel mailing list