summaryrefslogtreecommitdiffstats
path: root/net/eth.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-11-17 21:47:40 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2017-12-01 12:33:33 +0100
commit46f7781d361b2b4768c0a56c4fd6a9b11fe4157c (patch)
tree44e95caa85e5398cf42ef067e2c7228c24a3c637 /net/eth.c
parent48a58879d18a21007cb7d6863c1bd569a54a5c03 (diff)
downloadbarebox-46f7781d361b2b4768c0a56c4fd6a9b11fe4157c.tar.gz
barebox-46f7781d361b2b4768c0a56c4fd6a9b11fe4157c.tar.xz
net: Use a single gateway
There is not much point in having a network device specific gateway. If barebox really is part of such a complicated network in which it needs multiple gateways, then we probably need a real routing table. Until this happens, a single gateway should be enough. This introduces global.net.gateway which holds the gateway ip. The previously used device specific <ethx>.gateway variables still exist, but are only aliases for the single gateway. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/eth.c')
-rw-r--r--net/eth.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/eth.c b/net/eth.c
index 74666bbf22..6dae6b9feb 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -349,6 +349,7 @@ late_initcall(eth_register_of_fixup);
#endif
extern IPaddr_t net_serverip;
+extern IPaddr_t net_gateway;
int eth_register(struct eth_device *edev)
{
@@ -382,7 +383,7 @@ int eth_register(struct eth_device *edev)
dev_add_param_ip(dev, "ipaddr", NULL, NULL, &edev->ipaddr, edev);
dev_add_param_ip(dev, "serverip", NULL, NULL, &net_serverip, edev);
- dev_add_param_ip(dev, "gateway", NULL, NULL, &edev->gateway, edev);
+ dev_add_param_ip(dev, "gateway", NULL, NULL, &net_gateway, edev);
dev_add_param_ip(dev, "netmask", NULL, NULL, &edev->netmask, edev);
dev_add_param_mac(dev, "ethaddr", eth_param_set_ethaddr, NULL,
edev->ethaddr, edev);