On Fri, 26-Mar-1999 @ 12:54, Ted Lemon wrote:
> Subject: Re: dhclient not working (FreeBSD+Videotron Cable Modem)
> *** From dhcp-client -- To unsubscribe, see the end of this message. ***
>
> Can you grab a copy of patchlevel 19 and see if the client works any
> better? I've incorporated some fixes that John Nemeth say are needed
> to make it work with some cable modem DHCP servers.
Hi,
Other than the dhclient-script changes I've hacked for Solaris (which I
still consider too unsanitized for public consumption, but I'll append
'em here as-is) I've had success with dhclient and RoadRunner broadband
cablemodem service in Hawaii since Eric Negaard submitted DLPI patches
for Solaris last year.
Comments about the dhclient-script diffs (just commented-out lines):
+ There's no "-n" option for `arp' thru Solaris 2.6.
+ The `route add default' entries can conflict with the logic that
/etc/init.d/inetinit uses to determine whether or not to launch
in.routed which I run here in conjunction with /etc/gateways and
virtual interfaces to cope with my obscure network topology.
+ I ignore nameservers that the dhcp server provides and don't
modify /etc/resolv.conf.
Ideally, dhclient-script would be conditionalized to handle those
exceptions, but being lazy/busy I've commented-out the lines that
interfere with my configuration. Regardless, the "arp -n ..."
entries are broken -- that's a genuine bug. :-)
Use this information as wish. Thanx!
-sjk
--
Scott J. Kramer LUX Consulting Services
UNIX/Network Systems Consultant P.O. Box 1487
<[EMAIL PROTECTED]> Kailua, HI 96734
PGP Key fingerprint = BB 84 51 87 41 9C E0 46 B4 54 EA 11 A5 18 34 71
*** dhclient-script.isc Sat Mar 6 19:29:13 1999
--- dhclient-script Wed Mar 24 13:09:35 1999
***************
*** 64,70 ****
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
fi
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
[ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
--- 64,70 ----
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! ### arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
fi
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
[ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
***************
*** 72,78 ****
$new_broadcast_arg $medium
route add $new_ip_address 127.1 1 >/dev/null 2>&1
for router in $new_routers; do
! route add default $router 1 >/dev/null 2>&1
done
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
--- 72,79 ----
$new_broadcast_arg $medium
route add $new_ip_address 127.1 1 >/dev/null 2>&1
for router in $new_routers; do
! ### route add default $router 1 >/dev/null 2>&1
! :
done
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
***************
*** 80,89 ****
$ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
route add $alias_ip_address 127.0.0.1 1
fi
! echo search $new_domain_name >/etc/resolv.conf
! for nameserver in $new_domain_name_servers; do
! echo nameserver $nameserver >>/etc/resolv.conf
! done
exit 0
fi
--- 81,90 ----
$ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
route add $alias_ip_address 127.0.0.1 1
fi
! ### echo search $new_domain_name >/etc/resolv.conf
! ### for nameserver in $new_domain_name_servers; do
! ### echo nameserver $nameserver >>/etc/resolv.conf
! ### done
exit 0
fi
***************
*** 98,105 ****
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
! |sh >/dev/null 2>&1
fi
if [ x$alias_ip_address != x ]; then
$ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
--- 99,106 ----
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! ### arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
! ### |sh >/dev/null 2>&1
fi
if [ x$alias_ip_address != x ]; then
$ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
***************
*** 127,148 ****
for router in $new_routers; do
route add default $router 1 >/dev/null 2>&1
done
! echo search $new_domain_name >/etc/resolv.conf.std
! for nameserver in $new_domain_name_servers; do
! echo nameserver $nameserver >>/etc/resolv.conf.std
! done
! if [ -f /etc/resolv.conf ]; then
! rm -f /etc/resolv.conf
! ln /etc/resolv.conf.std /etc/resolv.conf
! fi
exit 0
fi
$ifconfig $interface inet 0 down
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
! |sh >/dev/null 2>&1
exit 1
fi
--- 128,149 ----
for router in $new_routers; do
route add default $router 1 >/dev/null 2>&1
done
! ### echo search $new_domain_name >/etc/resolv.conf.std
! ### for nameserver in $new_domain_name_servers; do
! ### echo nameserver $nameserver >>/etc/resolv.conf.std
! ### done
! ### if [ -f /etc/resolv.conf ]; then
! ### rm -f /etc/resolv.conf
! ### ln /etc/resolv.conf.std /etc/resolv.conf
! ### fi
exit 0
fi
$ifconfig $interface inet 0 down
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
! ### arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
! ### |sh >/dev/null 2>&1
exit 1
fi