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
  

Reply via email to