Commit 73c2bbeea3d09bb8c81adc8769fc53493b6c0351

Authored by Joe Hershberger
Committed by Tom Rini
1 parent 94b467b14e

net: Apply default format rules to all ethaddr

Use a regular expression to apply the default formatting flags for all
ethaddr env vars.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>

Showing 2 changed files with 11 additions and 3 deletions Side-by-side Diff

... ... @@ -38,13 +38,18 @@
38 38 #endif
39 39  
40 40 #ifdef CONFIG_CMD_NET
  41 +#ifdef CONFIG_REGEX
  42 +#define ETHADDR_WILDCARD "\\d?"
  43 +#else
  44 +#define ETHADDR_WILDCARD
  45 +#endif
41 46 #ifdef CONFIG_ENV_OVERWRITE
42   -#define ETHADDR_FLAGS "ethaddr:ma,"
  47 +#define ETHADDR_FLAGS "eth" ETHADDR_WILDCARD "addr:ma,"
43 48 #else
44 49 #ifdef CONFIG_OVERWRITE_ETHADDR_ONCE
45   -#define ETHADDR_FLAGS "ethaddr:mc,"
  50 +#define ETHADDR_FLAGS "eth" ETHADDR_WILDCARD "addr:mc,"
46 51 #else
47   -#define ETHADDR_FLAGS "ethaddr:mo,"
  52 +#define ETHADDR_FLAGS "eth" ETHADDR_WILDCARD "addr:mo,"
48 53 #endif
49 54 #endif
50 55 #else
... ... @@ -89,6 +89,8 @@
89 89 /* Invalidate eth1's MAC address */
90 90 net_ping_ip = string_to_ip("1.1.2.2");
91 91 strcpy(ethaddr, getenv("eth1addr"));
  92 + /* Must disable access protection for eth1addr before clearing */
  93 + setenv(".flags", "eth1addr");
92 94 setenv("eth1addr", NULL);
93 95  
94 96 /* Make sure that the default is to rotate to the next interface */
... ... @@ -108,6 +110,7 @@
108 110  
109 111 /* Invalidate eth0's MAC address */
110 112 strcpy(ethaddr, getenv("ethaddr"));
  113 + /* Must disable access protection for ethaddr before clearing */
111 114 setenv(".flags", "ethaddr");
112 115 setenv("ethaddr", NULL);
113 116