From 6e35afed4f53fcc6c3ac01b5454687072c2468a9 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Mon, 20 Nov 2023 13:57:27 +0100 Subject: [PATCH] Fix vxlan addon trying to remove fdb entries on reload with evpn Signed-off-by: Alexandre Derumier --- debian/patches/series | 1 + ...-compare-between-remote-ips-and-old_.patch | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 debian/patches/upstream/0001-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch diff --git a/debian/patches/series b/debian/patches/series index 1ff8dd4..6676c06 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-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 index 0000000..0274279 --- /dev/null +++ b/debian/patches/upstream/0001-addons-vxlan-fix-compare-between-remote-ips-and-old_.patch @@ -0,0 +1,33 @@ +From 0a856df326649e78f5e790e01ddd843ab551e5ba Mon Sep 17 00:00:00 2001 +From: Alexandre Derumier +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 +--- + 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 + -- 2.39.5