
Hi Joe,
On Wed, Mar 28, 2012 at 12:42 PM, Joe Hershberger joe.hershberger@ni.comwrote:
Signed-off-by: Joe Hershberger joe.hershberger@ni.com Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Simon Glass sjg@chromium.org Cc: Mike Frysinger vapier@gentoo.org
Just a few nits, but otherwise:
Acked-by: Simon Glass sjg@chromium.org
Changes for v2:
- Moved void to the same line as function
- Eliminate CamelCase in new function name
net/net.c | 27 +-------------------------- net/rarp.c | 45 +++++++++++++++++++++++++++++---------------- net/rarp.h | 6 +++--- 3 files changed, 33 insertions(+), 45 deletions(-)
diff --git a/net/net.c b/net/net.c index ef084ba..a812298 100644 --- a/net/net.c +++ b/net/net.c @@ -82,9 +82,7 @@ #include "arp.h" #include "bootp.h" #include "tftp.h" -#ifdef CONFIG_CMD_RARP #include "rarp.h" -#endif #include "nfs.h" #ifdef CONFIG_STATUS_LED #include <status_led.h> @@ -855,9 +853,6 @@ NetReceive(uchar *inpkt, int len) { Ethernet_t *et; IP_t *ip; -#ifdef CONFIG_CMD_RARP
ARP_t *arp;
-#endif IPaddr_t tmp; IPaddr_t src_ip; int x; @@ -962,27 +957,7 @@ NetReceive(uchar *inpkt, int len)
#ifdef CONFIG_CMD_RARP case PROT_RARP:
debug("Got RARP\n");
arp = (ARP_t *)ip;
if (len < ARP_HDR_SIZE) {
printf("bad length %d < %d\n", len, ARP_HDR_SIZE);
return;
}
if ((ntohs(arp->ar_op) != RARPOP_REPLY) ||
(ntohs(arp->ar_hrd) != ARP_ETHER) ||
(ntohs(arp->ar_pro) != PROT_IP) ||
(arp->ar_hln != 6) || (arp->ar_pln != 4)) {
puts("invalid RARP header\n");
} else {
NetCopyIP(&NetOurIP, &arp->ar_data[16]);
if (NetServerIP == 0)
NetCopyIP(&NetServerIP, &arp->ar_data[6]);
memcpy(NetServerEther, &arp->ar_data[0], 6);
(*packetHandler)(0, 0, 0, 0, 0);
}
rarp_receive(ip, len); break;
#endif case PROT_IP: diff --git a/net/rarp.c b/net/rarp.c index 5a813a2..9864468 100644 --- a/net/rarp.c +++ b/net/rarp.c @@ -36,26 +36,43 @@ # define TIMEOUT_COUNT (CONFIG_NET_RETRY_COUNT) #endif
-int RarpTry; +int RarpTry;
/*
Handle a RARP received packet.
*/ -static void -RarpHandler(uchar *dummi0, unsigned dummi1, IPaddr_t sip, unsigned dummi2,
unsigned dummi3)
+void rarp_receive(IP_t *ip, unsigned len) {
debug("Got good RARP\n");
net_auto_load();
ARP_t *arp;
debug("Got RARP\n");
arp = (ARP_t *)ip;
if (len < ARP_HDR_SIZE) {
printf("bad length %d < %d\n", len, ARP_HDR_SIZE);
return;
}
if ((ntohs(arp->ar_op) != RARPOP_REPLY) ||
(ntohs(arp->ar_hrd) != ARP_ETHER) ||
(ntohs(arp->ar_pro) != PROT_IP) ||
(arp->ar_hln != 6) || (arp->ar_pln != 4)) {
puts("invalid RARP header\n");
} else {
NetCopyIP(&NetOurIP, &arp->ar_data[16]);
if (NetServerIP == 0)
NetCopyIP(&NetServerIP, &arp->ar_data[6]);
memcpy(NetServerEther, &arp->ar_data[0], 6);
debug("Got good RARP\n");
net_auto_load();
}
}
/*
Timeout on BOOTP request.
*/ -static void -RarpTimeout(void) +static void RarpTimeout(void) { if (RarpTry >= TIMEOUT_COUNT) { puts("\nRetry count exceeded; starting again\n"); @@ -67,10 +84,8 @@ RarpTimeout(void) }
-void -RarpRequest(void) +void RarpRequest(void) {
int i; uchar *pkt; ARP_t *rarp;
@@ -90,12 +105,10 @@ RarpRequest(void) memcpy(&rarp->ar_data[6], &NetOurIP, 4); /* source IP addr */ /* dest ET addr = source ET addr ??*/ memcpy(&rarp->ar_data[10], NetOurEther, 6);
/* dest. IP addr set to broadcast */
for (i = 0; i <= 3; i++)
rarp->ar_data[16 + i] = 0xff;
/* dest IP addr set to broadcast */
memset(&rarp->ar_data[16], 0xff, 4);
Remove extra spaces perhaps
NetSendPacket(NetTxPacket, (pkt - NetTxPacket) + ARP_HDR_SIZE); NetSetTimeout(TIMEOUT, RarpTimeout);
NetSetHandler(RarpHandler);
} diff --git a/net/rarp.h b/net/rarp.h index 4e92d80..e5a6c39 100644 --- a/net/rarp.h +++ b/net/rarp.h @@ -21,14 +21,12 @@
- MA 02111-1307 USA
*/
+#if defined(CONFIG_CMD_RARP)
#ifndef __RARP_H__ #define __RARP_H__
-#ifndef __NET_H__ #include <net.h> -#endif /* __NET_H__ */
/**********************************************************************/ /* @@ -37,8 +35,10 @@
extern int RarpTry;
+extern void rarp_receive(IP_t *ip, unsigned len);
How about a comment on this?
extern void RarpRequest(void); /* Send a RARP request */
/**********************************************************************/
#endif /* __RARP_H__ */
+#endif
1.6.0.2