Hello I've been playing with chainloading pxeboot after pxelinux and its menu feature. It's working, but I had to do something weird. I'm wondering if anybody can come up with a logical explanation. (and feeding the search engines for people experiencing the same problem is a nice added bonus)
After pxeboot starts it first does a dhcp request and proceeds to load /boot/loader.rc, which fails if pxelinux was part of the process. tftp requests leave the host, answers are send back, but are ignored by the client and the download times out. The loader then proceeds to try /boot/boot.conf, this succeeds (read: the client receives a ENOTFOUND and reacts accordingly. It does NOT time-out) The only significant event I could find between the two downloads was the closing and re-opening of the pxe socket (netif_close() and netif_open()) And indeed if I add netif_close() and netif_open() to the dhcp code in pxe_open() everything works. I checked the pxe documentation and didn't see anything about not being allowed to receive packets on different ports, the API looks to have been written to specificaly support it. I don't think pxeboot is at fault here, but I'd really like to know if there is a good explanation for this behaviour. Thanks, Joost Bekkers _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"