From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 8A8461FF0AB for ; Wed, 21 Oct 2026 09:18:03 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 85B11214E4; Wed, 21 Oct 2026 09:18:01 +0200 (CEST) Message-ID: Date: Wed, 21 Oct 2026 09:17:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH pve-manager v3 16/17] sdn: bring up the DHCP backends at boot before the guests start To: Stefan Hanreich , pve-devel@lists.proxmox.com References: <20261020080005.470757-1-h.laimer@proxmox.com> <20261020080005.470757-17-h.laimer@proxmox.com> From: Hannes Laimer Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792567077469 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.389 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: GIUFTXIX63K5INUCSU3TN52Q7EPCJFML X-Message-ID-Hash: GIUFTXIX63K5INUCSU3TN52Q7EPCJFML X-MailFrom: h.laimer@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 2026-10-20 15:22, Stefan Hanreich wrote: > On 10/20/26 10:03 AM, Hannes Laimer wrote: >> The eBPF DHCP responder keeps its programs and maps pinned in bpffs, >> so they are gone after a reboot. The SDN commit helper now brings the >> DHCP backends back up on every boot, not only when it has changes to >> commit. >> >> The helper runs before the node and HA start the guests at boot. >> Otherwise the first guest interface plug loads the responder with a >> full pass, which holds the responder's lock exclusively. A guest >> starting meanwhile waits for that lock. One that waits too long comes >> up without the responder on its interface. >> >> Signed-off-by: Hannes Laimer >> --- >> bin/pve-sdn-commit | 3 +++ >> services/pve-sdn-commit.service | 1 + >> 2 files changed, 4 insertions(+) >> >> diff --git a/bin/pve-sdn-commit b/bin/pve-sdn-commit >> index aa7e9b29..ed2d6935 100644 >> --- a/bin/pve-sdn-commit >> +++ b/bin/pve-sdn-commit >> @@ -96,6 +96,9 @@ sub sdn_changed { >> return fabrics_changed(); >> } >> >> +# the dhcp backends bring back what a reboot took, pending changes or not >> +PVE::Network::SDN::Dhcp::boot(); > > Add some form of log message here. I've tested this and it worked but I'd > like at least some form of confirmation that this ran successfully? > reasonable :) will add in v4 >> + >> if (!sdn_changed()) { >> print "No changes to SDN configuration detected, skipping reload\n"; >> exit 0; >> diff --git a/services/pve-sdn-commit.service b/services/pve-sdn-commit.service >> index ff723725..825926be 100644 >> --- a/services/pve-sdn-commit.service >> +++ b/services/pve-sdn-commit.service >> @@ -3,6 +3,7 @@ Description=Commit Proxmox VE SDN changes >> DefaultDependencies=no >> Wants=pve-cluster.service network.target >> After=frr.service network.target corosync.service >> +Before=pve-guests.service pve-ha-lrm.service >> >> [Service] >> ExecStart=/usr/share/pve-manager/helpers/pve-sdn-commit > > > > >