diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-12-11 15:46:26 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-12-01 12:33:33 +0100 |
commit | d5d342d26368c1f6b1ba597eea5b471bf4b9c344 (patch) | |
tree | 02914da1472457283afffc870dfe84f524a96e16 /net | |
parent | ba61b249609d28a2a3e750b3602d1ba2a8d8b140 (diff) | |
download | barebox-d5d342d26368c1f6b1ba597eea5b471bf4b9c344.tar.gz barebox-d5d342d26368c1f6b1ba597eea5b471bf4b9c344.tar.xz |
net: Make domainname and nameserver globalvars
Register domainname and nameserver as globalvars rather than attaching
them to a dedicated net device. the global device already exists and
already contains much of the barebox configuration, so no need to add
an extra device for network config.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/dhcp.c | 4 | ||||
-rw-r--r-- | net/dns.c | 4 | ||||
-rw-r--r-- | net/net.c | 25 |
3 files changed, 14 insertions, 19 deletions
diff --git a/net/dhcp.c b/net/dhcp.c index 4d74733d37..68696d69e8 100644 --- a/net/dhcp.c +++ b/net/dhcp.c @@ -242,7 +242,7 @@ struct dhcp_opt dhcp_options[] = { }, { .option = 6, .handle = env_ip_handle, - .barebox_var_name = "net.nameserver", + .barebox_var_name = "global.net.nameserver", }, { .option = DHCP_HOSTNAME, .copy_only_if_valid = 1, @@ -252,7 +252,7 @@ struct dhcp_opt dhcp_options[] = { }, { .option = 15, .handle = env_str_handle, - .barebox_var_name = "net.domainname", + .barebox_var_name = "global.net.domainname", }, { .option = 17, .handle = env_str_handle, @@ -77,7 +77,7 @@ static int dns_send(const char *name) header->nauth = 0; header->nother = 0; - domain = getenv("net.domainname"); + domain = getenv("global.net.domainname"); if (!strchr(name, '.') && domain && *domain) fullname = basprintf(".%s.%s.", name, domain); @@ -211,7 +211,7 @@ IPaddr_t resolv(const char *host) dns_state = STATE_INIT; - ns = getenv("net.nameserver"); + ns = getenv("global.net.nameserver"); if (!ns || !*ns) { printk("%s: no nameserver specified in $net.nameserver\n", __func__); @@ -36,12 +36,17 @@ #include <errno.h> #include <malloc.h> #include <init.h> +#include <globalvar.h> +#include <magicvar.h> #include <linux/ctype.h> #include <linux/err.h> unsigned char *NetRxPackets[PKTBUFSRX]; /* Receive packets */ static unsigned int net_ip_id; +static IPaddr_t net_nameserver; +static char *net_domainname; + int net_checksum_ok(unsigned char *ptr, int len) { return net_checksum(ptr, len) == 0xffff; @@ -570,14 +575,6 @@ out: return ret; } -static struct device_d net_device = { - .name = "net", - .id = DEVICE_ID_SINGLE, -}; - -static char *net_nameserver; -static char *net_domainname; - static int net_init(void) { int i; @@ -585,15 +582,13 @@ static int net_init(void) for (i = 0; i < PKTBUFSRX; i++) NetRxPackets[i] = net_alloc_packet(); - register_device(&net_device); - net_nameserver = xstrdup(""); - dev_add_param_string(&net_device, "nameserver", NULL, NULL, - &net_nameserver, NULL); - net_domainname = xstrdup(""); - dev_add_param_string(&net_device, "domainname", NULL, NULL, - &net_domainname, NULL); + globalvar_add_simple_ip("net.nameserver", &net_nameserver); + globalvar_add_simple_string("net.domainname", &net_domainname); return 0; } postcore_initcall(net_init); + +BAREBOX_MAGICVAR_NAMED(global_net_nameserver, global.net.nameserver, "The DNS server used for resolving host names"); +BAREBOX_MAGICVAR_NAMED(global_net_domainname, global.net.domainname, "Domain name used for DNS requests"); |