From db24d24ac2a6601bd1ae4a131a3b4b0f63659c0d Mon Sep 17 00:00:00 2001 From: patacongo Date: Tue, 2 Sep 2008 20:42:01 +0000 Subject: [PATCH] Add uIP access to ICMP protocol git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@869 42af7a65-404d-4744-a932-0658087f49c3 --- ChangeLog | 8 ++- Documentation/NuttX.html | 10 ++- Documentation/NuttxPortingGuide.html | 7 ++- configs/README.txt | 6 +- configs/c5471evm/defconfig | 4 +- configs/c5471evm/dhcpconfig | 4 +- configs/c5471evm/netconfig | 4 +- configs/c5471evm/nshconfig | 4 +- configs/ez80f910200kitg/ostest/defconfig | 4 +- configs/m68332evb/defconfig | 4 +- configs/mcu123-lpc214x/defconfig | 4 +- configs/ntosd-dm320/nettest/defconfig | 4 +- configs/ntosd-dm320/nsh/defconfig | 6 +- configs/ntosd-dm320/ostest/defconfig | 4 +- configs/ntosd-dm320/udp/defconfig | 4 +- configs/ntosd-dm320/uip/defconfig | 4 +- configs/pjrc-8051/defconfig | 4 +- configs/sim/mount/defconfig | 4 +- configs/sim/nettest/defconfig | 4 +- configs/sim/ostest/defconfig | 4 +- configs/sim/pashello/defconfig | 4 +- configs/xtrs/nsh/defconfig | 4 +- configs/xtrs/ostest/defconfig | 4 +- configs/xtrs/pashello/defconfig | 4 +- configs/z16f2800100zcog/ostest/defconfig | 4 +- configs/z16f2800100zcog/pashello/defconfig | 4 +- configs/z80sim/nsh/defconfig | 4 +- configs/z80sim/ostest/defconfig | 4 +- configs/z80sim/pashello/defconfig | 4 +- configs/z8encore000zco/ostest/defconfig | 4 +- configs/z8f64200100kit/ostest/defconfig | 4 +- include/net/uip/uip-icmp.h | 72 +++++++++++++++++++--- include/net/uip/uip-tcp.h | 16 +++++ include/net/uip/uip.h | 7 ++- include/net/uip/uipopt.h | 6 ++ 35 files changed, 201 insertions(+), 41 deletions(-) diff --git a/ChangeLog b/ChangeLog index a27c01c5a0..7c9f79e587 100644 --- a/ChangeLog +++ b/ChangeLog @@ -440,5 +440,11 @@ * fseek() needs to discard bytes buffered by ungetc(). * Corrected ftell() return value. * Added fsetpos() and fgetpos(). - * NSH now supports 'test' and '[' commands + * NSH: Now supports 'test' and '[' commands + * Correct error in send() timeout logic. + * Correct error in multi-threaded socket handling in send() and sendto(). + Outgoing data could overwrite incoming data. + * Add support to uIP for application access to ICMP protocol stacks; Add + ping request logic. + * NSH: Add ping command diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index c96db7b607..f05fdc6ce9 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -8,7 +8,7 @@

NuttX RTOS

-

Last Updated: September 1, 2008

+

Last Updated: September 2, 2008

@@ -1067,7 +1067,13 @@ nuttx-0.3.14 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> * fseek() needs to discard bytes buffered by ungetc(). * Corrected ftell() return value. * Added fsetpos() and fgetpos(). - * NSH now supports 'test' and '[' commands + * NSH: Now supports 'test' and '[' commands + * Correct error in send() timeout logic. + * Correct error in multi-threaded socket handling in send() and sendto(). + Outgoing data could overwrite incoming data. + * Add support to uIP for application access to ICMP protocol stacks; Add + ping request logic. + * NSH: Add ping command pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 939ba8bdcb..2f29e0b013 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -1567,7 +1567,12 @@ The system can be re-made subsequently by just typing make. CONFIG_NET_UDP_CONNS: The maximum amount of concurrent UDP connections
  • - CONFIG_NET_ICMP: ICMP ping support on or off + CONFIG_NET_ICMP: Enable minimal ICMP support. Includes built-in support + for sending replies to received ECHO (ping) requests. +
  • +
  • + CONFIG_NET_ICMP_PING: Provide interfaces to support application level + support for sending ECHO (ping) requests and associating ECHO replies.
  • CONFIG_NET_PINGADDRCONF: Use "ping" packet for setting IP address diff --git a/configs/README.txt b/configs/README.txt index 2f8e7cbd5e..9450d72a05 100644 --- a/configs/README.txt +++ b/configs/README.txt @@ -265,7 +265,11 @@ defconfig -- This is a configuration file similar to the Linux CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections - CONFIG_NET_ICMP - ICMP ping support on or off + CONFIG_NET_ICMP - Enable minimal ICMP support. Includes built-in support + for sending replies to received ECHO (ping) requests. + CONFIG_NET_ICMP_PING - Provide interfaces to support application level + support for sending ECHO (ping) requests and associating ECHO + replies. CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address CONFIG_NET_STATISTICS - uIP statistics on or off CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's diff --git a/configs/c5471evm/defconfig b/configs/c5471evm/defconfig index 6750e0a265..ea6b6cf976 100644 --- a/configs/c5471evm/defconfig +++ b/configs/c5471evm/defconfig @@ -266,7 +266,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -287,6 +288,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/c5471evm/dhcpconfig b/configs/c5471evm/dhcpconfig index 47161aea81..ca193d9a7c 100644 --- a/configs/c5471evm/dhcpconfig +++ b/configs/c5471evm/dhcpconfig @@ -266,7 +266,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -287,6 +288,7 @@ CONFIG_NET_UDP=y CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/c5471evm/netconfig b/configs/c5471evm/netconfig index e4e4b6b72b..0ff9025f9f 100644 --- a/configs/c5471evm/netconfig +++ b/configs/c5471evm/netconfig @@ -266,7 +266,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -287,6 +288,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/c5471evm/nshconfig b/configs/c5471evm/nshconfig index 2e1e09ff47..5e65e59060 100644 --- a/configs/c5471evm/nshconfig +++ b/configs/c5471evm/nshconfig @@ -266,7 +266,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -287,6 +288,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ez80f910200kitg/ostest/defconfig b/configs/ez80f910200kitg/ostest/defconfig index 4205ff37ea..9832b48e0b 100644 --- a/configs/ez80f910200kitg/ostest/defconfig +++ b/configs/ez80f910200kitg/ostest/defconfig @@ -274,7 +274,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -294,6 +295,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/m68332evb/defconfig b/configs/m68332evb/defconfig index 0f904552c8..29357a65ae 100644 --- a/configs/m68332evb/defconfig +++ b/configs/m68332evb/defconfig @@ -255,7 +255,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -275,6 +276,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/mcu123-lpc214x/defconfig b/configs/mcu123-lpc214x/defconfig index 86c5bb95d6..bb0ddeb02f 100644 --- a/configs/mcu123-lpc214x/defconfig +++ b/configs/mcu123-lpc214x/defconfig @@ -279,7 +279,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -299,6 +300,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ntosd-dm320/nettest/defconfig b/configs/ntosd-dm320/nettest/defconfig index 0aa54bb64c..53207966a1 100644 --- a/configs/ntosd-dm320/nettest/defconfig +++ b/configs/ntosd-dm320/nettest/defconfig @@ -264,7 +264,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -284,6 +285,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ntosd-dm320/nsh/defconfig b/configs/ntosd-dm320/nsh/defconfig index fe13e3f205..21b3164d4b 100644 --- a/configs/ntosd-dm320/nsh/defconfig +++ b/configs/ntosd-dm320/nsh/defconfig @@ -1,5 +1,5 @@ ############################################################################ -# configs/ntosd-dm320/nsh/netconfig +# configs/ntosd-dm320/nsh/defconfig # # Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. # Author: Gregory Nutt @@ -270,7 +270,8 @@ CONFIG_FS_FAT=n # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -290,6 +291,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=y #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ntosd-dm320/ostest/defconfig b/configs/ntosd-dm320/ostest/defconfig index 99230bd158..286ed95801 100644 --- a/configs/ntosd-dm320/ostest/defconfig +++ b/configs/ntosd-dm320/ostest/defconfig @@ -264,7 +264,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -284,6 +285,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ntosd-dm320/udp/defconfig b/configs/ntosd-dm320/udp/defconfig index 2cf690898e..7b0aa8578d 100644 --- a/configs/ntosd-dm320/udp/defconfig +++ b/configs/ntosd-dm320/udp/defconfig @@ -264,7 +264,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -284,6 +285,7 @@ CONFIG_NET_UDP=y CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/ntosd-dm320/uip/defconfig b/configs/ntosd-dm320/uip/defconfig index cf948c98d1..e283da1ac1 100644 --- a/configs/ntosd-dm320/uip/defconfig +++ b/configs/ntosd-dm320/uip/defconfig @@ -264,7 +264,8 @@ CONFIG_PREALLOC_TIMERS=8 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -284,6 +285,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=n #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/pjrc-8051/defconfig b/configs/pjrc-8051/defconfig index 154058ba7e..4f3fd4100b 100644 --- a/configs/pjrc-8051/defconfig +++ b/configs/pjrc-8051/defconfig @@ -252,7 +252,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -272,6 +273,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/sim/mount/defconfig b/configs/sim/mount/defconfig index 528ee6c4c1..9796156521 100644 --- a/configs/sim/mount/defconfig +++ b/configs/sim/mount/defconfig @@ -225,7 +225,8 @@ CONFIG_FS_FAT=y # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -245,6 +246,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/sim/nettest/defconfig b/configs/sim/nettest/defconfig index b7c75b0683..73b2ae3f8f 100644 --- a/configs/sim/nettest/defconfig +++ b/configs/sim/nettest/defconfig @@ -225,7 +225,8 @@ CONFIG_FS_FAT=y # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -245,6 +246,7 @@ CONFIG_NET_UDP=y CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/sim/ostest/defconfig b/configs/sim/ostest/defconfig index 95368af46d..7acf0ef78a 100644 --- a/configs/sim/ostest/defconfig +++ b/configs/sim/ostest/defconfig @@ -226,7 +226,8 @@ CONFIG_FS_FAT=y # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -246,6 +247,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/sim/pashello/defconfig b/configs/sim/pashello/defconfig index 264222ac0f..5c694d5b53 100644 --- a/configs/sim/pashello/defconfig +++ b/configs/sim/pashello/defconfig @@ -225,7 +225,8 @@ CONFIG_FS_FAT=y # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -245,6 +246,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/xtrs/nsh/defconfig b/configs/xtrs/nsh/defconfig index e3880e59d2..05a7f1e40f 100644 --- a/configs/xtrs/nsh/defconfig +++ b/configs/xtrs/nsh/defconfig @@ -250,7 +250,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -270,6 +271,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/xtrs/ostest/defconfig b/configs/xtrs/ostest/defconfig index e40f6db96f..becd9fb815 100644 --- a/configs/xtrs/ostest/defconfig +++ b/configs/xtrs/ostest/defconfig @@ -250,7 +250,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -270,6 +271,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/xtrs/pashello/defconfig b/configs/xtrs/pashello/defconfig index 92b5af7474..4ba48ccf29 100644 --- a/configs/xtrs/pashello/defconfig +++ b/configs/xtrs/pashello/defconfig @@ -250,7 +250,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -270,6 +271,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z16f2800100zcog/ostest/defconfig b/configs/z16f2800100zcog/ostest/defconfig index d4a8936d2d..ba218ca3b9 100644 --- a/configs/z16f2800100zcog/ostest/defconfig +++ b/configs/z16f2800100zcog/ostest/defconfig @@ -269,7 +269,8 @@ CONFIG_PREALLOC_TIMERS=4 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -289,6 +290,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z16f2800100zcog/pashello/defconfig b/configs/z16f2800100zcog/pashello/defconfig index e89d8acf47..24e33156bd 100644 --- a/configs/z16f2800100zcog/pashello/defconfig +++ b/configs/z16f2800100zcog/pashello/defconfig @@ -269,7 +269,8 @@ CONFIG_PREALLOC_TIMERS=4 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -289,6 +290,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z80sim/nsh/defconfig b/configs/z80sim/nsh/defconfig index 59343f0f6b..2fc1e10de6 100644 --- a/configs/z80sim/nsh/defconfig +++ b/configs/z80sim/nsh/defconfig @@ -241,7 +241,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -261,6 +262,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z80sim/ostest/defconfig b/configs/z80sim/ostest/defconfig index 2bff6a578c..dc4a173ba9 100644 --- a/configs/z80sim/ostest/defconfig +++ b/configs/z80sim/ostest/defconfig @@ -241,7 +241,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -261,6 +262,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z80sim/pashello/defconfig b/configs/z80sim/pashello/defconfig index fb4d0bb368..93f12315fa 100644 --- a/configs/z80sim/pashello/defconfig +++ b/configs/z80sim/pashello/defconfig @@ -242,7 +242,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -262,6 +263,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z8encore000zco/ostest/defconfig b/configs/z8encore000zco/ostest/defconfig index e1f8cd9edc..0f0466a239 100644 --- a/configs/z8encore000zco/ostest/defconfig +++ b/configs/z8encore000zco/ostest/defconfig @@ -275,7 +275,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -295,6 +296,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/configs/z8f64200100kit/ostest/defconfig b/configs/z8f64200100kit/ostest/defconfig index 65148cb07c..c064b2e319 100644 --- a/configs/z8f64200100kit/ostest/defconfig +++ b/configs/z8f64200100kit/ostest/defconfig @@ -275,7 +275,8 @@ CONFIG_PREALLOC_TIMERS=0 # CONFIG_NET_UDP - UDP support on or off # CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off # CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections -# CONFIG_NET_ICMP - ICMP ping support on or off +# CONFIG_NET_ICMP - ICMP ping response support on or off +# CONFIG_NET_ICMP_PING - ICMP ping request support on or off # CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address # CONFIG_NET_STATISTICS - uIP statistics on or off # CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window @@ -295,6 +296,7 @@ CONFIG_NET_UDP=n CONFIG_NET_UDP_CHECKSUMS=y #CONFIG_NET_UDP_CONNS=10 CONFIG_NET_ICMP=n +CONFIG_NET_ICMP_PING=n #CONFIG_NET_PINGADDRCONF=0 CONFIG_NET_STATISTICS=y #CONFIG_NET_RECEIVE_WINDOW= diff --git a/include/net/uip/uip-icmp.h b/include/net/uip/uip-icmp.h index 816da04ab4..632653ab8d 100644 --- a/include/net/uip/uip-icmp.h +++ b/include/net/uip/uip-icmp.h @@ -2,7 +2,7 @@ * net/uip/uip-icmp.h * Header file for the uIP ICMP stack. * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * This logic was leveraged from uIP which also has a BSD-style license: @@ -53,6 +53,56 @@ * Definitions ****************************************************************************/ +/* ICMP/ICMP6 definitions */ + +/* ICMP/ICMP6 Message Types */ + +#define ICMP_ECHO_REPLY 0 /* RFC 792 */ +#define ICMP_DEST_UNREACHABLE 3 /* RFC 792 */ +#define ICMP_SRC_QUENCH 4 /* RFC 792 */ +#define ICMP_REDIRECT 5 /* RFC 792 */ +#define ICMP_ALT_HOST_ADDRESS 6 +#define ICMP_ECHO_REQUEST 8 /* RFC 792 */ +#define ICMP_ROUTER_ADVERTISEMENT 9 /* RFC 1256 */ +#define ICMP_ROUTER_SOLICITATION 10 /* RFC 1256 */ +#define ICMP_TIME_EXCEEDED 11 /* RFC 792 */ +#define ICMP_PARAMETER_PROBLEM 12 +#define ICMP_TIMESTAMP_REQUEST 13 +#define ICMP_TIMESTAMP_REPLY 14 +#define ICMP_INFORMATION_REQUEST 15 +#define ICMP_INFORMATION_REPLY 16 +#define ICMP_ADDRESS_MASK_REQUEST 17 +#define ICMP_ADDRESS_MASK_REPLY 18 +#define ICMP_TRACEROUTE 30 +#define ICMP_CONVERSION_ERROR 31 +#define ICMP_MOBILE_HOST_REDIRECT 32 +#define ICMP_IPV6_WHEREAREYOU 33 +#define ICMP_IPV6_IAMHERE 34 +#define ICMP_MOBILE_REGIS_REQUEST 35 +#define ICMP_MOBILE_REGIS_REPLY 36 +#define ICMP_DOMAIN_NAME_REQUEST 37 +#define ICMP_DOMAIN_NAME_REPLY 38 +#define ICMP_SKIP_DISCOVERY_PROTO 39 +#define ICMP_PHOTURIS_SECURITY_FAIL 40 +#define ICMP_EXP_MOBILE_PROTO 41 /* RFC 4065 */ + +/* ICMP6 Message Types */ + +#define ICMP6_ECHO_REPLY 129 +#define ICMP6_ECHO_REQUEST 128 +#define ICMP6_NEIGHBOR_SOLICITATION 135 +#define ICMP6_NEIGHBOR_ADVERTISEMENT 136 + +#define ICMP6_FLAG_S (1 << 6) + +#define ICMP6_OPTION_SOURCE_LINK_ADDRESS 1 +#define ICMP6_OPTION_TARGET_LINK_ADDRESS 2 + +/* Header sizes */ + +#define UIP_ICMPH_LEN 4 /* Size of ICMP header */ +#define UIP_IPICMPH_LEN (UIP_ICMPH_LEN + UIP_IPH_LEN) /* Size of IP + ICMP header */ + /**************************************************************************** * Public Type Definitions ****************************************************************************/ @@ -91,19 +141,27 @@ struct uip_icmpip_hdr #endif /* CONFIG_NET_IPv6 */ - /* ICMP (echo) header */ + /* ICMP header */ - uint8 type; - uint8 icode; - uint16 icmpchksum; + uint8 type; /* Defines the format of the ICMP message */ + uint8 icode; /* Further qualifies the ICMP messsage */ + uint16 icmpchksum; /* Checksum of ICMP header and data */ + + /* Data following the ICMP header contains the data specific to the + * message type indicated by the Type and Code fields. + */ #ifndef CONFIG_NET_IPv6 - uint16 id; - uint16 seqno; + /* ICMP_ECHO_REQUEST and ICMP_ECHO_REPLY data */ + + uint16 id; /* Used to match requests with replies */ + uint16 seqno; /* " " "" " " " " " " " " */ #else /* !CONFIG_NET_IPv6 */ + /* ICMP6_ECHO_REQUEST and ICMP6_ECHO_REPLY data */ + uint8 flags; uint8 reserved1; uint8 reserved2; diff --git a/include/net/uip/uip-tcp.h b/include/net/uip/uip-tcp.h index 0fa12880cf..e0d6969817 100644 --- a/include/net/uip/uip-tcp.h +++ b/include/net/uip/uip-tcp.h @@ -59,6 +59,22 @@ * Definitions ****************************************************************************/ +/* TCP definitions */ + +#define TCP_FIN 0x01 +#define TCP_SYN 0x02 +#define TCP_RST 0x04 +#define TCP_PSH 0x08 +#define TCP_ACK 0x10 +#define TCP_URG 0x20 +#define TCP_CTL 0x3f + +#define TCP_OPT_END 0 /* End of TCP options list */ +#define TCP_OPT_NOOP 1 /* "No-operation" TCP option */ +#define TCP_OPT_MSS 2 /* Maximum segment size TCP option */ + +#define TCP_OPT_MSS_LEN 4 /* Length of TCP MSS option. */ + /* The TCP states used in the struct uip_conn tcpstateflags field */ #define UIP_CLOSED 0 /* The connection is not in use and available */ diff --git a/include/net/uip/uip.h b/include/net/uip/uip.h index 08f2c14a32..54a94bf988 100644 --- a/include/net/uip/uip.h +++ b/include/net/uip/uip.h @@ -98,6 +98,11 @@ * UIP_TIMEDOUT IN: The connection has been aborted due to too many * retransmissions. (TCP only) * OUT: Not used + * UIP_ECHOREPLY IN: An ICMP Echo Reply has been received. Used to support + * ICMP ping from applications. (ICMP only) + * OUT: Cleared (only) by the application logic to indicate + * that the reply was processed, suppressing further + * attempts to process the reply. */ #define UIP_ACKDATA (1 << 0) @@ -109,8 +114,8 @@ #define UIP_ABORT (1 << 6) #define UIP_CONNECTED (1 << 7) #define UIP_TIMEDOUT (1 << 8) +#define UIP_ECHOREPLY (1 << 9) -#define UIP_DATA_EVENTS (UIP_ACKDATA|UIP_NEWDATA|UIP_REXMIT|UIP_POLL) #define UIP_CONN_EVENTS (UIP_CLOSE|UIP_ABORT|UIP_CONNECTED|UIP_TIMEDOUT) /* The buffer size available for user data in the d_buf buffer. diff --git a/include/net/uip/uipopt.h b/include/net/uip/uipopt.h index 98a5f4fce4..e71ae00df8 100644 --- a/include/net/uip/uipopt.h +++ b/include/net/uip/uipopt.h @@ -98,6 +98,12 @@ #define UIP_REASS_MAXAGE (20*10) /* 20 seconds */ +/* ICMP configuration options */ + +#if !defined(CONFIG_NET_ICMP) || defined(CONFIG_DISABLE_CLOCK) +# undef CONFIG_NET_ICMP_PING +#endif + /* UDP configuration options */ /* The maximum amount of concurrent UDP connection, Default: 10 */