mirror of https://github.com/ipxe/ipxe.git
Apply global DHCP options when register_dhcp_options() is called. Do
not apply DHCP options in dhcp_configure_netdev().pull/1/head
parent
311637503d
commit
934b70d62c
|
@ -504,6 +504,7 @@ extern void find_global_dhcp_ipv4_option ( unsigned int tag,
|
||||||
extern void delete_dhcp_option ( struct dhcp_option_block *options,
|
extern void delete_dhcp_option ( struct dhcp_option_block *options,
|
||||||
unsigned int tag );
|
unsigned int tag );
|
||||||
extern int apply_dhcp_options ( struct dhcp_option_block *options );
|
extern int apply_dhcp_options ( struct dhcp_option_block *options );
|
||||||
|
extern int apply_global_dhcp_options ( void );
|
||||||
|
|
||||||
extern struct dhcp_option_block dhcp_request_options;
|
extern struct dhcp_option_block dhcp_request_options;
|
||||||
extern int create_dhcp_packet ( struct net_device *netdev, uint8_t msgtype,
|
extern int create_dhcp_packet ( struct net_device *netdev, uint8_t msgtype,
|
||||||
|
|
|
@ -289,6 +289,9 @@ void register_dhcp_options ( struct dhcp_option_block *options ) {
|
||||||
}
|
}
|
||||||
dhcpopt_get ( options );
|
dhcpopt_get ( options );
|
||||||
list_add_tail ( &options->list, &existing->list );
|
list_add_tail ( &options->list, &existing->list );
|
||||||
|
|
||||||
|
/* Apply all registered DHCP options */
|
||||||
|
apply_global_dhcp_options();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -609,3 +612,12 @@ int apply_dhcp_options ( struct dhcp_option_block *options ) {
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply global DHCP options
|
||||||
|
*
|
||||||
|
* @ret rc Return status code
|
||||||
|
*/
|
||||||
|
int apply_global_dhcp_options ( void ) {
|
||||||
|
return apply_dhcp_options ( NULL );
|
||||||
|
}
|
||||||
|
|
|
@ -855,12 +855,5 @@ int dhcp_configure_netdev ( struct net_device *netdev,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Apply other DHCP options */
|
|
||||||
if ( ( rc = apply_dhcp_options ( options ) ) != 0 ) {
|
|
||||||
DBG ( "Could not apply %s DHCP result options: %s\n",
|
|
||||||
netdev->name, strerror ( rc ) );
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue