Subject: Re: netboot from Windows 2000?
To: Tom Sobczynski <tcs@MIT.EDU>
From: Timm Wetzel <twetzel@gwdg.de>
List: port-next68k
Date: 06/19/2000 00:39:49
> I'm trying to netboot NetBSD on my mono slab from a Windows 2000
> machine.  I have HCL Inetd at my disposal for W2K, and have been
> trying to adapt the instructions for netbooting from NetBSD.  Needless
> to say, it doesn't work yet, though I have no idea why.  My
> understanding of the bootp and tftp protocols is essentially zero, so
> I'm really stumbling here.  In trying to debug the problem, I fired up
> a packet sniffer and watched what happened when I tried btp()netbsd on
> the NeXT.
[...]
> * FF FF FF FF | FF FF 00 10 | 5A 17 06 A2 | 08 00 45 00
[...]
You might want to try a better packet sniffer ... :^)

> I wish I knew what should be in this packet, because the NeXT never
> sends a response to it.  A solid whack over the head with a
> clue-by-four would be greatly appreciated.

I've appended some crude interpretation of your packet and a BOOTP reply
sent by my NS3.3 slab (known-working).

Basically, your packet looks about right.

The most important differences I noticed are that the W2000 server sends
an ethernet broadcast packet, with the IP destination also being an IP
broadcast address. (My server sends the packet to my client's ethernet
address, the IP destination is the client's (future) IP address.)
Also the IP gateway address is left at 0.0.0.0 in your packet.

Minor questions:
- Looking at your server/client IP addresses, I'm not sure they are on the
same subnet. If not, you might need a BOOTP gateway.
- Is 00:00:0F:00:A4:67 really a NeXT hardware address?

Conclusion: You might need to reconfigure your BOOTP server. (Or replace
it, if that's not possible.)

Regards,
Timm

Your BOOTP reply (slightly commented):

* FF FF FF FF | FF FF 00 10 | 5A 17 06 A2 | 08 00 45 00
  ether DST          | ether SRC          | IP   | V4  |
* 01 48 97 F6 | 00 00  80 11 | 8D BF 12 F5 | 00 FB FF FF
Len=328| ID   |      |TTL|UDP| CHKSM| IP SRC      | IP DST
* FF FF 00 43 | 00 44 01 34 | 9F 31 02    01 | 06      00   00  00
       |SRCPRT|DSTPRT|L=308 | CHKSM|reply|?? |hwadrlen|hops|  xid
                                   |---BOOTP data--->
* 02 AF 00 00 | 00 00 00 00 | 00 00 12 F5 | 02 63 12 F5
       | secs | flags| clientIP    | yourIP      | servIP
* 00 FB 00 00 | 00 00 00 00 | 0F 00 A4 67 | 00 00 00 00
       | gatewayIP   | client hardware address
* 00 00 00 00 | 00 00 6D 65 | 72 65 00 00 | 00 00 00 00
                     | server host name ("mere")
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 2F 6E | 65 78 74 2F | 62 6F 6F 74
                     | boot file name ("/next/boot")
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 4E 65 | 58 54 01 00 | 00  00  00 00
                     |vm=NeXT      |V1|opOK|XID|Pad| VM-NeXT-text
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
* 00 00 00 00 | 00 00       |             |
                  |\0 string terminator

For comparison, the reply of my NS3.3 slab (this is tethereal, btw):

Frame 2 (342 on wire, 342 captured)
    Arrival Time: Jun 18, 2000 19:29:28.4491
    Time delta from previous packet: 0.015724 seconds
    Frame Number: 2
    Packet Length: 342 bytes
    Capture Length: 342 bytes
Ethernet II
    Destination: 00:00:0f:01:34:f8 (00:00:0f:01:34:f8)
    Source: 00:00:0f:01:63:38 (00:00:0f:01:63:38)
    Type: IP (0x0800)
Internet Protocol
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Currently Unused: 0
    Total Length: 328
    Identification: 0xa357
    Flags: 0x00
        .0.. = Don't fragment: Not set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 60
    Protocol: UDP (0x11)
    Header checksum: 0x02f8 (correct)
    Source: kaa.wew (192.168.43.3)
    Destination: mowgli (192.168.43.2)
User Datagram Protocol
    Source port: 67 (67)
    Destination port: 68 (68)
    Length: 308
    Checksum: 0x37d9
Bootstrap Protocol
    Boot Reply
    Hardware type: Ethernet
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x000033b5
    Seconds elapsed: 0
    Broadcast flag: 0
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: mowgli (192.168.43.2)
    Next server IP address: kaa.wew (192.168.43.3)
    Relay agent IP address: kaa.wew (192.168.43.3)
    Client hardware address: 00:00:0f:01:34:f8
    Server host name: kaa.wew
    Boot file name: /private/tftpboot/boot
    Magic cookie: 78.101.88.84 (78.101.88.84)
    Option 1: Subnet Mask
    Padding

   0  0000 0f01 34f8 0000 0f01 6338 0800 4500   ....4.....c8..E. 
  10  0148 a357 0000 3c11 02f8 c0a8 2b03 c0a8   .H.W..<.....+... 
  20  2b02 0043 0044 0134 37d9 0201 0600 0000   +..C.D.47....... 
  30  33b5 0000 0000 0000 0000 c0a8 2b02 c0a8   3...........+... 
  40  2b03 c0a8 2b03 0000 0f01 34f8 0000 0000   +...+.....4..... 
  50  0000 0000 0000 6b61 612e 7765 7700 0000   ......kaa.wew... 
  60  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  70  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  80  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  90  0000 0000 0000 2f70 7269 7661 7465 2f74   ....../private/t 
  a0  6674 7062 6f6f 742f 626f 6f74 0000 0000   ftpboot/boot.... 
  b0  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  c0  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  d0  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  e0  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
  f0  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
 100  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
 110  0000 0000 0000 4e65 5854 0100 0000 0000   ......NeXT...... 
 120  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
 130  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
 140  0000 0000 0000 0000 0000 0000 0000 0000   ................ 
 150  0000 0000 0000                            ......