https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241792
Bug ID: 241792
Summary: dhclient default route not working when given a /32
netmask
Product: Base System
Version: 12.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: [email protected]
Reporter: [email protected]
There's a certain VM where autoconfiguration via DHCP works with Linux but not
FreeBSD. I have no information on how this VM is setup apart that it's hosted
with KVM/QEMU.
The DHCP server sends a lease with a /32 netmask. This makes adding the
default route fail since it is not reachable via any interface. Linux's
dhclient-script seem to usually have a special case for that and explicitly
adds an interface route to the router's address.
FreeBSD's dhclient-script has a special case for when the router address is the
same as the leased address, but not when it's a different address that doesn't
fall in the interface's subnet.
With this change, DHCP just works on this VM:
Index: sbin/dhclient/dhclient-script
===================================================================
--- sbin/dhclient/dhclient-script (revision 354408)
+++ sbin/dhclient/dhclient-script (working copy)
@@ -173,6 +173,9 @@
if [ "$new_ip_address" = "$router" ]; then
route add default -iface $router >/dev/null
2>&1
else
+ if [ "$new_subnet_mask" = "255.255.255.255" ];
then
+ route add "$router" -iface "$interface"
>/dev/null 2>&1
+ fi
route add default $router >/dev/null 2>&1
fi
fi
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"