[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AW: [lwip-users] AVR32 Software Framework EVK1100 and LwIP operates too
From: |
Delta Control - Bernd Uttich |
Subject: |
AW: [lwip-users] AVR32 Software Framework EVK1100 and LwIP operates too slow |
Date: |
Mon, 4 Oct 2010 13:11:59 +0200 |
Dear Kieran,
so far, I was not able to set TF_NODELAY. My question was, where would I have
to specify this option?
Can you help me here?
Here a short snap of lwipopts.h:
#define TCP_WND 2048
/* Controls if TCP should queue segments that arrive out of
order. Define to 0 if your device is low on memory. */
#define TCP_QUEUE_OOSEQ 1
/* TCP Maximum segment size. */
#define TCP_MSS 1024
/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF 2048
Hope this is sufficient?
Bernd
Betreff: Re: [lwip-users] AVR32 Software Framework EVK1100 and LwIP operates
too slow
On Mon, 2010-10-04 at 12:31 +0200, Delta Control - Bernd Uttich wrote:
> Dear LwIP users,
>
>
>
> I currently work on a project were LwIP is ported to AVR32 control
> panel. I recognized that any time a packet is transmitted from
>
> web server to host PC, it takes ~200ms until an ack is sent back from
> windows site.
That's the TCP delayed ACK algorithm. I suspect what you're seeing is
this interacting badly with the Nagle algorithm that delays sending data
until there is a full segment to send. TF_NODELAY disables Nagle's
algorithm, and so should avoid this problem. It won't affect the
delayed ACK behaviour of either end.
Reducing the MSS has two affects here: it will increase the number of
packets, and so the number of ACKs, meaning the delayed ACK algorithm
will be delaying ACKs less often; and it will mean that Nagle algorithm
will wait for less data before sending a full-sized segment as the
full-sized segment is now smaller. I agree though that reducing MSS is
not really a good solution.
I think there have been some improvements to lwIP's implementation of
the Nagle algorithm since 1.3.0, so I would suggest upgrading to a more
recent version. If you have obtained your lwIP port from some third
party you may need to ask them to port a later version of lwIP for you.
To confirm the problem a packet capture of the behaviour when you have
set TF_NODELAY would be helpful.
If would also be useful to see how you've configured lwIP's TCP window
size from lwipopts.h. It could just be that this has been set too small
and so the delayed ACK is preventing you sending anything more.
Kieran
_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users
Re: [lwip-users] AVR32 Software Framework EVK1100 and LwIP operates too slow, Simon Goldschmidt, 2010/10/04