[En-Nut-Discussion] RE: ARP packets crashing the TCP stack

Harald Kipp harald.kipp at egnite.de
Tue Jun 20 10:10:01 CEST 2006


Hi,

While reading several messages in this list, I'd like to make a
general comment first. I'd recommend to use specific terms in order
to avoid confusion.

Crash:
http://en.wikipedia.org/wiki/Crash_%28computing%29
This may include watchdog resets.

However, if it's known, that the system reboots due to a watchdog
timeout, this should be clearly stated. In most cases the reset
is then caused by not returning from a specific function call and
it should be easy to locate this.

Now to Don's post:

At 09:28 20.06.2006 +1000, you wrote:

>An observation
>
>( caution - I --USE-- NutOS but know bugger all --ABOUT-- NutOS ;-)

We are all experimenting in the dark. :-)


>If a telnet connection is interrupted ( remove network cable )with data 
>still in the stream allocated to the telnet port then the device will crash.

That makes me wonder. If you remove a network cable, the telnet
connection will last forever on the receiver side. That's how
TCP works. It may be avoided by keep alive packets (not supported
by Nut/OS) or timeouts (supported by Nut/OS).

There had been discussions about informing the application about
link loss. In real world applications this will be typically useful,
but as I pointed out several times here several times, this is
contrary to the philosophy behind TCP. Portable applications
should be able to handle link losses without being notified.

The sender will receive an error after some time. This time is
not configurable, btw.

Anyway, under no circumstances the TCP stack should crash, if
the connection is terminated with not all buffered data sent
out.


>Could the SYSLOG message be intermittently failing & not be handled?

Syslog is based on UDP. The packet will silently evaporate.

Regards,
Harald




More information about the En-Nut-Discussion mailing list