lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #6735] Provide new pbuf type: PBUF_RAM_NOCOPY


From: Jonathan Larmour
Subject: [lwip-devel] [task #6735] Provide new pbuf type: PBUF_RAM_NOCOPY
Date: Tue, 10 Apr 2007 14:24:23 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.10) Gecko/20070223 Fedora/1.5.0.10-1.fc5 Firefox/1.5.0.10

URL:
  <http://savannah.nongnu.org/task/?6735>

                 Summary: Provide new pbuf type: PBUF_RAM_NOCOPY
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jifl
            Submitted on: Tuesday 04/10/2007 at 15:24
                Category: None
         Should Start On: Tuesday 04/10/2007 at 00:00
   Should be Finished on: Sunday 06/10/2007 at 00:00
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: jifl
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

As discussed in thread "Packet queues" on ecos-devel around 5th April.

We would add a PBUF_RAM_NOCOPY variant of pbuf which users can craete. The
effect of this is that the user is passing the pbuf to the stack for it to
free. With a normal PBUF_RAM, it is expected that the user will free - the
problem is that when the stack functions return, the user may change the pbuf
or its payload, rather than free.

This new pbuf type means the stack can queue the pbuf if needed, and free it
whenever it wants. Without the ability for a low level driver to hold the
data for a little while during transmission, it is not possible to safely
implement zero copy transmission.

This would be implemented as a different PBUF_FLAG bitfield. We would replace
current equality tests of the pbuf flag type with macro tests, e.g.
PBUF_IS_RAM(p), PBUF_NEEDS_COPY(p).





    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?6735>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]