From owner-freebsd-hackers@FreeBSD.ORG Tue May 29 09:32:53 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2DCA1065672 for ; Tue, 29 May 2012 09:32:52 +0000 (UTC) (envelope-from danny@cs.huji.ac.il) Received: from kabab.cs.huji.ac.il (kabab.cs.huji.ac.il [132.65.16.84]) by mx1.freebsd.org (Postfix) with ESMTP id A2C2B8FC12 for ; Tue, 29 May 2012 09:32:52 +0000 (UTC) Received: from pampa.cs.huji.ac.il ([132.65.80.32]) by kabab.cs.huji.ac.il with esmtp id 1SZInK-0004RG-IF; Tue, 29 May 2012 12:32:50 +0300 X-Mailer: exmh version 2.7.2 01/07/2005 with nmh-1.3 To: pacija@gmail.com In-reply-to: <1338282484.1278.6.camel@vault.mimar.rs> References: <1559609187.982427.1338244921382.JavaMail.root@erie.cs.uoguelph.ca> <1338282484.1278.6.camel@vault.mimar.rs> Comments: In-reply-to pacija message dated "Tue, 29 May 2012 11:08:04 +0200." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 29 May 2012 12:32:50 +0300 From: Daniel Braniss Message-ID: Cc: freebsd-hackers@freebsd.org, Rick Macklem Subject: Re: pxe + nfs + microsoft dhcp X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2012 09:32:53 -0000 > > --=-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