A working name resolution framework

This commit is contained in:
Michael Brown
2007-01-18 22:38:13 +00:00
parent 8bb9f726a0
commit 4e3976711d
7 changed files with 192 additions and 49 deletions

View File

@@ -24,6 +24,7 @@
#include <gpxe/dhcp.h>
#include <gpxe/async.h>
#include <gpxe/netdevice.h>
#include <gpxe/dns.h>
#include <usr/ifmgmt.h>
#include <usr/dhcpmgmt.h>
@@ -33,6 +34,9 @@
*
*/
/* Avoid dragging in dns.o */
struct in_addr nameserver;
/**
* Configure network device via DHCP
*
@@ -42,8 +46,8 @@
int dhcp ( struct net_device *netdev ) {
static struct dhcp_option_block *dhcp_options = NULL;
struct dhcp_session dhcp;
struct in_addr address = { htonl ( 0 ) };
struct in_addr netmask = { htonl ( 0 ) };
struct in_addr address = { 0 };
struct in_addr netmask = { 0 };
struct in_addr gateway = { INADDR_NONE };
struct async async;
int rc;
@@ -90,5 +94,9 @@ int dhcp ( struct net_device *netdev ) {
return rc;
}
/* Retrieve other DHCP options that we care about */
find_dhcp_ipv4_option ( dhcp_options, DHCP_DNS_SERVERS,
&nameserver );
return 0;
}