all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Hannes Laimer <h.laimer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve-network 3/6] sdn: controller: prevent invalid router-id generation from zero mac
Date: Thu, 22 Jan 2026 14:51:48 +0100	[thread overview]
Message-ID: <20260122135151.292794-4-h.laimer@proxmox.com> (raw)
In-Reply-To: <20260122135151.292794-1-h.laimer@proxmox.com>

When a standard loopback interface is used, the retrieved MAC is
typically 00:00:00:00:00:00. This causes the router-id generation logic
to produce "0.0.0.0", which is an invalid BGP ID.

Explicitly check for a zero MAC address and fail with a descriptive
error.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
 src/PVE/Network/SDN/Controllers/Plugin.pm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/PVE/Network/SDN/Controllers/Plugin.pm b/src/PVE/Network/SDN/Controllers/Plugin.pm
index cab036a..45e2f46 100644
--- a/src/PVE/Network/SDN/Controllers/Plugin.pm
+++ b/src/PVE/Network/SDN/Controllers/Plugin.pm
@@ -120,6 +120,11 @@ sub get_router_id {
 
     die "can't autofind a router-id value from ip or mac" if !$mac;
 
+    if ($mac eq '00:00:00:00:00:00') {
+        die "Interface $iface has a zero MAC address. Cannot derive a BGP router-id. "
+            . "Please use a dummy interface or assign an IPv4 address to $iface.\n";
+    }
+
     my @mac_bytes = split(':', $mac);
     return
         hex($mac_bytes[2]) . "."
-- 
2.47.3



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2026-01-22 13:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-22 13:51 [pve-devel] [PATCH network 0/6] add EVPN IPv6 underlay support Hannes Laimer
2026-01-22 13:51 ` [pve-devel] [PATCH pve-network 1/6] sdn: evpn: prepare " Hannes Laimer
2026-01-22 13:51 ` [pve-devel] [PATCH pve-network 2/6] sdn: controller: fallback to interface mac if no master Hannes Laimer
2026-01-22 13:51 ` Hannes Laimer [this message]
2026-01-22 13:51 ` [pve-devel] [PATCH pve-network 4/6] sdn: evpn: keep router-id valid on IPv6 underlay Hannes Laimer
2026-01-22 13:51 ` [pve-devel] [PATCH pve-network 5/6] sdn: vxlan: sort peer IPs when generating sdn config Hannes Laimer
2026-01-22 13:51 ` [pve-devel] [PATCH pve-network 6/6] sdn: evpn: add tests covering ipv6 underlays Hannes Laimer
2026-05-15 11:08 ` superseded: [pve-devel] [PATCH network 0/6] add EVPN IPv6 underlay support Hannes Laimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260122135151.292794-4-h.laimer@proxmox.com \
    --to=h.laimer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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