oxidecomputer / oxidecomputer/opte
Unicast DHCP request packets not handled
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 77
- Forks
- 11
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 8
Description
The initial DHCP request is a broadcast packet:
22:52:49.998312 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from a8:40:25:f0:00:01, length 297
22:52:49.998394 IP 172.30.0.1.67 > 172.30.0.6.68: BOOTP/DHCP, Reply, length 304
But a renewal is a unicast packet to the current dhcp server:
22:57:19.834564 IP 172.30.0.6.68 > 172.30.0.1.67: BOOTP/DHCP, Request from a8:40:25:f0:00:01, length 291
And we are not handling those.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in lib/opte/src/engine/dhcp.rs around lines 436-441, where DHCP request handling is identified. Compare the broadcast initial request with the unicast renewal packet described in the issue, then trace the relevant packet path. Done means unicast DHCP renewal requests are handled as well as broadcast requests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100