summaryrefslogtreecommitdiff
path: root/nuttx/net/uip/uip-chksum.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-09-02 23:04:10 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-09-02 23:04:10 +0000
commit9f60d09c6faaac732a62a188228a88321aad7368 (patch)
tree4404ee0e25d63abaad5e23b9aa8dce9ed6a9c8e9 /nuttx/net/uip/uip-chksum.c
parent8a2d54981a1c1ee6563f3444cffc1d2d4784156e (diff)
downloadpx4-nuttx-9f60d09c6faaac732a62a188228a88321aad7368.tar.gz
px4-nuttx-9f60d09c6faaac732a62a188228a88321aad7368.tar.bz2
px4-nuttx-9f60d09c6faaac732a62a188228a88321aad7368.zip
Add NSH ping command
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@870 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/net/uip/uip-chksum.c')
-rw-r--r--nuttx/net/uip/uip-chksum.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/nuttx/net/uip/uip-chksum.c b/nuttx/net/uip/uip-chksum.c
index 50602f481..479ebc797 100644
--- a/nuttx/net/uip/uip-chksum.c
+++ b/nuttx/net/uip/uip-chksum.c
@@ -55,6 +55,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])
/****************************************************************************
* Private Data
@@ -224,6 +225,16 @@ uint16 uip_udpchksum(struct uip_driver_s *dev)
return upper_layer_chksum(dev, UIP_PROTO_UDP);
}
#endif
+
+/* Calculate the checksum of the ICMP message */
+
+#if defined(CONFIG_NET_ICMP) && defined(CONFIG_NET_ICMP_PING)
+uint16 uip_icmpchksum(struct uip_driver_s *dev)
+{
+ return uip_chksum((uint16*)&ICMPBUF->type, dev->d_sndlen);
+}
+#endif
+
#endif /* UIP_ARCH_CHKSUM */
#endif /* CONFIG_NET */