]> git.proxmox.com Git - ifupdown2.git/commitdiff
Fix vxlan addon trying to remove fdb entries on reload with evpn
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 20 Nov 2023 12:57:27 +0000 (13:57 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 20 Nov 2023 13:33:15 +0000 (14:33 +0100)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
debian/patches/series
debian/patches/upstream/0001-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch [new file with mode: 0644]

index 1ff8dd4657bad061034040d853d2ec69f2a4820d..6676c060bd96c1457df13cc870b37a0edf15fb1b 100644 (file)
@@ -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-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch
diff --git a/debian/patches/upstream/0001-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch b/debian/patches/upstream/0001-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch
new file mode 100644 (file)
index 0000000..0274279
--- /dev/null
@@ -0,0 +1,33 @@
+From 0a856df326649e78f5e790e01ddd843ab551e5ba Mon Sep 17 00:00:00 2001
+From: Alexandre Derumier <aderumier@odiso.com>
+Date: Mon, 20 Nov 2023 12:55:11 +0100
+Subject: [PATCH] addons: vxlan: fix compare between remote-ips and
+ old_remote_ips
+
+fix regression from
+https://github.com/CumulusNetworks/ifupdown2/commit/35a4278ffb588ddd9e610f9395853ff35923c069
+
+remote-ips can be None (with evpn for example) but old_remote_ips is an empty list.
+So the condition is always matching
+
+Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
+---
+ ifupdown2/addons/vxlan.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ifupdown2/addons/vxlan.py b/ifupdown2/addons/vxlan.py
+index 084aec9..e36d40c 100644
+--- a/ifupdown2/addons/vxlan.py
++++ b/ifupdown2/addons/vxlan.py
+@@ -1244,7 +1244,7 @@ class vxlan(Vxlan, moduleBase):
+         # purge any removed remote ip
+         old_remoteips = self.get_old_remote_ips(ifaceobj.name)
+-        if vxlan_purge_remotes or remoteips or (remoteips != old_remoteips):
++        if vxlan_purge_remotes or (isinstance(remoteips,list) and remoteips != old_remoteips):
+             # figure out the diff for remotes and do the bridge fdb updates
+             # only if provisioned by user and not by an vxlan external
+             # controller.
+-- 
+2.39.2
+