Skip to content

tap_user: fix DHCP lease renewal losing guest connectivity - #325

Merged
LekKit merged 1 commit into
LekKit:stagingfrom
jdieter:fix-dhcp
Oct 5, 2026
Merged

LekKit merged 1 commit into
LekKit:stagingfrom
jdieter:fix-dhcp

Conversation

@jdieter

@jdieter jdieter commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

DHCP was only handled locally when the client source address was zero and no UDP forwarding entry existed for its source port. Renewal requests use the leased address, so they fell through to ordinary UDP forwarding instead of reaching RVVM's DHCP server. Guests could acquire an address at boot but fail to renew it and lose connectivity when the lease expired.

Intercept IPv4 DHCP client traffic from port 68 to port 67 at the gateway or broadcast address before looking up UDP forwarding entries. Send replies to the client address in ciaddr when it is set, keeping broadcast replies for initial address acquisition.

DHCP was only handled locally when the client source address was zero
and no UDP forwarding entry existed for its source port. Renewal
requests use the leased address, so they fell through to ordinary UDP
forwarding instead of reaching RVVM's DHCP server. Guests could acquire
an address at boot but fail to renew it and lose connectivity when the
lease expired.

Intercept IPv4 DHCP client traffic from port 68 to port 67 at the
gateway or broadcast address before looking up UDP forwarding entries.
Send replies to the client address in ciaddr when it is set, keeping
broadcast replies for initial address acquisition.

Assisted-By: GPT-6 <noreply@openai.com>
Signed-off-by: Jonathan Dieter <jdieter@resf.org>
@LekKit
LekKit merged commit 2799ffa into LekKit:staging Oct 5, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants