I'm working on an OS X NetInstall environment, and having trouble with the BSDP portion.
I have some hosts on the same subnet (build) as the server, and other hosts on a different subnet (try). Netboots of all hosts work fine if they are initiated with a bless --server=...; reboot
, but only hosts on the local subnet work when an operator holds down the 'n' key on boot.
I've captured packet logs of both a local and remote attempt. Remote, unsuccessful:
14:24:33.876853 IP (tos 0x0, ttl 64, id 47581, offset 0, flags [none], proto UDP (17), length 320)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 292, hops 1, xid 0xb89628db, Flags [Broadcast] (0x8000)
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:51:6e: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
MSZ Option 57, length 2: 1500
END Option 255, length 0
14:24:33.890945 IP (tos 0x0, ttl 64, id 47586, offset 0, flags [none], proto UDP (17), length 332)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 304, hops 1, xid 0xb89628db, Flags [Broadcast] (0x8000)
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: admin1b.private.releng.scl3.mozilla.com
Requested-IP Option 50, length 4: bld-lion-r5-025.try.releng.scl3.mozilla.com
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:51:6e: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
MSZ Option 57, length 2: 1500
END Option 255, length 0
14:24:33.904325 IP (tos 0x0, ttl 64, id 47591, offset 0, flags [none], proto UDP (17), length 321)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 293, hops 1, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 7: 1.1.1.2.2.1.1
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 2:
Vendor-Option, Vendor-Class
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:51:6e
END Option 255, length 0
14:24:33.904532 IP (tos 0x0, ttl 64, id 62989, offset 0, flags [none], proto UDP (17), length 344, bad cksum 0 (->fb15)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-025.try.releng.scl3.mozilla.com.bootpc: [bad udp cksum 2800!] BOOTP/DHCP, Reply, length 316, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
Vendor-Option Option 43, length 53: 1.1.1.4.2.127.147.7.4.130.0.0.111.9.38.130.0.0.111.33.68.101.112.108.111.121.83.116.117.100.105.111.82.117.110.116.105.109.101.45.49.50.48.56.48.56.45.49.54.52.56.49.49
END Option 255, length 0
14:24:34.855107 IP (tos 0x0, ttl 64, id 47607, offset 0, flags [none], proto UDP (17), length 340)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 312, hops 1, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 19: 1.1.2.2.2.1.1.3.4.0.0.0.0.8.4.0.0.0.0
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
MSZ Option 57, length 2: 1500
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:51:6e
END Option 255, length 0
14:25:31.633527 IP (tos 0x0, ttl 64, id 50616, offset
and local, successful:
10:16:35.411562 IP (tos 0x0, ttl 64, id 11699, offset 0, flags [none], proto UDP (17), length 320)
0.0.0.0.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 292, xid 0xaab72db5, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:50:55: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
MSZ Option 57, length 2: 1500
END Option 255, length 0
10:16:35.430759 IP (tos 0x0, ttl 64, id 11700, offset 0, flags [none], proto UDP (17), length 332)
0.0.0.0.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 304, xid 0xaab72db5, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: admin1a.private.releng.scl3.mozilla.com
Requested-IP Option 50, length 4: bld-lion-r5-061.build.releng.scl3.mozilla.com
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:50:55: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
MSZ Option 57, length 2: 1500
END Option 255, length 0
10:16:35.443251 IP (tos 0x0, ttl 64, id 11701, offset 0, flags [DF], proto UDP (17), length 321)
bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 293, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 7: 1.1.1.2.2.1.1
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 2:
Vendor-Option, Vendor-Class
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:50:55
END Option 255, length 0
10:16:35.450882 ARP, Ethernet (len 6), IPv4 (len 4), Reply bld-lion-r5-061.build.releng.scl3.mozilla.com is-at 3c:07:54:72:50:55 (oui Unknown), length 46
10:16:35.450932 IP (tos 0x0, ttl 64, id 19478, offset 0, flags [none], proto UDP (17), length 350, bad cksum 0 (->b0e3)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 32bc!] BOOTP/DHCP, Reply, length 322, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Gateway-IP 10.26.52.1
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
Vendor-Option Option 43, length 59: 1.1.1.4.2.127.148.7.4.130.0.0.111.8.4.130.0.0.111.9.38.130.0.0.111.33.68.101.112.108.111.121.83.116.117.100.105.111.82.117.110.116.105.109.101.45.49.50.48.56.48.56.45.49.54.52.56.49.49
END Option 255, length 0
10:16:36.413631 IP (tos 0x0, ttl 64, id 11702, offset 0, flags [DF], proto UDP (17), length 340)
bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 312, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 19: 1.1.2.2.2.1.1.3.4.10.26.52.17.8.4.130.0.0.111
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
MSZ Option 57, length 2: 1500
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:50:55
END Option 255, length 0
10:16:36.432718 IP (tos 0x0, ttl 64, id 33343, offset 0, flags [none], proto UDP (17), length 410, bad cksum 0 (->7a7e)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 8830!] BOOTP/DHCP, Reply, length 382, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Server-IP install.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
sname "install.build.releng.scl3.mozilla.com"
file "/private/tftpboot/NetBoot/NetBootSP0/DeployStudioRuntime-120808-164811.nbi/i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
RP Option 17, length 96: "nfs:10.26.52.17:/Library/NetBoot/NetBootSP0:DeployStudioRuntime-120808-164811.nbi/NetInstall.dmg"
Vendor-Option Option 43, length 21: 1.1.2.8.4.130.0.0.111.130.10.78.101.116.66.111.111.116.50.50.55
END Option 255, length 0
10:16:36.433832 IP (tos 0x0, ttl 64, id 45635, offset 0, flags [none], proto UDP (17), length 410, bad cksum 0 (->4a7a)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 6cf2!] BOOTP/DHCP, Reply, length 382, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Server-IP install.build.releng.scl3.mozilla.com
Gateway-IP 10.26.52.1
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
sname "install.build.releng.scl3.mozilla.com"
file "/private/tftpboot/NetBoot/NetBootSP0/DeployStudioRuntime-120808-164811.nbi/i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
RP Option 17, length 96: "nfs:10.26.52.17:/Library/NetBoot/NetBootSP0:DeployStudioRuntime-120808-164811.nbi/NetInstall.dmg"
Vendor-Option Option 43, length 21: 1.1.2.8.4.130.0.0.111.130.10.78.101.116.66.111.111.116.50.50.55
END Option 255, length 0
Note that in the successful case, the server sends a second and third ACK (10:16:36.432718, 10:16:36.433832), while in the unsuccessful case, it does not. The packet dumps were captured on the server, so those packets were not filtered -- rather, they were never sent at all.
Digging into the option 43 data, where Apple puts the BSDP-specific information, the only difference I see is in the first ACK:
Unsuccessful:
1.1.1 -- message type LIST
4.2.127.148 -- server priority 1164
7.4.130.0.0.111 -- ID of standard boot image = 0x8200006f
9.38.<remainder> -- List of boot images = {0x8200006f: "DeployStudioRuntime-120808-164811"}
Successful:
1.1.1 -- message type LIST
4.2.127.148 -- server priority 1164
7.4.130.0.0.111 -- ID of standard boot image = 0x8200006f
8.4.130.0.0.111 -- ID of selected boot image = 0x8200006f
9.38.<remainder> -- List of boot images = {0x8200006f: "DeployStudioRuntime-120808-164811"}
Which suggests to me that the server is refusing to serve the standard boot image in the unsuccessful case, and serving it in the successful case. In that case it makes sense for the server not to send the later ACK -- it has no image to share with the client.
But why would bootpd do this? How can I fix it?