networkd dhcpv4 client never attempts more than 2 renew and 2 rebind
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
| systemd |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) | Status tracked in Hirsute | |||||
| Bionic |
Medium
|
Dan Streetman | |||
| Focal |
Medium
|
Dan Streetman | |||
| Groovy |
Medium
|
Dan Streetman | |||
| Hirsute |
Medium
|
Dan Streetman |
Bug Description
[impact]
networkd dhcpv4 client never attempts more than 2 renew and 2 rebind
[test case]
configure an interface to use dhcpv4; acquire a dhcpv4 address, then stop the dhcpv4 server, and wait for the networkd client to perform its renewals and rebinds before expiring the lease
using a 20 minute lease time as an example (all times are approximate due to RFC-mandated random 'fuzz' time of -1 to +1 sec):
the current behavior would be to sent renew requests at:
10:00
13:45
and then rebind requests at:
17:30
18:45
then the lease would expire at 20:00
the correct/new behavior should be renew requests at:
10:00
13:45
15:37
16:37
and then rebind requests at:
17:30
18:45
19:45
and then lease expiration at 20:00.
longer lease times would increase the number of retransmissions.
[regression potential]
any regression would likely result in problems receiving and/or maintaining a dhcpv4 address
[scope]
this is needed in b/f/g/h.
this was fixed upstream in:
https:/
that was just added, so this is not fixed in any ubuntu release yet.
technically, this is needed in x as well, however I don't plan to backport to x since 1) it reaches ESM soon and 2) the default network management tool in x is ifupdown, not systemd-networkd.
Related branches
- Balint Reczey: Pending requested 2020-12-15
-
Diff: 675 lines (+611/-0)10 files modifieddebian/changelog (+16/-0)
debian/patches/lp1907306/0001-sd-dhcp-client-don-t-log-timeouts-if-already-expired.patch (+60/-0)
debian/patches/lp1907306/0002-sd-dhcp-client-track-dhcp4-t1-t2-expire-times.patch (+153/-0)
debian/patches/lp1907306/0003-sd-dhcp-client-add-RFC2131-retransmission-details.patch (+63/-0)
debian/patches/lp1907306/0004-sd-dhcp-client-simplify-dhcp4-t1-t2-parsing.patch (+126/-0)
debian/patches/lp1907306/0005-sd-dhcp-client-correct-dhcpv4-renew-rebind-retransmi.patch (+75/-0)
debian/patches/lp1907306/0006-sd-dhcp-client-correct-retransmission-timeout-to-mat.patch (+48/-0)
debian/patches/lp1907306/0007-test-network-increase-wait_online-timeout-to-handle-.patch (+35/-0)
debian/patches/lp1907306/0008-sd-dhcp-client-fix-renew-rebind-timeout-calculation-.patch (+27/-0)
debian/patches/series (+8/-0)
Changed in systemd (Ubuntu Bionic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Focal): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Hirsute): | |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Focal): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Groovy): | |
status: | New → In Progress |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Groovy): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Hirsute): | |
status: | New → In Progress |
Changed in systemd: | |
status: | Unknown → New |
description: | updated |
Changed in systemd: | |
status: | New → Fix Released |
Łukasz Zemczak (sil2100) wrote : | #1 |
Dan Streetman (ddstreet) wrote : | #2 |
> What is the status of this fix for hirsute?
it's merged:
https:/
https:/
but not released yet.
Hello Dan, or anyone else affected,
Accepted systemd into focal-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-
Further information regarding the verification process can be found at https:/
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.
Changed in systemd (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed verification-needed-focal |
Chris Halse Rogers (raof) wrote : | #4 |
Hello Dan, or anyone else affected,
Accepted systemd into bionic-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-
Further information regarding the verification process can be found at https:/
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.
Changed in systemd (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed-bionic |
Chris Halse Rogers (raof) wrote : | #5 |
Hello Dan, or anyone else affected,
Accepted systemd into groovy-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-
Further information regarding the verification process can be found at https:/
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.
Changed in systemd (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed-groovy |
All autopkgtests for the newly accepted systemd (245.4-4ubuntu3.4) for focal have finished running.
The following regressions have been reported in tests triggered by the package:
linux-hwe-
netplan.
apt/2.0.2ubuntu0.2 (armhf)
munin/2.
gvfs/1.
prometheus-
lxc/1:4.
indicator-
pyudev/
Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUp
https:/
[1] https:/
Thank you!
All autopkgtests for the newly accepted systemd (237-3ubuntu10.44) for bionic have finished running.
The following regressions have been reported in tests triggered by the package:
linux-azure-
munin/2.
gvfs/1.
libvirt/
apt/1.6.12ubuntu0.2 (armhf)
netplan.
linux-hwe-
openssh/
corosync/
nut/2.7.
Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUp
https:/
[1] https:/
Thank you!
All autopkgtests for the newly accepted systemd (246.6-1ubuntu1.1) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:
gvfs/1.
prometheus/
netplan.
flatpak/1.8.2-1 (arm64)
Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUp
https:/
[1] https:/
Thank you!
Dan Streetman (ddstreet) wrote : | #9 |
groovy:
root@lp1907306-g:~# dpkg -l systemd|grep systemd
ii systemd 246.6-1ubuntu1.1 amd64 system and service manager
root@lp1907306-g:~# journalctl -b -u systemd-networkd | grep 'ifindex 3'
Jan 13 18:57:26 lp1907306-g systemd-
root@lp1907306-g:~# journalctl -b -u systemd-networkd | grep 0x39b455d6
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 18:57:26 lp1907306-g systemd-
Jan 13 19:27:25 lp1907306-g systemd-
Jan 13 19:38:41 lp1907306-g systemd-
Jan 13 19:44:18 lp1907306-g systemd-
Jan 13 19:47:07 lp1907306-g systemd-
Jan 13 19:48:32 lp1907306-g systemd-
Jan 13 19:49:32 lp1907306-g systemd-
Jan 13 19:49:56 lp1907306-g systemd-
Jan 13 19:53:41 lp1907306-g systemd-
Jan 13 19:55:33 lp1907306-g systemd-
Jan 13 19:56:33 lp1907306-g systemd-
Jan 13 19:57:26 lp1907306-g systemd-
focal:
root@lp1907306-f:~# dpkg -l systemd|grep systemd
ii systemd 245.4-4ubuntu3.4 amd64 system and service manager
root@lp1907306-f:~# journalctl -b -u systemd-networkd | grep 'ifindex 3'
Jan 13 18:57:24 lp1907306-f systemd-
root@lp1907306-f:~# journalctl -b -u systemd-networkd | grep 0xf2c32973
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-
Jan 13 18:57:24 lp1907306-f systemd-net...
tags: |
added: verification-done verification-done-bionic verification-done-focal verification-done-groovy removed: verification-needed verification-needed-bionic verification-needed-focal verification-needed-groovy |
Launchpad Janitor (janitor) wrote : | #10 |
This bug was fixed in the package systemd - 246.6-1ubuntu1.1
---------------
systemd (246.6-1ubuntu1.1) groovy; urgency=medium
[ Dan Streetman ]
* d/t/boot-smoke: update test to avoid false negatives
(LP: #1892358)
https:/
* d/t/boot-
(LP: #1892358)
https:/
* d/t/systemd-fsckd: rewrite test to try to fix false negatives
(LP: #1892358)
https:/
* d/p/lp1905044-
test: use cap_last_cap() instead of capability_
(LP: #1905044)
https:/
* d/p/lp1907306/
d/p/
d/p/
d/p/
d/p/
d/p/
d/p/
d/p/
Send correct number of dhcpv4 renew and rebind requests
(LP: #1907306)
https:/
* d/p/lp1902960-
Run net_setup_link on 'change' uevents (LP: #1902960)
https:/
* d/t/root-unittests:
Remove any corrupt journal files (LP: #1881947)
https:/
[ Balint Reczey ]
* d/t/systemd-fsckd: Plymouth-start stays active in 20.10 and later
(LP: #1908067)
https:/
-- Dan Streetman <email address hidden> Wed, 06 Jan 2021 15:40:39 -0500
Changed in systemd (Ubuntu Groovy): | |
status: | Fix Committed → Fix Released |
The verification of the Stable Release Update for systemd has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.
Launchpad Janitor (janitor) wrote : | #12 |
This bug was fixed in the package systemd - 245.4-4ubuntu3.4
---------------
systemd (245.4-4ubuntu3.4) focal; urgency=medium
* d/p/lp1905245/
d/p/
d/p/
- print number of unknown capabilities instead of failing
(LP: #1905245)
https:/
* d/p/lp1890448-
Add EliteBook to use micmute hotkey (LP: #1890448)
https:/
* d/extra/
suppress output of cmp command in dhclient hook (LP: #1878955)
https:/
* d/p/lp1905044-
test: use cap_last_cap() instead of capability_
(LP: #1905044)
https:/
* d/p/lp1903300/
d/p/
d/p/
set vxlan multicast group when specified (LP: #1903300)
https:/
* d/p/lp1907306/
d/p/
d/p/
d/p/
d/p/
d/p/
d/p/
d/p/
Send correct number of dhcpv4 renew and rebind requests
(LP: #1907306)
https:/
* d/p/lp1902960-
Run net_setup_link on 'change' uevents (LP: #1902960)
https:/
* d/t/root-unittests:
Remove any corrupt journal files (LP: #1881947)
https:/
-- Dan Streetman <email address hidden> Wed, 06 Jan 2021 15:47:39 -0500
Changed in systemd (Ubuntu Focal): | |
status: | Fix Committed → Fix Released |
Launchpad Janitor (janitor) wrote : | #13 |
This bug was fixed in the package systemd - 237-3ubuntu10.44
---------------
systemd (237-3ubuntu10.44) bionic; urgency=medium
* d/extra/
suppress output of cmp command in dhclient hook (LP: #1878955)
https:/
* d/p/lp1905044/
d/p/
test: use cap_last_cap() instead of capability_
(LP: #1905044)
https:/
* d/p/lp1905245/
print number of unknown capabilities instead of failing
(LP: #1905245)
https:/
* d/p/lp1907306/
d/p/
d/p/
d/p/
d/p/
d/p/
Send correct number of dhcpv4 renew and rebind requests
(LP: #1907306)
https:/
* d/t/root-unittests:
Remove any corrupt journal files (LP: #1881947)
https:/
-- Dan Streetman <email address hidden> Wed, 06 Jan 2021 16:04:25 -0500
Changed in systemd (Ubuntu Bionic): | |
status: | Fix Committed → Fix Released |
Łukasz Zemczak (sil2100) wrote : | #14 |
Released it as I saw it was merged for hirsute - please make sure that all the approved changes are also released into hirsute whenever possible.
Changed in systemd (Ubuntu Hirsute): | |
status: | In Progress → Fix Released |
What is the status of this fix for hirsute?