The Ubuntu Jammy installer initrd is missing the /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes hook for dhclient. The /sbin/dhclient-script included in the initrd assumes the hook is present and if the "rfc3442_classless_static_routes" DHCP is sent by the DHCP server it ignores the the "routers" DHCP option and defers to the rfc3442 hook to setup the routing ...except that hook is missing so ultimately no routing is configured if the rfc3442 option 121 ("classless-static-routes" w/ ISC dhcpd) exists in the DHCP response. This means networking doesn't function and we cannot install Ubuntu.
My colleague tested modifying the initrd by adding the /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes file and reports that works.
--Matt
# from the initrd rescue shell
(initramfs) ls /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes
ls: cannot access /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes: No such file or directory
# showing that the "routers" option is ignored if rfc3442 info is sent
(initramfs) grep -C1 classless /sbin/dhclient-script
# if we have $new_rfc3442_classless_static_routes then we have to
# ignore $new_routers entirely
if [ ! "$new_rfc3442_classless_static_routes" ]; then # set if_metric if IF_METRIC is set or there's more than one router
--
if [ -z "$new_routers" ] || ping -q -c 1 "${new_routers%% *}"; then
# if we have $new_rfc3442_classless_static_routes then we have to
# ignore $new_routers entirely
if [ ! "$new_rfc3442_classless_static_routes" ]; then if [ -n "$alias_ip_address" ] &&
The Ubuntu Jammy installer initrd is missing the /etc/dhcp/ dhclient- exit-hooks. d/rfc3442- classless- routes hook for dhclient. The /sbin/dhclient- script included in the initrd assumes the hook is present and if the "rfc3442_ classless_ static_ routes" DHCP is sent by the DHCP server it ignores the the "routers" DHCP option and defers to the rfc3442 hook to setup the routing ...except that hook is missing so ultimately no routing is configured if the rfc3442 option 121 ("classless- static- routes" w/ ISC dhcpd) exists in the DHCP response. This means networking doesn't function and we cannot install Ubuntu.
My colleague tested modifying the initrd by adding the /etc/dhcp/ dhclient- exit-hooks. d/rfc3442- classless- routes file and reports that works.
--Matt
# from the initrd rescue shell dhclient- exit-hooks. d/rfc3442- classless- routes dhclient- exit-hooks. d/rfc3442- classless- routes: No such file or directory
(initramfs) ls /etc/dhcp/
ls: cannot access /etc/dhcp/
# showing that the "routers" option is ignored if rfc3442 info is sent script
(initramfs) grep -C1 classless /sbin/dhclient-
# if we have $new_rfc3442_ classless_ static_ routes then we have to classless_ static_ routes" ]; then
# set if_metric if IF_METRIC is set or there's more than one router classless_ static_ routes then we have to classless_ static_ routes" ]; then
if [ -n "$alias_ip_address" ] &&
# ignore $new_routers entirely
if [ ! "$new_rfc3442_
--
if [ -z "$new_routers" ] || ping -q -c 1 "${new_routers%% *}"; then
# if we have $new_rfc3442_
# ignore $new_routers entirely
if [ ! "$new_rfc3442_