[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] TCP Retransmission when receiving consecutive packets
From: |
Sergio R. Caprile |
Subject: |
Re: [lwip-users] TCP Retransmission when receiving consecutive packets |
Date: |
Thu, 20 Mar 2014 11:10:01 -0300 |
User-agent: |
Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Hi Julien.
Yes, there is a TCP retransmission from your host.
I bet that is because when the two packets come in such a close
proximity your Ethernet driver is losing the second one. This, in fact,
can be because there is a problem with the driver itself, or you have a
really low-memory condition and the driver can't find enough memory to
store the packet.
If I would have to hunt this witch, I would start by setting a
breakpoint on the Ethernet driver low_level_input() routine, somewhere
around here:
static struct pbuf *
low_level_input(struct netif *netif)
{
[...]
/* We allocate a pbuf chain of pbufs from the pool. */
p = pbuf_alloc(PBUF_RAW, len, PBUF_POOL);
if (p != NULL) {
[...]
read data into(q->payload, q->len);
}
acknowledge that packet has been read();
[...]
} else {
drop packet(); <-------------
It actually depends on how the one who actually wrote the driver wanted
to make it difficult for you.
Let me know how it goes.
Cheers
--
- Re: [lwip-users] TCP Retransmission when receiving consecutive packets,
Sergio R. Caprile <=