+ifupdown2 (3.2.0-1+pmx9) bookworm; urgency=medium
+
+ * fix #5197: do not run scripts ending with .dpkg-{old, new, tmp, dist}
+ mainly to avoid potential issues when upgrading from ifupdown to ifupdown2
+
+ * cherry-pick fix for VNI filter on single VXLAN device
+
+ -- Proxmox Support Team <support@proxmox.com> Fri, 05 Jul 2024 09:20:58 +0200
+
+ifupdown2 (3.2.0-1+pmx8) bookworm; urgency=medium
+
+ * fix #5009: avoid waiting for stdout eof of /etc/network/ scripts, just
+ like legacy ifupdown does
+
+ -- Proxmox Support Team <support@proxmox.com> Wed, 20 Dec 2023 14:15:34 +0100
+
ifupdown2 (3.2.0-1+pmx7) bookworm; urgency=medium
* fix applying some bond mode settings for non-802.3ad variants on ifup
--- /dev/null
+From 1c4ef3796e18625f8f93aa49f071e759120a72ea Mon Sep 17 00:00:00 2001
+From: Stefan Hanreich <s.hanreich@proxmox.com>
+Date: Tue, 4 Jun 2024 16:17:54 +0200
+Subject: [PATCH] main: ignore dpkg files when running hook scripts
+
+Currently ifupdown2 executes scripts that are backed up by dpkg (e.g.
+foo.dpkg-old). This can lead to issues with hook scripts getting
+executed after upgrading ifupdown2 or packages that ship hook scripts
+(e.g. ifenslave).
+
+This also brings the behavior of ifupdown2 more in line with the
+behavior of ifupdown. ifupdown used run-parts for executing the hook
+scripts, which ignores dpkg-created files (among others).
+
+Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
+---
+ ifupdown2/ifupdown/ifupdownmain.py | 4 +++-
+ ifupdown2/ifupdown/utils.py | 6 ++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/ifupdown2/ifupdown/ifupdownmain.py b/ifupdown2/ifupdown/ifupdownmain.py
+index 51f5460..e6622f0 100644
+--- a/ifupdown2/ifupdown/ifupdownmain.py
++++ b/ifupdown2/ifupdown/ifupdownmain.py
+@@ -1540,7 +1540,9 @@ class ifupdownMain:
+ try:
+ module_list = os.listdir(msubdir)
+ for module in module_list:
+- if self.modules.get(module) or module in self.overridden_ifupdown_scripts:
++ if (self.modules.get(module)
++ or module in self.overridden_ifupdown_scripts
++ or utils.is_dpkg_file(module)):
+ continue
+ self.script_ops[op].append(msubdir + '/' + module)
+ except Exception:
+diff --git a/ifupdown2/ifupdown/utils.py b/ifupdown2/ifupdown/utils.py
+index 05c7e48..3085e82 100644
+--- a/ifupdown2/ifupdown/utils.py
++++ b/ifupdown2/ifupdown/utils.py
+@@ -212,6 +212,12 @@ class utils():
+ # what we have in the cache (data retrieved via a netlink dump by
+ # nlmanager). nlmanager return all macs in lower-case
+
++ _dpkg_suffixes = (".dpkg-old", ".dpkg-dist", ".dpkg-new", ".dpkg-tmp")
++
++ @staticmethod
++ def is_dpkg_file(name):
++ return any(name.endswith(suffix) for suffix in utils._dpkg_suffixes)
++
+ @classmethod
+ def importName(cls, modulename, name):
+ """ Import a named object """
+--
+2.39.2
+
pve/0007-allow-vlan-tag-inside-vxlan-tunnel.patch
pve/0008-lacp-bond-remove-bond-min-links-0-warning.patch
pve/0009-gvgeb-fix-python-interpreter-shebang.patch
+pve/0010-main-ignore-dpkg-files-when-running-hook-scripts.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-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch
upstream/0001-scheduler-avoid-waiting-for-stdout-eof-of-etc-networ.patch
+upstream/0001-vxlan-fix-vni-filter.patch
--- /dev/null
+From 1707ffa1ceef7f8f444bdb4ad3477700d99feffb Mon Sep 17 00:00:00 2001
+From: Vincent Bernat <vincent@bernat.ch>
+Date: Mon, 4 Sep 2023 18:36:51 +0200
+Subject: [PATCH] addons: vxlan: fix VNI filter on single VXLAN device
+
+In af8d5db22b10909ff06032f1a2acc2f745d1f65b, the transformation of
+`vnis` (list) to `vnisd` (dictionary) left a reference to `vnis` which
+is now undefined. We just remove the line as the conversion from range
+to ints is done earlier in the function.
+
+Signed-off-by: Vincent Bernat <vincent@bernat.ch>
+---
+ ifupdown2/addons/vxlan.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ifupdown2/addons/vxlan.py b/ifupdown2/addons/vxlan.py
+index 084aec98..3bde50aa 100644
+--- a/ifupdown2/addons/vxlan.py
++++ b/ifupdown2/addons/vxlan.py
+@@ -1049,7 +1049,6 @@ def single_vxlan_device_vni_filter(self, ifaceobj, vxlan_mcast_grp):
+ self.logger.error("%s: %s (%s)" %(ifaceobj.name, vlan_vni_map, str(e)))
+ return
+
+- vnis_int = utils.ranges_to_ints(vnis)
+ self.iproute2.bridge_link_update_vni_filter(ifaceobj.name, vnisd)
+
+ def check_and_raise_svd_tvd_errors(self, ifaceobj):