From 9f60d09c6faaac732a62a188228a88321aad7368 Mon Sep 17 00:00:00 2001 From: patacongo Date: Tue, 2 Sep 2008 23:04:10 +0000 Subject: Add NSH ping command git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@870 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/net/uip/uip-chksum.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'nuttx/net/uip/uip-chksum.c') 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 */ -- cgit v1.2.3