diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-09-02 23:04:10 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-09-02 23:04:10 +0000 |
commit | 9f60d09c6faaac732a62a188228a88321aad7368 (patch) | |
tree | 4404ee0e25d63abaad5e23b9aa8dce9ed6a9c8e9 /nuttx/net/uip/uip-chksum.c | |
parent | 8a2d54981a1c1ee6563f3444cffc1d2d4784156e (diff) | |
download | px4-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.c | 11 |
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 */ |