dhcp option 121 & 249
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
subiquity |
New
|
Undecided
|
Unassigned | ||
isc-dhcp (Ubuntu) |
Fix Released
|
High
|
Steve Langasek | ||
Focal |
Fix Released
|
Medium
|
Mauricio Faria de Oliveira | ||
Jammy |
Fix Released
|
Medium
|
Steve Langasek |
Bug Description
[Impact]
* DHCP classless static routes aren't applied
by dhclient at the initramfs (e.g., ip=dhcp).
* This happens as rfc3442-
not copied to /etc/dhcp/
in the initramfs.
* On Jammy, if such DHCP option(s) are present
in the DHCP server response, the DHCP client
ignores the 'routers' option from the server,
thus leaving no routes configured.
* On Focal, the older code still adds 'routers',
which is slightly better, but still does not
add the classless static routes.
[Test Plan]
* Use LXD container/VMs for DHCP server/client,
configure the DHCP server with option 121,
and some sample classless static routes.
(see comments #12/jammy and #13/focal).
[Regression Potential]
* Acquisition of DHCP leases/routes at initramfs
with ip=dhcp.
* The code/script is not new, and is exercised
normally during on rootfs (ie, post-initramfs)
when dhclient is run.
* It's also been in the initramfs in Kinetic
already, since on Aug 2022; giving it tests.
[Original Description]
Hello,
I'm running into issues with subiquity on a cloud provider. The cloud provider is using an on-link L3 gateway.
His DHCP response looks like this:
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 54 ( 4) Server identifier 172.31.1.1
OPTION: 51 ( 4) IP address leasetime 86400 (24h)
OPTION: 1 ( 4) Subnet mask 255.255.255.255
OPTION: 3 ( 4) Routers 172.31.1.1
OPTION: 6 ( 12) DNS server ....
OPTION: 121 ( 14) Classless Static Route 20ac1f0101000000 .......
OPTION: 249 ( 14) MSFT - Classless route 20ac1f0101000000 .......
Im booting the subiquity process with an patched ipxe (https:/
#!ipxe
kernel .../vmlinuz initrd=initrd root=/dev/ram0 ramdisk_
initrd .../initrd
boot
initrd/vmlinuz is extracted right out of focal-live-
Sadly subiquity is stuck with a broken network (because of missing dhcp option 121/249 support). It happens when its running the /init from the kernel right after kernel is booted, i guess even before the subiquity is started(?).
After further debugging, it looks like the provided kernel 5.4.80 #90 Ubuntu, is using busybox 1.30.1-4ubuntu~6.3 which includes isc-dhclient-4.4.1 which is lacking the given options.
Would be awesome if this could be fixed.. maybe just a simple busybox compile option?
tags: | added: rls-kk-incoming |
tags: | added: fr-2416 |
Changed in busybox (Ubuntu): | |
importance: | Undecided → High |
Changed in busybox (Ubuntu Jammy): | |
importance: | Undecided → High |
status: | New → Confirmed |
milestone: | none → ubuntu-22.04.1 |
tags: | removed: rls-kk-incoming |
affects: | busybox (Ubuntu Jammy) → isc-dhcp (Ubuntu Jammy) |
tags: | added: foundations-todo |
Changed in isc-dhcp (Ubuntu Jammy): | |
milestone: | ubuntu-22.04.1 → none |
tags: | removed: fr-2416 |
tags: | removed: foundations-todo |
Status changed to 'Confirmed' because the bug affects multiple users.