[En-Nut-Discussion] Feedback

Harald Kipp harald.kipp at egnite.de
Thu Sep 12 10:20:12 CEST 2002


Hi Mike,


NutKPrint
---------
NutKPrint.. functions had been implemented as a
temporary hack to have debug output even within
interrupt routines.

Since the ATmega128 we use JTAG for debugging and
typical applications won't require formatted output
during interrupts. So I decided to scrap these
functions.

Another advantage of NutKPrint was, that it doesn't
require NutPrintFlush. I expanded the normal NutPrint
functions with raw UART0 output. To use this, simply
call these functions with a null pointer instead of
a device: NutPrintString(0, "blahblah").

Btw., any reason why you don't use the interrupt
driven uart routines?

SYN
---
Good argument. I'll change this. There is, however, a
slight change, that this may introduce a new problem.
1. Ethernut listens to port 80
2. Host connects with local port 1024
3. Both are talking to each other
4. Host crashes and reboots
5. Ethernut is unable to see this reboot, waiting.
6. Host tries to connect with local port 1024
7. Ethernut is unable to use a new connection,
    because host:1024 - ethernut:80 is established
One solution: Only discard SYN with ISN (initial sequence
number) of the host and still reject all others. What do
you think?

Round Trip Time
---------------
Not calculating the round trip time is a big disadvantage
of the stack. It works, even with Internet connections,
when they are fast enough. But in your case it's probably
required.

Retransmission Timer
--------------------
so_retran_time is indeed 0 on a new socket. When coded this
I felt, that something is wrong. But as we say in Germany,
I didn't see the forest because of all the trees. :-)
Looks like a bug.

Harald




More information about the En-Nut-Discussion mailing list