lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] lwipopts: TX_SINGLE_PBUF


From: David Gauchard
Subject: Re: [lwip-users] lwipopts: TX_SINGLE_PBUF
Date: Fri, 20 Oct 2017 15:16:44 +0200
User-agent: Mutt/1.5.24 (2015-08-30)

> The whole point of LWIP_NETIF_TX_SINGLE_PBUF was that the stack tries to do 
> its best.
> A driver should still be prepared to get chained pbufs and copy them into one 
> piece.
> 
> LWIP_NETIF_TX_SINGLE_PBUF should be a performance optmization to e.g. prevent 
> copying
> data into a chained pbuf when we know it has to be copied again later to 
> create a pbuf
> in one piece. Where this doesn't hurt much, I don't currently see a problem 
> to make the
> driver do this.
> 
> You should be able to just use pbuf_clone() if p->next != NULL.
> 
> Of course I'm open to fix the possibly remaining chained pbuf issues, but I 
> can't
> afford the time for this currently.

OK, thanks, I did not know all that.  If there is a solution, there's no
need for source update (or maybe some words in opt.h :).

So I would do that, but I can't find any reference to pbuf_clone() in sources 
(grep) nor in doc:
        http://www.nongnu.org/lwip/2_0_x/globals_func_p.html

Let's say I get a chained pbuf with the first chunk of size <=MSS and a
pbuf->next!=NULL, what would be the semantic of pbuf_clone() ?
Would it cut it into two distinct pbuf, with ->next==NULL at least for the 
first ?



reply via email to

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