[Bug 1937110] Re: dhcp option 121 & 249
Mauricio Faria de Oliveira
1937110 at bugs.launchpad.net
Wed Feb 1 04:36:48 UTC 2023
Uploaded to Jammy/Focal.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1937110
Title:
dhcp option 121 & 249
Status in subiquity:
New
Status in isc-dhcp package in Ubuntu:
Fix Released
Status in isc-dhcp source package in Focal:
In Progress
Status in isc-dhcp source package in Jammy:
In Progress
Bug description:
[Impact]
* DHCP classless static routes aren't applied
by dhclient at the initramfs (e.g., ip=dhcp).
* This happens as rfc3442-classless-routes is
not copied to /etc/dhcp/dhclient-exit-hooks.d/
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 .......
0000ac1f0101 ......
OPTION: 249 ( 14) MSFT - Classless route 20ac1f0101000000 .......
0000ac1f0101 ......
Im booting the subiquity process with an patched ipxe
(https://github.com/ipxe/ipxe/pull/104) like this:
#!ipxe
kernel .../vmlinuz initrd=initrd root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=https://cdimage.ubuntu.com/ubuntu-server/focal/daily-live/current/focal-live-server-amd64.iso autoinstall ds=nocloud-net;s=.../...-ad-78/ cloud-config-url=/dev/null
initrd .../initrd
boot
initrd/vmlinuz is extracted right out of focal-live-server-amd64.iso
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?
To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/1937110/+subscriptions
More information about the foundations-bugs
mailing list