Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 May 2012 12:32:50 +0300
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        pacija@gmail.com
Cc:        freebsd-hackers@freebsd.org, Rick Macklem <rmacklem@uoguelph.ca>
Subject:   Re: pxe + nfs + microsoft dhcp
Message-ID:  <E1SZInK-0004RG-IF@kabab.cs.huji.ac.il>
In-Reply-To: <1338282484.1278.6.camel@vault.mimar.rs>
References:  <1559609187.982427.1338244921382.JavaMail.root@erie.cs.uoguelph.ca> <E1SZGH7-000Pza-3o@kabab.cs.huji.ac.il> <1338282484.1278.6.camel@vault.mimar.rs>

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> --=-etjkwQYOTmf8U9KY0eW8
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: 7bit
> 
> > > pacija wrote:
> > > 
> > > ----- Original Message -----
> > > > Dear list readers,
> > > > 
> > > > I am having a problem with pxe loader on FreeBSD 9.0 i386 release. No
> > > > matter what value I put for DHCP option 017 (Root Path) in Microsoft
> > > > DHCP server, pxe always sets root path:
> > > > pxe_open: server path: /
> > > > 
> > > > I've read src/sys/boot/i386/libi386/pxe.c as instructed in handbook,
> > > > and
> > > > i learned there that root path is a failover value which gets set if
> > > > no
> > > > valid value is supplied by DHCP server. At first i thought that
> > > > Microsoft DHCP does not send it but i confirmed with windump it does:
> > > > 
> > > > --
> > > > 15:46:49.505748 IP (tos 0x0, ttl 128, id 6066, offset 0, flags [none],
> > > > proto: UDP
> > > > (17), length: 392) dhcp.domain.tld.67 > 255.255.255.255.68: [bad udp
> > > > cksum 4537!]
> > > > BOOTP/DHCP, Reply, length 364, xid 0xdcdb5309, Flags [ none ] (0x0000)
> > > > Your-IP 192.168.218.32
> > > > Server-IP dhcp.domain.tld
> > > > Client-Ethernet-Address 00:19:db:db:53:09 (oui Unknown)
> > > > file "FreeBSD/install/boot/pxeboot"
> > > > Vendor-rfc1048 Extensions
> > > > Magic Cookie 0x63825363
> > > > DHCP-Message Option 53, length 1: Offer
> > > > Subnet-Mask Option 1, length 4: 255.255.255.0
> > > > RN Option 58, length 4: 345600
> > > > RB Option 59, length 4: 604800
> > > > Lease-Time Option 51, length 4: 691200
> > > > Server-ID Option 54, length 4: dhcp.domain.tld
> > > > Default-Gateway Option 3, length 4: gate.domain.tld
> > > > Domain-Name-Server Option 6, length 4: dhcp.domain.tld
> > > > Domain-Name Option 15, length 1: "^@"
> > > > RP Option 17, length 42:
> > > > "192.168.218.32:/b/tftpboot/FreeBSD/install/^@"
> > > > BF Option 67, length 29: "FreeBSD/install/boot/pxeboot^@"
> > > What about getting rid of the "^@" characters at the end of
> > > the strings?
> > 
> > the ^@ seems to have been added by windump, but check this out:
> > the length of the  root-path
> > 	192.168.218.32:/b/tftpboot/FreeBSD/install/
> > is 43!, not 42 as shown, and the ^@ (NULL) is the 44th!
> > on the other hand, 
> > 	FreeBSD/install/boot/pxeboot
> > is 28! 
> > 
> > can you make available the raw data (cab) of the entire transaction, including
> > the request for the boot files?
> > 
> > danny
> > 
> > 
> 
> Hi Danny,
> 
> thank you for looking into it.
> 
> I did the dump catching ip broadcasts (attached file), hope that is the
> correct one:
> 
> windump -nvvv -s 0 -w pxedump.cab ip broadcast
> 
> I would like to try to get rid of "^@" characters but i am going to need
> instruction what exactly do in need to do in order to accomplish it.
the ^@ is a MS off-by-one error, but is irrelevant.

the last DHCP ACKdoes not contain the root path, hence pxeboot is going
for /. I don't know about ms dhcp, but there should be an option like
isc-dhcp has (default dhcp-parameter-request-list):

...
        match if substring (option vendor-class-identifier, 0, 7) = "PXEClient";
        # removing windows specific options to save space for FreeBSD;
        default dhcp-parameter-request-list 1, 3, 6, 12, 15, 17, 23, 28, 29, 31, 33, 40, 41, 42, 144, 150, 208, 209, 210, 211, 230, 60, 43;

notice that 17 is in there

danny





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1SZInK-0004RG-IF>