odd issue with defining a vendor code (3.0.3 and 3.0.4)

Glenn Satchell Glenn.Satchell at uniq.com.au
Thu May 11 18:44:17 UTC 2006


>Date: Fri, 12 May 2006 04:18:09 +1000 (EST)
>From: Glenn Satchell <Glenn.Satchell at uniq.com.au>
>Subject: Re: odd issue with defining a vendor code (3.0.3 and 3.0.4)
>To: dhcp-users at isc.org
>
>>Date: Thu, 11 May 2006 11:38:33 -0400
>>From: <amy.rich at tufts.edu>
>>To: dhcp-users at isc.org
>>Subject: odd issue with defining a vendor code (3.0.3 and 3.0.4)
>>
>>Greetings, I've been trying to get ISC dhcpd to work with Solaris 9
>>jumpstart.  Following various documents, I've come up with a mostly workable
>>dhcpd.conf file, but I'm having an odd issue with one of the codes.
>>
>>Here's are the important bits from the file:
>>
>># Jumpstart Support
>>option space SUNW;
>>option SUNW.root-mount-options code 1 = text;
>>option SUNW.root-server-ip-address code 2 = ip-address;
>>option SUNW.root-server-hostname code 3 = text;
>>option SUNW.root-path-name code 4 = text;
>>option SUNW.swap-server-ip-address code 5 = ip-address;
>>option SUNW.swap-file-path code 6 = text;
>>option SUNW.boot-file-path code 7 = text;
>>option SUNW.posix-timezone-string code 8 = text;
>>option SUNW.boot-read-size code 9 = unsigned integer 16;
>>option SUNW.install-server-ip-address code 10 = ip-address;
>>option SUNW.install-server-hostname code 11 = text;
>>option SUNW.install-path code 12 = text;
>>option SUNW.sysid-config-file-server code 13 = text;
>>option SUNW.jumpstart-server code 14 = text;
>>option SUNW.terminal-name code 15 = text;
>>option SUNW.boot-uri code 16 = text;
>>option SUNW.http-proxy code 17 = text;
>>
>>
>>group {
>>  filename "inetboot.SUN4U.Solaris_9-1";
>>  vendor-option-space SUNW;
>>  option SUNW.sysid-config-file-server 
>"192.168.1.252:/inst/jumpstart/sysidcfg/SunOS-5.9";
>>  option SUNW.install-path "/inst/cdrom/SunOS-5.9-sparc";
>>  option SUNW.root-path-name 
>"/inst/cdrom/SunOS-5.9-sparc/Solaris_9/Tools/Boot";
>>  option SUNW.root-mount-options "rsize=32768";
>>  option SUNW.install-server-hostname "jsserver.my.sub.domain";
>>  option SUNW.install-server-ip-address 192.168.1.252;
>>  option SUNW.root-server-hostname "jsserver.my.sub.domain";
>>  option SUNW.jumpstart-server "192.168.1.252:/inst/jumpstart";
>>  option SUNW.root-server-ip-address 192.168.1.252;
>>  option SUNW.terminal-name "vt100";
>>  next-server 192.168.1.252;
>>
>>
>>  # solaris 9 sparc hosts
>>  host client {
>>    hardware ethernet xx:xx:xx:xx:xx:xx;
>>    fixed-address 192.168.1.99;
>>    option host-name "client.other.sub.domain";
>>  }
>>}
>>
>>And from /etc/dhcp/inittab on the jumpstart/dhcp server:
>>
>>#
>># SunOS vendor space -- see Solaris System Administrator Collection,
>># Sys Admin Guide, Vol 3, "Creating DHCP Options and Macros for
>># Solaris Install Parameters" for more information on these options.
>>#
>>
>>SrootOpt        VENDOR,         1,      ASCII,     1,   0,      smi
>>SrootIP4        VENDOR,         2,      IP,        1,   1,      smi
>>SrootNM         VENDOR,         3,      ASCII,     1,   0,      smi
>>SrootPTH        VENDOR,         4,      ASCII,     1,   0,      smi
>>SswapIP4        VENDOR,         5,      IP,        1,   1,      smi
>>SswapPTH        VENDOR,         6,      ASCII,     1,   0,      smi
>>SbootFIL        VENDOR,         7,      ASCII,     1,   0,      smi
>>Stz             VENDOR,         8,      ASCII,     1,   0,      smi
>>SbootRS         VENDOR,         9,      UNUMBER16, 1,   1,      smi
>>SinstIP4        VENDOR,         10,     IP,        1,   1,      smi
>>SinstNM         VENDOR,         11,     ASCII,     1,   0,      smi
>>SinstPTH        VENDOR,         12,     ASCII,     1,   0,      smi
>>SsysidCF        VENDOR,         13,     ASCII,     1,   0,      smi
>>SjumpsCF        VENDOR,         14,     ASCII,     1,   0,      smi
>>Sterm           VENDOR,         15,     ASCII,     1,   0,      smi
>>SbootURI        VENDOR,         16,     ASCII,     1,   0,      smi
>>SHTTPproxy      VENDOR,         17,     ASCII,     1,   0,      smi
>>
>>
>>The problem is with code 14.  For some reason, when I put a : in the text
>>string, it ignores the value.  I'm not certain if this is the fault of the
>>server (I've tried both 3.0.3 and 3.0.4) or the Sun's dhcp client.  The text
>>for code 13 seems to like the colon just fine, though, so this issue is very
>>weird, indeed.
>>
>>Here's the dhcpinfo output from the client (after dhcp booting it into single
>>users mode from the network):
>>
>>for i in SrootOpt SrootIP4 SrootNM SbootFIL SrootPTH SbootRS SinstIP4 SinstNM
>>SinstPTH SsysidCF SjumpsCF SbootURI SHTTPproxy; do
>>> echo $i; /sbin/dhcpinfo $i
>>> done
>>SrootOpt
>>rsize=32768
>>SrootIP4
>>192.168.1.252
>>SrootNM
>>jsserver.my.sub.domain
>>SbootFIL
>>SrootPTH
>>/inst/cdrom/SunOS-5.9-sparc/Solaris_9/Tools/Boot
>>SbootRS
>>SinstIP4
>>192.168.1.252
>>SinstNM
>>jsserver.my.sub.domain
>>SinstPTH
>>/inst/cdrom/SunOS-5.9-sparc
>>SsysidCF
>>192.168.1.252:/inst/jumpstart/sysidcfg/SunOS-5.9
>>SjumpsCF
>>
>>
>>Is anyone else experiencing this issue (and/or can reproduce it)?  Is there
>>further debugging I can turn on on the server to determine if it's failing
>>there (-d isn't very useful in printing out what options it's passing the
>>client)?
>>
>>Thanks..
>>
>Hmm, looks ok. I wonder of you might be running out of option space in
>the dhcp packets? You could test this by commenting out one or two of
>the options, booting the client in single user mode again and seeing if
>option 14 is set.
>
>The simplest way is to look at the traffic on the wire using something
>like:
>
>  snoop -v port 67 or port 68
>
>This will decode the options in the packet for you. Or you can save the
>snoop to a file (snoop -o file) and then load this file into ethereal
>to view/analyse it.
>
>regards,
>-glenn

I found this message in the archives, essentially the Sun dhcp client
has an internal limit of 255 chars, so reducing path lengths (perhaps
using symlinks) will help:

> Date: Thu, 13 Mar 2003 12:30:41 +0100
> From: Ole Morten Øian <omoian at genuity.no>
> To: dhcp-server at isc.org
> Subject: Re: Solaris dhcp jumpstart problem
> 
> Hello,
> 
> My problem was that the Sun jumpstart dhcp client don't understand
> vendor options when their combind length is more that 255.  Notice the
> + sign just before "vers=2", the next byte is 255, stating that more
> that 255 bytes follow. The next plus sign says that another 0x24 = 26 =
> chr($) bytes follow.  Reducing path lenth fixed my problem.
> 
> When snooping for dhcp packets I get the following reply from the dhcp
> server:
> medusa # snoop -i /tmp/skullerud.snoop -p 2 -x 0
>    2   0.00000 gaustad.asp.infostream.no -> jc6-4.i.no2.asap-asp.net 
DHCP/BOOTP 
> DHCPOFFER
> ...
> 544: 670e 3031 3935 2e32 3235 2e32 2e31 3636    g.0195.225.2.166
> 560: 3a2f 696e 7374 2b24 616c 6c2f 7370 6172    :/inst+$all/spar
> 576: 632f 5375 6e4f 532f 352e 392f 6a75 6d70    c/SunOS/5.9/jump
> 592: 7374 6172 740f 0576 7431 3030 ff           start..vt100.
> 
> regards,
> Ole Morten Øian

regards,
-glenn



More information about the dhcp-users mailing list