all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH ifupdown2] d/patches: don't fail vxlan syntax check on missing local tunnelip
@ 2026-09-14 11:49 Gabriel Goller
  0 siblings, 0 replies; only message in thread
From: Gabriel Goller @ 2026-09-14 11:49 UTC (permalink / raw)
  To: pve-devel

Don't fail the syntax check when no vxlan-local-tunnelip is configured.
This is fine, the local tunnelip can be retrieved from somewhere else.
Check the patch description for more info.

We don't usually run `ifreload -s`, so the syntax check won't be run on
a normal apply.

Motivation: https://lore.proxmox.com/pve-devel/aqEkLo5GMnrhZoJF@luna.proxmox.com/

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
---
 ...-t-fail-syntax-check-on-missing-vxla.patch | 39 +++++++++++++++++++
 debian/patches/series                         |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 debian/patches/pve/0016-addons-vxlan-don-t-fail-syntax-check-on-missing-vxla.patch

diff --git a/debian/patches/pve/0016-addons-vxlan-don-t-fail-syntax-check-on-missing-vxla.patch b/debian/patches/pve/0016-addons-vxlan-don-t-fail-syntax-check-on-missing-vxla.patch
new file mode 100644
index 000000000000..9fab80d662bb
--- /dev/null
+++ b/debian/patches/pve/0016-addons-vxlan-don-t-fail-syntax-check-on-missing-vxla.patch
@@ -0,0 +1,39 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Gabriel Goller <g.goller@proxmox.com>
+Date: Sun, 14 Sep 2026 12:00:00 +0200
+Subject: [PATCH] addons: vxlan: don't fail syntax check on missing
+ vxlan-local-tunnelip
+
+vxlan-local-tunnelip is declared optional, both in the module's attribute
+description and in the generated man page. Without it the kernel picks
+the source address from the route to the remote endpoint, which is what
+we want for setups that use vxlan-physdev or a multicast group. The
+check is a Cumulus-ism that assumes every vxlan is anchored on a loopback
+address.
+
+The warning also made this whole check return False, so `ifup --syntax-check`
+failed for a perfectly valid configuration.
+
+The early return also skipped check_and_raise_svd_tvd_errors(), so a real
+single-vxlan/traditional-vxlan mixing error was suppressed until the interface
+was actually brought up. Removing the block restores that check for devices
+without a local tunnel ip.
+
+Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
+---
+ ifupdown2/addons/vxlan.py |    4 ----
+ 1 file changed, 4 deletions(-)
+
+--- a/ifupdown2/addons/vxlan.py
++++ b/ifupdown2/addons/vxlan.py
+@@ -191,10 +191,6 @@
+ 
+     def syntax_check(self, ifaceobj, ifaceobj_getfunc):
+         if self._is_vxlan_device(ifaceobj):
+-            if not ifaceobj.get_attr_value_first('vxlan-local-tunnelip') and not self._vxlan_local_tunnelip:
+-                self.logger.warning('%s: missing vxlan-local-tunnelip' % ifaceobj.name)
+-                return False
+-
+             self.check_and_raise_svd_tvd_errors(ifaceobj)
+ 
+             return self.syntax_check_localip_anycastip_equal(
diff --git a/debian/patches/series b/debian/patches/series
index 2865533271c9..0eec1531762a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,4 @@ upstream/0001-use-raw-strings-for-regex-to-fix-backslash-interpret.patch
 upstream/0002-vxlan-add-support-for-IPv6-vxlan-local-tunnelip.patch
 pve/0014-nlmanager-read-ipv6-devconf-disable_ipv6-attribute-t.patch
 pve/0015-revert-addons-bond-warn-if-sub-interface-is-detected-on-bond-slave.patch
+pve/0016-addons-vxlan-don-t-fail-syntax-check-on-missing-vxla.patch
-- 
2.47.3





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-14 11:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 11:49 [PATCH ifupdown2] d/patches: don't fail vxlan syntax check on missing local tunnelip Gabriel Goller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal