In our environment we use PXELINUX and gPXE to NFS and iSCSI boot our diskless Windows and Linux machines respectively. Recently with a new update to our SUSE distributions we came across an issue where the machines would no longer get a secondary DHCP lease before the machine tries to connect to the NFS share and continue booting. Instead it would just time out and fail to boot. As an aside note, this issue seemed to be with a timing change in the dhcpcd binary that is built with the mkinitrd script as replacing it with an older version manually allows this to boot.
On certain Windows machines we would also have the same issue when gPXE tries to get it's configuration from a secondary DHCP chainload request (similar to this person's issue), it would also time out and fail to boot. Changing the timings of the gPXE boot scripts overcomes this, but it does indeed add extra time to the boot process.
The odd thing about both of these problems is that it would only happen on certain hardware configurations and on others it would boot fine.
While doing some research I discovered that our problems are most certainly coming from the fact that PortFast was not enabled on the ports that were being used for netbooting our machines. After enabling this and doing some testing it was solved and now everything boots quickly.
Here is how to enable PortFast on a Force10 S Series switch running the latest FTOS:
Step 1: Enable STP
protocol spanning-tree 0
Step 2: Enable portfast on the interface you desire
interface gigabitethernet [stackunit]/[port]
spanning-tree 0 portfast
Step 3: Check that it is enabled
Now write the settings to flash and you are done.
Casting Machine Bases in Composite Epoxy
1 hour ago