fix(dhcp): can not renew an ip address#1092
Conversation
|
I don't know how to set to using unicast address, but it just work |
778a06d to
7961199
Compare
|
We can't just edit vendor files; they need to exactly match upstream. If our library has a bug, we should ideally fix that or find a new library. |
Oh, I didn't realize that was vendor code. Since the upstream code has been inactive for 6 years, What do you think? Any other good ideas? |
|
@lisongmin sounds good! If it's a difficult replacement, let me know and we can consider forking. But in general, it's better to switch to a supported upstream :-). |
37c0092 to
8d7931d
Compare
89be595 to
8a624c9
Compare
|
Main changed in this PR:
|
|
It seems there is a test error, but not relative to this PR: |
40b11ca to
87db4f5
Compare
I looked into it, I will try to fix it soon. An issue has been created: #1096 |
87db4f5 to
ba43c52
Compare
|
I have rebased to the latest code, feel free to have a look at it, thanks. |
|
@lisongmin looks good! Just needs a minor rebase, then we can get this in. |
The dhcp server is systemd-networkd, and the dhcp plugin can request an ip but can not renew it. The systemd-networkd just ignore the renew request. ``` 2024/09/14 21:46:00 no DHCP packet received within 10s 2024/09/14 21:46:00 retrying in 31.529038 seconds 2024/09/14 21:46:42 no DHCP packet received within 10s 2024/09/14 21:46:42 retrying in 63.150490 seconds 2024/09/14 21:47:45 98184616c91f15419f5cacd012697f85afaa2daeb5d3233e28b0ec21589fb45a/iot/eth1: no more tries 2024/09/14 21:47:45 98184616c91f15419f5cacd012697f85afaa2daeb5d3233e28b0ec21589fb45a/iot/eth1: renewal time expired, rebinding 2024/09/14 21:47:45 Link "eth1" down. Attempting to set up 2024/09/14 21:47:45 98184616c91f15419f5cacd012697f85afaa2daeb5d3233e28b0ec21589fb45a/iot/eth1: lease rebound, expiration is 2024-09-14 22:47:45.309270751 +0800 CST m=+11730.048516519 ``` Follow the https://datatracker.ietf.org/doc/html/rfc2131#section-4.3.6, following options must not be sent in renew - Requested IP Address - Server Identifier Since the upstream code has been inactive for 6 years, we should switch to another dhcpv4 library. The new selected one is https://github.com/insomniacslk/dhcp. Signed-off-by: Songmin Li <[email protected]>
Signed-off-by: Songmin Li <[email protected]>
ba43c52 to
f6326c5
Compare
|
Great to hear that. And the rebase is done. |
The dhcp server is systemd-networkd, and the dhcp
plugin can request an ip but can not renew it.
The systemd-networkd just ignore the renew request.
Follow the https://datatracker.ietf.org/doc/html/rfc2131#section-4.3.6, following options must not be sent in renew
And renew should using unicast but not broadcast.