Verification done on jammy (full steps on comment #12) $ lxc shell jammy-dhcpd
# add-apt-repository -yp proposed # apt policy isc-dhcp-client isc-dhcp-client: Installed: 4.4.1-2.3ubuntu2.3 Candidate: 4.4.1-2.3ubuntu2.4 Version table: 4.4.1-2.3ubuntu2.4 500 500 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 Packages ... # apt download isc-dhcp-client # python3 -m http.server ... $ lxc shell jammy-dhclient # wget 10.11.12.13:8000/isc-dhcp-client_4.4.1-2.3ubuntu2.4_amd64.deb # dpkg -i isc-dhcp-client_4.4.1-2.3ubuntu2.4_amd64.deb # lsinitramfs /boot/initrd.img-$(uname -r) | grep dhclient-exit-hooks.d # # update-initramfs -u # lsinitramfs /boot/initrd.img-$(uname -r) | grep dhclient-exit-hooks.d etc/dhcp/dhclient-exit-hooks.d etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes # cat <<EOF >/etc/default/grub.d/99-grub-initrd.cfg GRUB_FORCE_PARTUUID= GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT console=ttyS0 ip=dhcp break=init" EOF # update-grub && poweroff $ lxc start --console jammy-dhclient ... (initramfs) ip addr ... 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000 link/ether 00:16:3e:f4:45:97 brd ff:ff:ff:ff:ff:ff inet 10.11.12.102/24 brd 10.11.12.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fef4:4597/64 scope link valid_lft forever preferred_lft forever (initramfs) ip route default via 10.11.12.13 dev eth0 1.0.0.0/8 via 10.11.12.208 dev eth0 2.1.0.0/16 via 10.11.12.216 dev eth0 3.2.1.0/24 via 10.11.12.224 dev eth0 4.3.2.1 via 10.11.12.232 dev eth0 10.11.12.0/24 dev eth0 scope link src 10.11.12.102 (initramfs) exit -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to isc-dhcp in Ubuntu. 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 Committed Status in isc-dhcp source package in Jammy: Fix Committed 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp