diff options
Diffstat (limited to 'apps/nshlib/nsh_netinit.c')
-rw-r--r-- | apps/nshlib/nsh_netinit.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/apps/nshlib/nsh_netinit.c b/apps/nshlib/nsh_netinit.c index bc845c4ed..58d238312 100644 --- a/apps/nshlib/nsh_netinit.c +++ b/apps/nshlib/nsh_netinit.c @@ -47,7 +47,7 @@ #include <net/if.h> #include <apps/netutils/uiplib.h> -#if defined(CONFIG_NSH_DHCPC) +#if defined(CONFIG_NSH_DHCPC) || defined(CONFIG_NSH_DNS) # include <apps/netutils/resolv.h> # include <apps/netutils/dhcpc.h> #endif @@ -60,6 +60,10 @@ * Definitions ****************************************************************************/ +#if defined(CONFIG_NSH_DRIPADDR) && !defined(CONFIG_NSH_DNSIPADDR) +# define CONFIG_NSH_DNSIPADDR CONFIG_NSH_DRIPADDR +#endif + /**************************************************************************** * Private Types ****************************************************************************/ @@ -125,10 +129,14 @@ int nsh_netinit(void) addr.s_addr = HTONL(CONFIG_NSH_NETMASK); uip_setnetmask("eth0", &addr); -#if defined(CONFIG_NSH_DHCPC) +#if defined(CONFIG_NSH_DHCPC) || defined(CONFIG_NSH_DNS) /* Set up the resolver */ resolv_init(); +#if defined(CONFIG_NSH_DNS) + addr.s_addr = HTONL(CONFIG_NSH_DNSIPADDR); + resolv_conf(&addr); +#endif #endif #if defined(CONFIG_NSH_DHCPC) @@ -148,7 +156,7 @@ int nsh_netinit(void) { struct dhcpc_state ds; (void)dhcpc_request(handle, &ds); - uip_sethostaddr("eth1", &ds.ipaddr); + uip_sethostaddr("eth0", &ds.ipaddr); if (ds.netmask.s_addr != 0) { uip_setnetmask("eth0", &ds.netmask); |