[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/una
From: |
Kieran Mansley |
Subject: |
[lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue |
Date: |
Mon, 26 Mar 2007 10:43:27 +0000 |
User-agent: |
Opera/8.02 (X11; Linux i686; U; en) |
Follow-up Comment #22, bug #11400 (project lwip):
To summarise (please correct where wrong, some of this is based on what
others have written, rather than my own investigations):
- TCP won't result in a PBUF_REF pbuf getting as far as ARP as it's either
copied (into a PBUF_RAM), or PBUF_ROM is used. ROM is OK because it will
exist until ACKed, which is much more than the ARP requirements.
- UDP may result in a PBUF_REF pbuf getting to the ARP layer, and in this
case it is necessary to do something about it because as soon as the call
returns to the app it can reuse the memory. If this wasn't the case a
PBUF_ROM would have been used (as that's essentially the difference between
them).
- As a result we need to preserve any PBUF_REF pbufs, and the easiest thing
to do seems to be to copy them. It shouldn't happen often, so overhead isn't
great.
I'm still happy to take this approach (from comment #18):
"How about we have two paths: if there are any REF pbufs in the chain, we do
pbuf_copy() as per your new patch. If it doesn't have any REF pbufs, we can
just do pbuf_ref() and put it in the arp queue. Makes the code a bit more
complex, but more efficient (both less memory and faster) for the case where
not using PBUF_REF, which will be quite common."
Any objections? If not, I suggest Simon takes this (and the associated purge
of the related but now unnecessary code) as he's nearly there already.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?11400>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, (continued)
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/22
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/23
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/23
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue,
Kieran Mansley <=
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Simon Goldschmidt, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Kieran Mansley, 2007/03/26
- [lwip-devel] [bug #11400] ARP multi-packet-queue modifies TCP unsent/unacked segment packet pbuf chain into packet queue, Jonathan Larmour, 2007/03/26