[Bug 1937110] Re: dhcp option 121 & 249
Launchpad Bug Tracker
1937110 at bugs.launchpad.net
Mon Feb 27 17:11:30 UTC 2023
This bug was fixed in the package isc-dhcp - 4.4.1-2.3ubuntu2.4
---------------
isc-dhcp (4.4.1-2.3ubuntu2.4) jammy; urgency=medium
[ Mauricio Faria de Oliveira ]
* Prevent race condition that might ignore DHCP OFFERs/ACKs
when dhclient receives DHCP traffic noise. (LP: #1926139)
The previous/racy behavior can be switched back on with
the 'DHCP_FD_FLAGS_POKE=0' environment variable or
the 'dhcp.fd_flags_poke=0' kernel cmdline option.
- d/p/lp1926139-watch-socket-fd-later.patch: fix, switches.
- d/apparmor/sbin.dhclient,usr.sbin.dhcpd: /proc/cmdline r.
[ Steve Langasek ]
* Include /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes
in the initramfs. (LP: #1937110)
- d/initramfs-tools/share/hooks/zz-dhclient: copy_exec it.
-- Mauricio Faria de Oliveira <mfo at canonical.com> Tue, 31 Jan 2023
18:54:40 -0300
** Changed in: isc-dhcp (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
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:
Fix Released
Status in isc-dhcp source package in Jammy:
Fix Released
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