summaryrefslogtreecommitdiff
path: root/net/ping.c
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2012-05-23 07:59:12 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-05-23 17:46:20 -0500
commit61da3c2af8ba7a06cb1f7e9e0db54b9ddea532ce (patch)
tree155ecfccdce94f21a183100984de28eac6b7cb6b /net/ping.c
parentf9623229fdc22e591f1bf63eada1c0c93a199426 (diff)
downloadu-boot-61da3c2af8ba7a06cb1f7e9e0db54b9ddea532ce.tar.gz
net: Refactor ping receive handler
There is no need to call through the handler... inline it Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'net/ping.c')
-rw-r--r--net/ping.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/net/ping.c b/net/ping.c
index 939f8ff6fc..0f4d99088e 100644
--- a/net/ping.c
+++ b/net/ping.c
@@ -75,20 +75,10 @@ static void ping_timeout(void)
NetState = NETLOOP_FAIL; /* we did not get the reply */
}
-static void ping_handler(uchar *pkt, unsigned dest, IPaddr_t sip,
- unsigned src, unsigned len)
-{
- if (sip != NetPingIP)
- return;
-
- NetState = NETLOOP_SUCCESS;
-}
-
void ping_start(void)
{
printf("Using %s device\n", eth_get_name());
NetSetTimeout(10000UL, ping_timeout);
- NetSetHandler(ping_handler);
ping_send();
}
@@ -100,13 +90,9 @@ void ping_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
switch (icmph->type) {
case ICMP_ECHO_REPLY:
- /*
- * IP header OK. Pass the packet to the
- * current handler.
- */
- /* XXX point to ip packet */
src_ip = NetReadIP((void *)&ip->ip_src);
- NetGetHandler()((uchar *)ip, 0, src_ip, 0, 0);
+ if (src_ip == NetPingIP)
+ NetState = NETLOOP_SUCCESS;
return;
case ICMP_ECHO_REQUEST:
debug("Got ICMP ECHO REQUEST, return "