From d22c338e07cc98276ea5cc4feaa5a370baa63243 Mon Sep 17 00:00:00 2001 From: Joe Hershberger Date: Wed, 23 May 2012 08:00:12 +0000 Subject: net: Add link-local addressing support Code based on networking/zcip.c in busybox commit 8531d76a15890c2c535908ce888b2e2aed35b172 Signed-off-by: Joe Hershberger --- common/cmd_net.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'common/cmd_net.c') diff --git a/common/cmd_net.c b/common/cmd_net.c index 2f66056..a9ade8b 100644 --- a/common/cmd_net.c +++ b/common/cmd_net.c @@ -428,3 +428,34 @@ U_BOOT_CMD( ); #endif /* CONFIG_CMD_DNS */ + +#if defined(CONFIG_CMD_LINK_LOCAL) +static int do_link_local(cmd_tbl_t *cmdtp, int flag, int argc, + char * const argv[]) +{ + char tmp[22]; + + if (NetLoop(LINKLOCAL) < 0) + return 1; + + NetOurGatewayIP = 0; + ip_to_string(NetOurGatewayIP, tmp); + setenv("gatewayip", tmp); + + ip_to_string(NetOurSubnetMask, tmp); + setenv("netmask", tmp); + + ip_to_string(NetOurIP, tmp); + setenv("ipaddr", tmp); + setenv("llipaddr", tmp); /* store this for next time */ + + return 0; +} + +U_BOOT_CMD( + linklocal, 1, 1, do_link_local, + "acquire a network IP address using the link-local protocol", + "" +); + +#endif /* CONFIG_CMD_LINK_LOCAL */ -- cgit v1.1