diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/dhcp.h | 18 | ||||
| -rw-r--r-- | src/include/usr/dhcpmgmt.h | 3 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/include/gpxe/dhcp.h b/src/include/gpxe/dhcp.h index 44edd6458..33e0c5d47 100644 --- a/src/include/gpxe/dhcp.h +++ b/src/include/gpxe/dhcp.h @@ -100,6 +100,19 @@ enum dhcp_pxe_discovery_control { /** PXE boot server multicast address */ #define DHCP_PXE_BOOT_SERVER_MCAST DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 ) +/** PXE boot servers */ +#define DHCP_PXE_BOOT_SERVERS DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 8 ) + +/** PXE boot server */ +struct dhcp_pxe_boot_server { + /** "Type" */ + uint16_t type; + /** Number of IPv4 addresses */ + uint8_t num_ip; + /** IPv4 addresses */ + struct in_addr ip[0]; +} __attribute__ (( packed )); + /** PXE boot menu */ #define DHCP_PXE_BOOT_MENU DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 ) @@ -574,6 +587,9 @@ struct dhcphdr { /** Maximum time that we will wait for ProxyDHCP responses */ #define PROXYDHCP_MAX_TIMEOUT ( 2 * TICKS_PER_SEC ) +/** Maximum time that we will wait for Boot Server responses */ +#define PXEBS_MAX_TIMEOUT ( 3 * TICKS_PER_SEC ) + /** Settings block name used for DHCP responses */ #define DHCP_SETTINGS_NAME "dhcp" @@ -593,6 +609,6 @@ extern int dhcp_create_request ( struct dhcp_packet *dhcppkt, void *data, size_t max_len ); extern int start_dhcp ( struct job_interface *job, struct net_device *netdev ); extern int start_pxebs ( struct job_interface *job, struct net_device *netdev, - struct in_addr pxe_server, unsigned int pxe_type ); + unsigned int pxe_type ); #endif /* _GPXE_DHCP_H */ diff --git a/src/include/usr/dhcpmgmt.h b/src/include/usr/dhcpmgmt.h index dc9de7bb0..0f275600d 100644 --- a/src/include/usr/dhcpmgmt.h +++ b/src/include/usr/dhcpmgmt.h @@ -10,7 +10,6 @@ struct net_device; extern int dhcp ( struct net_device *netdev ); -extern int pxebs ( struct net_device *netdev, struct in_addr pxe_server, - unsigned int pxe_type ); +extern int pxebs ( struct net_device *netdev, unsigned int pxe_type ); #endif /* _USR_DHCPMGMT_H */ |
