Change of behavior in handling of 'ip=' on kernel command line now does ipv6 dhcp
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
Xenial |
Confirmed
|
Undecided
|
Unassigned | ||
Yakkety |
Confirmed
|
Undecided
|
Unassigned | ||
Zesty |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Changes were initially made under bug 1621507 that changed the behavior of the initramfs when 'ip=' was seen on the kernel command line. The changes were done to support doing an ipv6 dhcp request in addition to the expected ipv4 dhcp request.
The result is that in all cases where 'ip=' is found on the kernel command line the initramfs will invoke 'dhclient -6'. In all cases now, the changes that have occurred are:
* initramfs now issues an ipv6 dhclient request
* if no ipv6 dhcp server is available, the system waits unnecessarily for a response.
* worst case scenario (admittedly unlikely), a system could now get a world-routable ipv6 address that previously was not exposed to the internet.
* Two dhclient processes are left running from the initramfs (one -4 and one -6). I'm not sure, but I suspect they are not functional as root has been pivoted.
The implementation has inconsistent behavior based on how quickly or if at all a dhcpv4/dhcpv6 server is found. Things that can happen:
a.) system uses only dhcpv4, timing out before dhcp6 was found or bug 1633479 causes dhclient -6 to fail.
b.) system uses only dhcpv6 address
c.) system gets no dhclient response (v4 or v6) but uses link-local address to successfully reach its mount target.
d.) the hostname provided in ip= command line not sent in the dhcp request as it would be with 'ipconfig' implementation.
The way this should have been handled in a SRU was to require users who needed rthe new ipv6 functionality to explicitly request it.
One way this could have been done would have been to extend the 'ip=' command
line function. klibc documents the previous ip= syntax at README.ipconfig [1].
<client-
My suggestion is to extend the 'autoconf' parameter. Previously the supported documented values were 'rarp', 'bootp', 'both', 'dhcp', 'all', 'off', 'static', 'none'. I suggest we add 'dhcp6' to the the list.
Additionally, I believe we should revert changes made since 0.125ubuntu3 to finding further regressions.
--
[1] https:/
Related bugs:
* bug 1629972: networking stop incorrectly disconnects from (network) root filesystem
* bug 1621507: initramfs-tools configure_
* bug 1628306: network booting fails for iscsi root if no ip is set
* bug 1631474: No networking with initramfs-tools 0.122ubuntu8.3 and ip=dhcp boot option
* bug 1633479: dhclient does not wait for ipv6 dad (duplicate address detection)
* bug 1633619: dhclient -1 exits 0 when no lease found
ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: initramfs-tools 0.125ubuntu5
ProcVersionSign
Uname: Linux 4.8.0-22-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.3-0ubuntu8
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Oct 17 11:14:00 2016
EcryptfsInUse: Yes
InstallationDate: Installed on 2015-07-23 (452 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150722.1)
PackageArchitec
SourcePackage: initramfs-tools
UpgradeStatus: No upgrade log present (probably fresh install)
description: | updated |
tags: | added: regression-update |
Changed in initramfs-tools (Ubuntu Xenial): | |
status: | New → Confirmed |
description: | updated |
description: | updated |