net: get mac address from environment and use eth util funcs
Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
500b6c51e4
commit
95823ca077
11
net/bootp.c
11
net/bootp.c
|
@ -573,21 +573,12 @@ BootpRequest (void)
|
||||||
#ifdef CONFIG_BOOTP_RANDOM_DELAY /* Random BOOTP delay */
|
#ifdef CONFIG_BOOTP_RANDOM_DELAY /* Random BOOTP delay */
|
||||||
unsigned char bi_enetaddr[6];
|
unsigned char bi_enetaddr[6];
|
||||||
int reg;
|
int reg;
|
||||||
char *e,*s;
|
|
||||||
char tmp[64];
|
|
||||||
ulong tst1, tst2, sum, m_mask, m_value = 0;
|
ulong tst1, tst2, sum, m_mask, m_value = 0;
|
||||||
|
|
||||||
if (BootpTry ==0) {
|
if (BootpTry ==0) {
|
||||||
/* get our mac */
|
/* get our mac */
|
||||||
reg = getenv_r ("ethaddr", tmp, sizeof(tmp));
|
eth_getenv_enetaddr("ethaddr", bi_enetaddr);
|
||||||
s = (reg > 0) ? tmp : NULL;
|
|
||||||
|
|
||||||
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
|
#ifdef DEBUG
|
||||||
puts ("BootpRequest => Our Mac: ");
|
puts ("BootpRequest => Our Mac: ");
|
||||||
for (reg=0; reg<6; reg++) {
|
for (reg=0; reg<6; reg++) {
|
||||||
|
|
17
net/net.c
17
net/net.c
|
@ -404,7 +404,7 @@ restart:
|
||||||
#ifdef CONFIG_NET_MULTI
|
#ifdef CONFIG_NET_MULTI
|
||||||
memcpy (NetOurEther, eth_get_dev()->enetaddr, 6);
|
memcpy (NetOurEther, eth_get_dev()->enetaddr, 6);
|
||||||
#else
|
#else
|
||||||
memcpy (NetOurEther, bd->bi_enetaddr, 6);
|
eth_getenv_enetaddr("ethaddr", NetOurEther);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NetState = NETLOOP_CONTINUE;
|
NetState = NETLOOP_CONTINUE;
|
||||||
|
@ -709,8 +709,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ET_DEBUG
|
#ifdef ET_DEBUG
|
||||||
printf("sending UDP to %08lx/%02x:%02x:%02x:%02x:%02x:%02x\n",
|
printf("sending UDP to %08lx/%pM\n", dest, ether);
|
||||||
dest, ether[0], ether[1], ether[2], ether[3], ether[4], ether[5]);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pkt = (uchar *)NetTxPacket;
|
pkt = (uchar *)NetTxPacket;
|
||||||
|
@ -931,11 +930,7 @@ int CDPSendTrigger(void)
|
||||||
#ifdef CONFIG_CDP_DEVICE_ID
|
#ifdef CONFIG_CDP_DEVICE_ID
|
||||||
*s++ = htons(CDP_DEVICE_ID_TLV);
|
*s++ = htons(CDP_DEVICE_ID_TLV);
|
||||||
*s++ = htons(CONFIG_CDP_DEVICE_ID);
|
*s++ = htons(CONFIG_CDP_DEVICE_ID);
|
||||||
memset(buf, 0, sizeof(buf));
|
sprintf(buf, CONFIG_CDP_DEVICE_ID_PREFIX "%pm", NetOurEther);
|
||||||
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);
|
|
||||||
memcpy((uchar *)s, buf, 16);
|
memcpy((uchar *)s, buf, 16);
|
||||||
s += 16 / 2;
|
s += 16 / 2;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1335,10 +1330,8 @@ NetReceive(volatile uchar * inpkt, int len)
|
||||||
if (!NetArpWaitPacketIP || !NetArpWaitPacketMAC)
|
if (!NetArpWaitPacketIP || !NetArpWaitPacketMAC)
|
||||||
break;
|
break;
|
||||||
#ifdef ET_DEBUG
|
#ifdef ET_DEBUG
|
||||||
printf("Got ARP REPLY, set server/gtwy eth addr (%02x:%02x:%02x:%02x:%02x:%02x)\n",
|
printf("Got ARP REPLY, set server/gtwy eth addr (%pM)\n",
|
||||||
arp->ar_data[0], arp->ar_data[1],
|
arp->ar_data);
|
||||||
arp->ar_data[2], arp->ar_data[3],
|
|
||||||
arp->ar_data[4], arp->ar_data[5]);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
tmp = NetReadIP(&arp->ar_data[6]);
|
tmp = NetReadIP(&arp->ar_data[6]);
|
||||||
|
|
Loading…
Reference in New Issue