[gPXE] Intel Undi PXE 2.1 Client Ignores DHCP Offer Messages with gPXE Filename from ISC DHCP Server
Andrew Bobulsky
rulerof at gmail.com
Thu Oct 20 11:34:41 EDT 2011
Hello Thomas,
DHCP option 60 (when set to "PXEClient") is an instruction to a PXE
client that the DHCP offer it just received doesn't contain what it is
looking for, and that the PXE client should instead contact the same
DHCP server, only on port 4011 to get the information it needs, such
as a filename and TFTP server, in order to continue the PXE boot
process. This facilitates housing a PXE boot server and DHCP server
on the same machine, as, since a PXE boot server is an implementation
of DHCP itself, they both use port 67 by default.
In your case, your DHCP server /is/ your PXE boot server, so you don't
actually want to specify that option at all. The name of DHCP option
60 itself is rather confusing, and its purpose also rather vague,
unfortunately :(
*Eyeballing your Wireshark dumps a little more closely* ...that does
appear to be the problem. Give a try at removing option 60, and it
should work as you expect (apologies if I missed something).
Cheers,
Andrew Bobulsky
On Thu, Oct 20, 2011 at 9:47 AM, Reim, Thomas <Thomas.Reim at cassidian.com> wrote:
> Dear all,
>
> I got stuck on enabling an Intel Undi based PXE 2.1 client to retrieve the
> gPXE boot file from my DHCP/TFTP Boot server. Here's an extract from my
> dhcpd.conf:
>
> [CODE]
> # PXE Options (ISC DHCP Server Version 3.x)
> option space PXE;
> option PXE.discovery-control code 6 = unsigned integer 8;
>
> # PXE client classes
> class "PXE-clients" {
> match if substring (option vendor-class-identifier, 0, 9) =
> "PXEClient";
> option dhcp-parameter-request-list 60,66,43;
> # Option 60
> option vendor-class-identifier "PXEClient";
> # Option 66
> option tftp-server-name "192.168.0.65";
> # Option 67
> # option bootfile-name "/pxelinux.0";
> # Option 43 with PXE_DISCOVERY_CONTROL set to use boot file name
> # of the initial DHCPOFFER packet
> vendor-option-space PXE;
> option PXE.discovery-control 11;
> next-server 192.168.0.65;
> server-name "192.168.0.65";
> filename "/undionly.kpxe";
> }
>
> subnet 192.168.0.0 netmask 255.255.255.0 {
> ddns-updates on;
> ddns-domainname "mydomain";
> option routers 192.168.0.65;
> option netbios-name-servers 192.168.0.65;
> option netbios-dd-server 192.168.0.65;
> option netbios-node-type 8;
> option subnet-mask 255.255.255.0;
> option domain-name-servers 192.168.0.65;
>
> # PXE clients
> pool {
> range 192.168.0.101 192.168.0.110;
> default-lease-time 21600;
> max-lease-time 43200;
> allow members of "PXE-clients";
> }
> }
> [/CODE]
>
> If you check the following wireshark trace you will see, that the PXE 2.1
> client issues four DHCP DISCOVER messages. All of them are acked by the DHCP
> server with a DHCP OFFER message. The 2nd DISCOVER message is sent 2 s after
> the first one, where I would have expected a DHCP REQUEST message. The 3rd
> message is sent 4 s after the 2nd DISCOVER and the last DISCOVER is sent 8 s
> after the previous request. According to the PXE specification this could be
> caused by timeouts due to missing DHCP option #60 with "PXEClient" in the
> DHCP OFFER messages from the server. But checking wireshark dumps, option
> #60 is there.
>
> PXE boot works fine on an older client with Intel Undi PXE 2.0 implemented
> (see second wireshark trace below)
>
> Any hints how to solve this?
>
> P.S.: Here are the wireshark traces:
>
> 1. Failed PXE boot:
> [CODE]
> No. Time Source Destination Protocol
> Info
> 1 0.000000 0.0.0.0 255.255.255.255 DHCP
> DHCP Discover - Transaction ID 0xd19fe343
>
> Frame 1 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: bootserver.mydomain (00:1f:d0:9f:e3:43), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd19fe343
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Discover
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (97) UUID/GUID-based Client Identifier
> Length: 17
> Value: 00303031464430394645333433FFFFFFFF
> Client Identifier (UUID): 46313030-3044-4639-4533-3433ffffffff
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (94) Client Network Device Interface
> Length: 3
> Value: 010201
> Client Network ID Major Version: 2
> Client Network ID Minor Version: 1
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 2 0.661461 192.168.0.65 255.255.255.255 DHCP
> DHCP Offer - Transaction ID 0xd19fe343
>
> Frame 2 (346 bytes on wire, 346 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd19fe343
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.101 (192.168.0.101)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> No. Time Source Destination Protocol
> Info
> 3 2.112295 0.0.0.0 255.255.255.255 DHCP
> DHCP Discover - Transaction ID 0xd29fe343
>
> Frame 3 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: bootserver.mydomain (00:1f:d0:9f:e3:43), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd29fe343
> Seconds elapsed: 6
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Discover
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (57) Maximum DHCP Message Size
> Length: 2
> Value: 04EC
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 4 2.112799 192.168.0.65 255.255.255.255 DHCP
> DHCP Offer - Transaction ID 0xd29fe343
>
> Frame 4 (346 bytes on wire, 346 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd29fe343
> Seconds elapsed: 6
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.101 (192.168.0.101)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> No. Time Source Destination Protocol
> Info
> 5 6.231478 0.0.0.0 255.255.255.255 DHCP
> DHCP Discover - Transaction ID 0xd39fe343
>
> Frame 5 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: bootserver.mydomain (00:1f:d0:9f:e3:43), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd39fe343
> Seconds elapsed: 10
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Discover
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 6 6.231896 192.168.0.65 255.255.255.255 DHCP
> DHCP Offer - Transaction ID 0xd39fe343
>
> Frame 6 (346 bytes on wire, 346 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd39fe343
> Seconds elapsed: 10
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.101 (192.168.0.101)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> No. Time Source Destination Protocol
> Info
> 7 14.359837 0.0.0.0 255.255.255.255 DHCP
> DHCP Discover - Transaction ID 0xd49fe343
>
> Frame 7 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: bootserver.mydomain (00:1f:d0:9f:e3:43), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd49fe343
> Seconds elapsed: 18
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Discover
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 8 14.360244 192.168.0.65 255.255.255.255 DHCP
> DHCP Offer - Transaction ID 0xd49fe343
>
> Frame 8 (346 bytes on wire, 346 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0xd49fe343
> Seconds elapsed: 18
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.101 (192.168.0.101)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: bootserver.mydomain (00:1f:d0:9f:e3:43)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> [/CODE]
>
> 2. Successful PXE boot:
> [CODE]
> No. Time Source Destination Protocol
> Info
> 1 0.000000 0.0.0.0 255.255.255.255 DHCP
> DHCP Discover - Transaction ID 0x60aa785
>
> Frame 1 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0x060aa785
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Discover
> Option: (53) DHCP Message Type
> Length: 1
> Value: 01
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (97) UUID/GUID-based Client Identifier
> Length: 17
> Value: 00594253583033353736390030050AA785
> Client Identifier (UUID): 58534259-3330-3735-3639-0030050aa785
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (94) Client Network Device Interface
> Length: 3
> Value: 010201
> Client Network ID Major Version: 2
> Client Network ID Minor Version: 1
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 2 0.212827 192.168.0.65 255.255.255.255 DHCP
> DHCP Offer - Transaction ID 0x60aa785
>
> Frame 2 (342 bytes on wire, 342 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0x060aa785
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.102 (192.168.0.102)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Offer
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 3 2.087215 0.0.0.0 255.255.255.255 DHCP
> DHCP Request - Transaction ID 0x60aa785
>
> Frame 3 (590 bytes on wire, 590 bytes captured)
> Ethernet II, Src: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
> Bootstrap Protocol
> Message type: Boot Request (1)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0x060aa785
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 0.0.0.0 (0.0.0.0)
> Next server IP address: 0.0.0.0 (0.0.0.0)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85)
> Client hardware address padding: 00000000000000000000
> Server host name not given
> Boot file name not given
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP Request
> Option: (t=50,l=4) Requested IP Address = 192.168.0.102
> Option: (t=55,l=24) Parameter Request List
> Option: (55) Parameter Request List
> Length: 24
> Value: 01020305060B0C0D0F1011122B363C438081828384858687
> 1 = Subnet Mask
> 2 = Time Offset
> 3 = Router
> 5 = Name Server
> 6 = Domain Name Server
> 11 = Resource Location Server
> 12 = Host Name
> 13 = Boot File Size
> 15 = Domain Name
> 16 = Swap Server
> 17 = Root Path
> 18 = Extensions Path
> 43 = Vendor-Specific Information
> 54 = DHCP Server Identifier
> 60 = Vendor class identifier
> 67 = Bootfile name
> 128 = DOCSIS full security server IP [TODO]
> 129 = PXE - undefined (vendor specific)
> 130 = PXE - undefined (vendor specific)
> 131 = PXE - undefined (vendor specific)
> 132 = PXE - undefined (vendor specific)
> 133 = PXE - undefined (vendor specific)
> 134 = PXE - undefined (vendor specific)
> 135 = PXE - undefined (vendor specific)
> Option: (t=57,l=2) Maximum DHCP Message Size = 1260
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=97,l=17) UUID/GUID-based Client Identifier
> Option: (t=93,l=2) Client System Architecture = IA x86 PC
> Option: (t=94,l=3) Client Network Device Interface
> Option: (t=60,l=32) Vendor class identifier =
> "PXEClient:Arch:00000:UNDI:002001"
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 4 2.096375 192.168.0.65 255.255.255.255 DHCP
> DHCP ACK - Transaction ID 0x60aa785
>
> Frame 4 (342 bytes on wire, 342 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst: Broadcast
> (ff:ff:ff:ff:ff:ff)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 255.255.255.255
> (255.255.255.255)
> User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
> Bootstrap Protocol
> Message type: Boot Reply (2)
> Hardware type: Ethernet
> Hardware address length: 6
> Hops: 0
> Transaction ID: 0x060aa785
> Seconds elapsed: 4
> Bootp flags: 0x8000 (Broadcast)
> 1... .... .... .... = Broadcast flag: Broadcast
> .000 0000 0000 0000 = Reserved flags: 0x0000
> Client IP address: 0.0.0.0 (0.0.0.0)
> Your (client) IP address: 192.168.0.102 (192.168.0.102)
> Next server IP address: 192.168.0.65 (192.168.0.65)
> Relay agent IP address: 0.0.0.0 (0.0.0.0)
> Client MAC address: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85)
> Client hardware address padding: 00000000000000000000
> Server host name: 192.168.0.65
> Boot file name: /undionly.kpxe
> Magic cookie: (OK)
> Option: (t=53,l=1) DHCP Message Type = DHCP ACK
> Option: (t=54,l=4) DHCP Server Identifier = 192.168.0.65
> Option: (t=51,l=4) IP Address Lease Time = 6 hours
> Option: (t=60,l=9) Vendor class identifier = "PXEClient"
> Option: (t=66,l=12) TFTP Server Name = "192.168.0.65"
> Option: (t=43,l=3) Vendor-Specific Information (PXEClient)
> Option: (43) Vendor-Specific Information
> Length: 3
> Value: 06010B
> Suboption 6: PXE discovery control = 11
> Option: (t=1,l=4) Subnet Mask = 255.255.255.0
> End Option
> Padding
> No. Time Source Destination Protocol
> Info
> 5 2.097483 192.168.0.102 192.168.0.65 TFTP
> Read Request, File: /undionly.kpxe\000, Transfer type: octet\000, 0=0\000
>
> Frame 5 (70 bytes on wire, 70 bytes captured)
> Ethernet II, Src: FujitsuS_0a:a7:85 (00:30:05:0a:a7:85), Dst:
> AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67)
> Internet Protocol, Src: 192.168.0.102 (192.168.0.102), Dst: 192.168.0.65
> (192.168.0.65)
> User Datagram Protocol, Src Port: ah-esp-encap (2070), Dst Port: tftp (69)
> Trivial File Transfer Protocol
> [Source File: /undionly.kpxe]
> Opcode: Read Request (1)
> Source File: /undionly.kpxe
> Type: octet
> Option: tsize\000 = 0\000
> Option name: tsize
> Option value: 0
> No. Time Source Destination Protocol
> Info
> 6 2.099304 192.168.0.65 192.168.0.102 TFTP
> Option Acknowledgement, 26742=26742\000
>
> Frame 6 (56 bytes on wire, 56 bytes captured)
> Ethernet II, Src: AsustekC_1a:4e:67 (00:1b:fc:1a:4e:67), Dst:
> FujitsuS_0a:a7:85 (00:30:05:0a:a7:85)
> Internet Protocol, Src: 192.168.0.65 (192.168.0.65), Dst: 192.168.0.102
> (192.168.0.102)
> User Datagram Protocol, Src Port: 56082 (56082), Dst Port: ah-esp-encap
> (2070)
> Trivial File Transfer Protocol
> [Source File: /undionly.kpxe]
> Opcode: Option Acknowledgement (6)
> Option: tsize\000 = 26742\000
> Option name: tsize
> Option value: 26742
> [/CODE]
>
>
>
>
> _______________________________________________
> gPXE mailing list
> gPXE at etherboot.org
> http://etherboot.org/mailman/listinfo/gpxe
>
>
More information about the gPXE
mailing list