net: get mac address from environment and use eth util funcs
authorMike Frysinger <vapier@gentoo.org>
Wed, 11 Feb 2009 23:23:48 +0000 (18:23 -0500)
committerWolfgang Denk <wd@denx.de>
Fri, 20 Mar 2009 21:39:09 +0000 (22:39 +0100)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Ben Warren <biggerbadderben@gmail.com>
net/bootp.c
net/net.c

index d1cbd39c2b032743b9d86338b12012eaa3e881bb..3dea70aab0b00c72cf0f0b418ccb6ae61c3631dd 100644 (file)
@@ -573,21 +573,12 @@ BootpRequest (void)
 #ifdef CONFIG_BOOTP_RANDOM_DELAY               /* Random BOOTP delay */
        unsigned char bi_enetaddr[6];
        int   reg;
-       char  *e,*s;
-       char tmp[64];
        ulong tst1, tst2, sum, m_mask, m_value = 0;
 
        if (BootpTry ==0) {
                /* get our mac */
-               reg = getenv_r ("ethaddr", tmp, sizeof(tmp));
-               s = (reg > 0) ? tmp : NULL;
+               eth_getenv_enetaddr("ethaddr", bi_enetaddr);
 
-               for (reg=0; reg<6; ++reg) {
-                       bi_enetaddr[reg] = s ? simple_strtoul(s, &e, 16) : 0;
-                       if (s) {
-                               s = (*e) ? e+1 : e;
-                       }
-               }
 #ifdef DEBUG
                puts ("BootpRequest => Our Mac: ");
                for (reg=0; reg<6; reg++) {
index da3f4cddb16c2418e9b74e0d992c586ac7b473a3..a89f6a00e297f0697e29fe51e34e009e6086eeea 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -404,7 +404,7 @@ restart:
 #ifdef CONFIG_NET_MULTI
        memcpy (NetOurEther, eth_get_dev()->enetaddr, 6);
 #else
-       memcpy (NetOurEther, bd->bi_enetaddr, 6);
+       eth_getenv_enetaddr("ethaddr", NetOurEther);
 #endif
 
        NetState = NETLOOP_CONTINUE;
@@ -709,8 +709,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
        }
 
 #ifdef ET_DEBUG
-       printf("sending UDP to %08lx/%02x:%02x:%02x:%02x:%02x:%02x\n",
-               dest, ether[0], ether[1], ether[2], ether[3], ether[4], ether[5]);
+       printf("sending UDP to %08lx/%pM\n", dest, ether);
 #endif
 
        pkt = (uchar *)NetTxPacket;
@@ -931,11 +930,7 @@ int CDPSendTrigger(void)
 #ifdef CONFIG_CDP_DEVICE_ID
        *s++ = htons(CDP_DEVICE_ID_TLV);
        *s++ = htons(CONFIG_CDP_DEVICE_ID);
-       memset(buf, 0, sizeof(buf));
-       sprintf(buf, CONFIG_CDP_DEVICE_ID_PREFIX "%02X%02X%02X%02X%02X%02X",
-               NetOurEther[0] & 0xff, NetOurEther[1] & 0xff,
-               NetOurEther[2] & 0xff, NetOurEther[3] & 0xff,
-               NetOurEther[4] & 0xff, NetOurEther[5] & 0xff);
+       sprintf(buf, CONFIG_CDP_DEVICE_ID_PREFIX "%pm", NetOurEther);
        memcpy((uchar *)s, buf, 16);
        s += 16 / 2;
 #endif
@@ -1335,10 +1330,8 @@ NetReceive(volatile uchar * inpkt, int len)
                        if (!NetArpWaitPacketIP || !NetArpWaitPacketMAC)
                                break;
 #ifdef ET_DEBUG
-                       printf("Got ARP REPLY, set server/gtwy eth addr (%02x:%02x:%02x:%02x:%02x:%02x)\n",
-                               arp->ar_data[0], arp->ar_data[1],
-                               arp->ar_data[2], arp->ar_data[3],
-                               arp->ar_data[4], arp->ar_data[5]);
+                       printf("Got ARP REPLY, set server/gtwy eth addr (%pM)\n",
+                               arp->ar_data);
 #endif
 
                        tmp = NetReadIP(&arp->ar_data[6]);