summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nuttx/include/nuttx/net/icmp.h4
-rw-r--r--nuttx/include/nuttx/net/igmp.h2
-rw-r--r--nuttx/include/nuttx/net/netdev.h3
-rw-r--r--nuttx/include/nuttx/net/uip.h12
-rw-r--r--nuttx/net/icmp/icmp_input.c19
-rw-r--r--nuttx/net/icmp/icmp_ping.c35
-rw-r--r--nuttx/net/icmp/icmp_poll.c6
-rw-r--r--nuttx/net/icmp/icmp_send.c13
-rw-r--r--nuttx/net/uip/uip.h17
-rw-r--r--nuttx/net/uip/uip_chksum.c24
-rw-r--r--nuttx/net/uip/uip_input.c5
-rw-r--r--nuttx/net/uip/uip_poll.c3
12 files changed, 66 insertions, 77 deletions
diff --git a/nuttx/include/nuttx/net/icmp.h b/nuttx/include/nuttx/net/icmp.h
index 87464c73f..42e67f3a6 100644
--- a/nuttx/include/nuttx/net/icmp.h
+++ b/nuttx/include/nuttx/net/icmp.h
@@ -110,7 +110,7 @@
/* The ICMP and IP headers */
-struct uip_icmpip_hdr
+struct icmp_iphdr_s
{
#ifdef CONFIG_NET_IPv6
@@ -178,7 +178,7 @@ struct uip_icmpip_hdr
*/
#ifdef CONFIG_NET_STATISTICS
-struct uip_icmp_stats_s
+struct icmp_stats_s
{
uip_stats_t drop; /* Number of dropped ICMP packets */
uip_stats_t recv; /* Number of received ICMP packets */
diff --git a/nuttx/include/nuttx/net/igmp.h b/nuttx/include/nuttx/net/igmp.h
index 8f6c4daf8..ea800f170 100644
--- a/nuttx/include/nuttx/net/igmp.h
+++ b/nuttx/include/nuttx/net/igmp.h
@@ -178,7 +178,7 @@ struct uip_igmphdr_s
};
#ifdef CONFIG_NET_STATISTICS
-struct uip_igmp_stats_s
+struct igmp_stats_s
{
uint32_t length_errors;
uint32_t chksum_errors;
diff --git a/nuttx/include/nuttx/net/netdev.h b/nuttx/include/nuttx/net/netdev.h
index 670351a40..7d9f6051e 100644
--- a/nuttx/include/nuttx/net/netdev.h
+++ b/nuttx/include/nuttx/net/netdev.h
@@ -389,7 +389,6 @@ uint16_t uip_ipchksum(struct uip_driver_s *dev);
uint16_t tcp_chksum(struct uip_driver_s *dev);
uint16_t udp_chksum(struct uip_driver_s *dev);
-uint16_t uip_icmpchksum(struct uip_driver_s *dev, int len);
+uint16_t icmp_chksum(struct uip_driver_s *dev, int len);
#endif /* __INCLUDE_NUTTX_NET_NETDEV_H */
-
diff --git a/nuttx/include/nuttx/net/uip.h b/nuttx/include/nuttx/net/uip.h
index 8633a3511..00dffb159 100644
--- a/nuttx/include/nuttx/net/uip.h
+++ b/nuttx/include/nuttx/net/uip.h
@@ -249,7 +249,7 @@ struct uip_callback_s
*/
#ifdef CONFIG_NET_STATISTICS
-struct uip_ip_stats_s
+struct ip_stats_s
{
uip_stats_t drop; /* Number of dropped packets at the IP layer */
uip_stats_t recv; /* Number of received packets at the IP layer */
@@ -270,22 +270,22 @@ struct uip_ip_stats_s
struct uip_stats
{
- struct uip_ip_stats_s ip; /* IP statistics */
+ struct ip_stats_s ip; /* IP statistics */
#ifdef CONFIG_NET_ICMP
- struct uip_icmp_stats_s icmp; /* ICMP statistics */
+ struct icmp_stats_s icmp; /* ICMP statistics */
#endif
#ifdef CONFIG_NET_IGMP
- struct uip_igmp_stats_s igmp; /* IGMP statistics */
+ struct igmp_stats_s igmp; /* IGMP statistics */
#endif
#ifdef CONFIG_NET_TCP
- struct tcp_stats_s tcp; /* TCP statistics */
+ struct tcp_stats_s tcp; /* TCP statistics */
#endif
#ifdef CONFIG_NET_UDP
- struct udp_stats_s udp; /* UDP statistics */
+ struct udp_stats_s udp; /* UDP statistics */
#endif
};
#endif /* CONFIG_NET_STATISTICS */
diff --git a/nuttx/net/icmp/icmp_input.c b/nuttx/net/icmp/icmp_input.c
index 94087b9ae..55557945b 100644
--- a/nuttx/net/icmp/icmp_input.c
+++ b/nuttx/net/icmp/icmp_input.c
@@ -2,7 +2,7 @@
* net/icmp/icmp_input.c
* Handling incoming ICMP/ICMP6 input
*
- * Copyright (C) 2007-2009, 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007-2009, 2012, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Adapted for NuttX from logic in uIP which also has a BSD-like license:
@@ -54,6 +54,7 @@
#include <nuttx/net/netdev.h>
#include "uip/uip.h"
+#include "icmp/icmp.h"
#ifdef CONFIG_NET_ICMP
@@ -61,7 +62,7 @@
* Pre-processor Definitions
****************************************************************************/
-#define ICMPBUF ((struct uip_icmpip_hdr *)&dev->d_buf[UIP_LLH_LEN])
+#define ICMPBUF ((struct icmp_iphdr_s *)&dev->d_buf[UIP_LLH_LEN])
/****************************************************************************
* Public Variables
@@ -72,7 +73,7 @@
****************************************************************************/
#ifdef CONFIG_NET_ICMP_PING
-struct uip_callback_s *g_echocallback = NULL;
+FAR struct uip_callback_s *g_echocallback = NULL;
#endif
/****************************************************************************
@@ -84,7 +85,7 @@ struct uip_callback_s *g_echocallback = NULL;
****************************************************************************/
/****************************************************************************
- * Name: uip_icmpinput
+ * Name: icmp_input
*
* Description:
* Handle incoming ICMP/ICMP6 input
@@ -101,9 +102,9 @@ struct uip_callback_s *g_echocallback = NULL;
*
****************************************************************************/
-void uip_icmpinput(struct uip_driver_s *dev)
+void icmp_input(FAR struct uip_driver_s *dev)
{
- struct uip_icmpip_hdr *picmp = ICMPBUF;
+ FAR struct icmp_iphdr_s *picmp = ICMPBUF;
#ifdef CONFIG_NET_STATISTICS
uip_stat.icmp.recv++;
@@ -146,7 +147,7 @@ void uip_icmpinput(struct uip_driver_s *dev)
/* The slow way... sum over the ICMP message */
picmp->icmpchksum = 0;
- picmp->icmpchksum = ~uip_icmpchksum(dev, (((uint16_t)picmp->len[0] << 8) | (uint16_t)picmp->len[1]) - UIP_IPH_LEN);
+ picmp->icmpchksum = ~icmp_chksum(dev, (((uint16_t)picmp->len[0] << 8) | (uint16_t)picmp->len[1]) - UIP_IPH_LEN);
if (picmp->icmpchksum == 0)
{
picmp->icmpchksum = 0xffff;
@@ -235,7 +236,7 @@ typeerr:
picmp->options[1] = 1; /* Options length, 1 = 8 bytes. */
memcpy(&(picmp->options[2]), &dev->d_mac, IFHWADDRLEN);
picmp->icmpchksum = 0;
- picmp->icmpchksum = ~uip_icmp6chksum(dev);
+ picmp->icmpchksum = ~icmp_6chksum(dev);
}
else
{
@@ -254,7 +255,7 @@ typeerr:
uiphdr_ipaddr_copy(picmp->destipaddr, picmp->srcipaddr);
uiphdr_ipaddr_copy(picmp->srcipaddr, &dev->d_ipaddr);
picmp->icmpchksum = 0;
- picmp->icmpchksum = ~uip_icmp6chksum(dev);
+ picmp->icmpchksum = ~icmp_6chksum(dev);
}
/* If an ICMP echo reply is received then there should also be
diff --git a/nuttx/net/icmp/icmp_ping.c b/nuttx/net/icmp/icmp_ping.c
index adcc3626c..549266e6a 100644
--- a/nuttx/net/icmp/icmp_ping.c
+++ b/nuttx/net/icmp/icmp_ping.c
@@ -1,7 +1,7 @@
/****************************************************************************
* net/icmp/icmp_ping.c
*
- * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2008-2012, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -54,19 +54,21 @@
#include <nuttx/net/netdev.h>
#include "uip/uip.h"
-#include "../net.h" /* Should not include this! */
+#include "icmp/icmp.h"
+
+#include "net.h"
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-#define ICMPBUF ((struct uip_icmpip_hdr *)&dev->d_buf[UIP_LLH_LEN])
-#define ICMPDAT (&dev->d_buf[UIP_LLH_LEN + sizeof(struct uip_icmpip_hdr)])
+#define ICMPBUF ((struct icmp_iphdr_s *)&dev->d_buf[UIP_LLH_LEN])
+#define ICMPDAT (&dev->d_buf[UIP_LLH_LEN + sizeof(struct icmp_iphdr_s)])
/* Allocate a new ICMP data callback */
-#define uip_icmpcallbackalloc() uip_callbackalloc(&g_echocallback)
-#define uip_icmpcallbackfree(cb) uip_callbackfree(cb, &g_echocallback)
+#define icmp_callbackalloc() uip_callbackalloc(&g_echocallback)
+#define icmp_callbackfree(cb) uip_callbackfree(cb, &g_echocallback)
/****************************************************************************
* Private Types
@@ -116,7 +118,7 @@ struct icmp_ping_s
*
****************************************************************************/
-static inline int ping_timeout(struct icmp_ping_s *pstate)
+static inline int ping_timeout(FAR struct icmp_ping_s *pstate)
{
uint32_t elapsed = clock_systimer() - pstate->png_time;
if (elapsed >= pstate->png_ticks)
@@ -148,11 +150,11 @@ static inline int ping_timeout(struct icmp_ping_s *pstate)
*
****************************************************************************/
-static uint16_t ping_interrupt(struct uip_driver_s *dev, void *conn,
- void *pvpriv, uint16_t flags)
+static uint16_t ping_interrupt(FAR struct uip_driver_s *dev, FAR void *conn,
+ FAR void *pvpriv, uint16_t flags)
{
- struct icmp_ping_s *pstate = (struct icmp_ping_s *)pvpriv;
- uint8_t *ptr;
+ FAR struct icmp_ping_s *pstate = (struct icmp_ping_s *)pvpriv;
+ FAR uint8_t *ptr;
int i;
nllvdbg("flags: %04x\n", flags);
@@ -166,7 +168,8 @@ static uint16_t ping_interrupt(struct uip_driver_s *dev, void *conn,
if ((flags & UIP_ECHOREPLY) != 0 && conn != NULL)
{
- struct uip_icmpip_hdr *icmp = (struct uip_icmpip_hdr *)conn;
+ FAR struct icmp_iphdr_s *icmp = (FAR struct icmp_iphdr_s *)conn;
+
nlldbg("ECHO reply: id=%d seqno=%d\n",
ntohs(icmp->id), ntohs(icmp->seqno));
@@ -202,7 +205,7 @@ static uint16_t ping_interrupt(struct uip_driver_s *dev, void *conn,
(flags & UIP_NEWDATA) == 0 && /* No incoming data */
!pstate->png_sent) /* Request not sent */
{
- struct uip_icmpip_hdr *picmp = ICMPBUF;
+ FAR struct icmp_iphdr_s *picmp = ICMPBUF;
/* We can send the ECHO request now.
*
@@ -232,7 +235,7 @@ static uint16_t ping_interrupt(struct uip_driver_s *dev, void *conn,
nlldbg("Send ECHO request: seqno=%d\n", pstate->png_seqno);
dev->d_sndlen = pstate->png_datlen + 4;
- uip_icmpsend(dev, &pstate->png_addr);
+ icmp_send(dev, &pstate->png_addr);
pstate->png_sent = true;
return flags;
}
@@ -342,7 +345,7 @@ int uip_ping(uip_ipaddr_t addr, uint16_t id, uint16_t seqno,
/* Set up the callback */
- state.png_cb = uip_icmpcallbackalloc();
+ state.png_cb = icmp_callbackalloc();
if (state.png_cb)
{
state.png_cb->flags = UIP_POLL|UIP_ECHOREPLY;
@@ -364,7 +367,7 @@ int uip_ping(uip_ipaddr_t addr, uint16_t id, uint16_t seqno,
nlldbg("Start time: 0x%08x seqno: %d\n", state.png_time, seqno);
uip_lockedwait(&state.png_sem);
- uip_icmpcallbackfree(state.png_cb);
+ icmp_callbackfree(state.png_cb);
}
uip_unlock(save);
diff --git a/nuttx/net/icmp/icmp_poll.c b/nuttx/net/icmp/icmp_poll.c
index 2d79255e7..208f933a3 100644
--- a/nuttx/net/icmp/icmp_poll.c
+++ b/nuttx/net/icmp/icmp_poll.c
@@ -1,7 +1,7 @@
/****************************************************************************
* net/icmp/icmp_poll.c
*
- * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2008-2009, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -69,7 +69,7 @@
****************************************************************************/
/****************************************************************************
- * Name: uip_icmppoll
+ * Name: icmp_poll
*
* Description:
* Poll a UDP "connection" structure for availability of TX data
@@ -85,7 +85,7 @@
*
****************************************************************************/
-void uip_icmppoll(struct uip_driver_s *dev)
+void icmp_poll(FAR struct uip_driver_s *dev)
{
/* Setup for the application callback */
diff --git a/nuttx/net/icmp/icmp_send.c b/nuttx/net/icmp/icmp_send.c
index 96df208ea..0f72b3b3e 100644
--- a/nuttx/net/icmp/icmp_send.c
+++ b/nuttx/net/icmp/icmp_send.c
@@ -1,7 +1,7 @@
/****************************************************************************
* net/icmp/icmp_send.c
*
- * Copyright (C) 2008-2010, 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2008-2010, 2012, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -47,12 +47,13 @@
#include <nuttx/net/netdev.h>
#include "uip/uip.h"
+#include "icmp/icmp.h"
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-#define ICMPBUF ((struct uip_icmpip_hdr *)&dev->d_buf[UIP_LLH_LEN])
+#define ICMPBUF ((struct icmp_iphdr_s *)&dev->d_buf[UIP_LLH_LEN])
/****************************************************************************
* Public Variables
@@ -71,7 +72,7 @@
****************************************************************************/
/****************************************************************************
- * Name: uip_icmpsend
+ * Name: icmp_send
*
* Description:
* Setup to send an ICMP packet
@@ -87,9 +88,9 @@
*
****************************************************************************/
-void uip_icmpsend(struct uip_driver_s *dev, uip_ipaddr_t *destaddr)
+void icmp_send(FAR struct uip_driver_s *dev, FAR uip_ipaddr_t *destaddr)
{
- struct uip_icmpip_hdr *picmp = ICMPBUF;
+ FAR struct icmp_iphdr_s *picmp = ICMPBUF;
if (dev->d_sndlen > 0)
{
@@ -149,7 +150,7 @@ void uip_icmpsend(struct uip_driver_s *dev, uip_ipaddr_t *destaddr)
/* Calculate the ICMP checksum. */
picmp->icmpchksum = 0;
- picmp->icmpchksum = ~(uip_icmpchksum(dev, dev->d_sndlen));
+ picmp->icmpchksum = ~(icmp_chksum(dev, dev->d_sndlen));
if (picmp->icmpchksum == 0)
{
picmp->icmpchksum = 0xffff;
diff --git a/nuttx/net/uip/uip.h b/nuttx/net/uip/uip.h
index 5796ccadc..cbca8e650 100644
--- a/nuttx/net/uip/uip.h
+++ b/nuttx/net/uip/uip.h
@@ -125,23 +125,6 @@ void uip_pktpoll(struct uip_driver_s *dev, struct uip_pkt_conn *conn);
#endif /* CONFIG_NET_PKT */
-#ifdef CONFIG_NET_ICMP
-/* Defined in icmp_input.c **************************************************/
-
-void uip_icmpinput(struct uip_driver_s *dev);
-
-#ifdef CONFIG_NET_ICMP_PING
-/* Defined in icmp_poll.c ***************************************************/
-
-void uip_icmppoll(struct uip_driver_s *dev);
-
-/* Defined in icmp_send.c ***************************************************/
-
-void uip_icmpsend(struct uip_driver_s *dev, uip_ipaddr_t *destaddr);
-
-#endif /* CONFIG_NET_ICMP_PING */
-#endif /* CONFIG_NET_ICMP */
-
#ifdef CONFIG_NET_IGMP
/* Defined in igmp_init.c ***************************************************/
diff --git a/nuttx/net/uip/uip_chksum.c b/nuttx/net/uip/uip_chksum.c
index 26b683314..3537b3a65 100644
--- a/nuttx/net/uip/uip_chksum.c
+++ b/nuttx/net/uip/uip_chksum.c
@@ -54,7 +54,7 @@
****************************************************************************/
#define BUF ((struct uip_ip_hdr *)&dev->d_buf[UIP_LLH_LEN])
-#define ICMPBUF ((struct uip_icmpip_hdr *)&dev->d_buf[UIP_LLH_LEN])
+#define ICMPBUF ((struct icmp_iphdr_s *)&dev->d_buf[UIP_LLH_LEN])
/****************************************************************************
* Private Data
@@ -65,7 +65,7 @@
****************************************************************************/
#if !UIP_ARCH_CHKSUM
-static uint16_t chksum(uint16_t sum, const uint8_t *data, uint16_t len)
+static uint16_t chksum(uint16_t sum, FAR const uint8_t *data, uint16_t len)
{
uint16_t t;
const uint8_t *dataptr;
@@ -103,7 +103,7 @@ static uint16_t chksum(uint16_t sum, const uint8_t *data, uint16_t len)
return sum;
}
-static uint16_t upper_layer_chksum(struct uip_driver_s *dev, uint8_t proto)
+static uint16_t upper_layer_chksum(FAR struct uip_driver_s *dev, uint8_t proto)
{
struct uip_ip_hdr *pbuf = BUF;
uint16_t upper_layer_len;
@@ -133,7 +133,7 @@ static uint16_t upper_layer_chksum(struct uip_driver_s *dev, uint8_t proto)
}
#ifdef CONFIG_NET_IPv6
-static uint16_t uip_icmp6chksum(struct uip_driver_s *dev)
+static uint16_t icmp_6chksum(FAR struct uip_driver_s *dev)
{
return upper_layer_chksum(dev, UIP_PROTO_ICMP6);
}
@@ -148,7 +148,7 @@ static uint16_t uip_icmp6chksum(struct uip_driver_s *dev)
/* Calculate the Internet checksum over a buffer. */
#if !UIP_ARCH_ADD32
-static inline void uip_carry32(uint8_t *sum, uint16_t op16)
+static inline void uip_carry32(FAR uint8_t *sum, uint16_t op16)
{
if (sum[2] < (op16 >> 8))
{
@@ -173,7 +173,7 @@ static inline void uip_carry32(uint8_t *sum, uint16_t op16)
}
}
-void uip_incr32(uint8_t *op32, uint16_t op16)
+void uip_incr32(FAR uint8_t *op32, uint16_t op16)
{
op32[3] += (op16 & 0xff);
op32[2] += (op16 >> 8);
@@ -183,7 +183,7 @@ void uip_incr32(uint8_t *op32, uint16_t op16)
#endif /* UIP_ARCH_ADD32 */
#if !UIP_ARCH_CHKSUM
-uint16_t uip_chksum(uint16_t *data, uint16_t len)
+uint16_t uip_chksum(FAR uint16_t *data, uint16_t len)
{
return htons(chksum(0, (uint8_t *)data, len));
}
@@ -191,7 +191,7 @@ uint16_t uip_chksum(uint16_t *data, uint16_t len)
/* Calculate the IP header checksum of the packet header in d_buf. */
#ifndef UIP_ARCH_IPCHKSUM
-uint16_t uip_ipchksum(struct uip_driver_s *dev)
+uint16_t uip_ipchksum(FAR struct uip_driver_s *dev)
{
uint16_t sum;
@@ -202,7 +202,7 @@ uint16_t uip_ipchksum(struct uip_driver_s *dev)
/* Calculate the TCP checksum of the packet in d_buf and d_appdata. */
-uint16_t tcp_chksum(struct uip_driver_s *dev)
+uint16_t tcp_chksum(FAR struct uip_driver_s *dev)
{
return upper_layer_chksum(dev, UIP_PROTO_TCP);
}
@@ -210,7 +210,7 @@ uint16_t tcp_chksum(struct uip_driver_s *dev)
/* Calculate the UDP checksum of the packet in d_buf and d_appdata. */
#ifdef CONFIG_NET_UDP_CHECKSUMS
-uint16_t udp_chksum(struct uip_driver_s *dev)
+uint16_t udp_chksum(FAR struct uip_driver_s *dev)
{
return upper_layer_chksum(dev, UIP_PROTO_UDP);
}
@@ -219,9 +219,9 @@ uint16_t udp_chksum(struct uip_driver_s *dev)
/* Calculate the checksum of the ICMP message */
#if defined(CONFIG_NET_ICMP) && defined(CONFIG_NET_ICMP_PING)
-uint16_t uip_icmpchksum(struct uip_driver_s *dev, int len)
+uint16_t icmp_chksum(FAR struct uip_driver_s *dev, int len)
{
- struct uip_icmpip_hdr *picmp = ICMPBUF;
+ FAR struct icmp_iphdr_s *picmp = ICMPBUF;
return uip_chksum((uint16_t*)&picmp->type, len);
}
#endif
diff --git a/nuttx/net/uip/uip_input.c b/nuttx/net/uip/uip_input.c
index c772eab85..544c94d9c 100644
--- a/nuttx/net/uip/uip_input.c
+++ b/nuttx/net/uip/uip_input.c
@@ -96,6 +96,7 @@
#include "uip/uip.h"
#include "tcp/tcp.h"
#include "udp/udp.h"
+#include "icmp/icmp.h"
/****************************************************************************
* Pre-processor Definitions
@@ -436,7 +437,7 @@ int uip_input(struct uip_driver_s *dev)
if (pbuf->proto == UIP_PROTO_ICMP)
{
nlldbg("Possible ping config packet received\n");
- uip_icmpinput(dev);
+ icmp_input(dev);
goto drop;
}
else
@@ -526,7 +527,7 @@ int uip_input(struct uip_driver_s *dev)
#else
case UIP_PROTO_ICMP6: /* ICMP6 input */
#endif
- uip_icmpinput(dev);
+ icmp_input(dev);
break;
#endif
diff --git a/nuttx/net/uip/uip_poll.c b/nuttx/net/uip/uip_poll.c
index e8ed2dded..b5566441d 100644
--- a/nuttx/net/uip/uip_poll.c
+++ b/nuttx/net/uip/uip_poll.c
@@ -49,6 +49,7 @@
#include "uip/uip.h"
#include "tcp/tcp.h"
#include "udp/udp.h"
+#include "icmp/icmp.h"
/****************************************************************************
* Private Data
@@ -112,7 +113,7 @@ static inline int uip_pollicmp(FAR struct uip_driver_s *dev,
{
/* Perform the UDP TX poll */
- uip_icmppoll(dev);
+ icmp_poll(dev);
/* Call back into the driver */