[pxe] Obey lists of PXE Boot Servers and associated Discovery Control bits

Various combinations of options 43.6, 43.7 and 43.8 dictate which
servers we send Boot Server Discovery requests to, and which servers
we should accept responses from.  Obey these options, and remove the
explicit specification of a single Boot Server from start_pxebs() and
dependent functions.
This commit is contained in:
Michael Brown
2009-02-05 09:30:32 +00:00
parent ff2b308506
commit 881f1f59ef
6 changed files with 195 additions and 62 deletions

View File

@@ -47,15 +47,12 @@ int dhcp ( struct net_device *netdev ) {
return rc;
}
int pxebs ( struct net_device *netdev, struct in_addr pxe_server,
unsigned int pxe_type ) {
int pxebs ( struct net_device *netdev, unsigned int pxe_type ) {
int rc;
/* Perform PXE Boot Server Discovery */
printf ( "PXEBS (%s %s type %d)",
netdev->name, inet_ntoa ( pxe_server ), pxe_type );
if ( ( rc = start_pxebs ( &monojob, netdev, pxe_server,
pxe_type ) ) == 0 )
printf ( "PXEBS (%s type %d)", netdev->name, pxe_type );
if ( ( rc = start_pxebs ( &monojob, netdev, pxe_type ) ) == 0 )
rc = monojob_wait ( "" );
return rc;