]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_net.c
net: Add link-local addressing support
[u-boot] / common / cmd_net.c
index 2f660566f72f07f3fd8defc53ec85e45339796a1..a9ade8b927280308fe1b925efa09eafbed6e6d16 100644 (file)
@@ -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 */