Subject: Re: Copy data from one SKB to another

From: LDB <[email-masked]>
Date: Sat, 24 Feb 2007 05:53:51 -0500

kalash nainwal wrote:
> On 2/22/07, [email-masked]
> <[email-masked]> wrote:
>> Hello,
>>
>> I am working on optimizing the TCP-code for a certain type of TCP-stream,
>> and to make one of my optimizations work I need to copy data from one SKB
>> (the data field of the skb) to another SKB (data field).
>>
>> Currently I am using memcpy, and it does what it is supposed to, but I am
>> curious as to if there are any other (potentially faster/more efficient)
>> ways of doing it. I have checked out the skb_add_data (used when you can
>> copy data from the msg you are sending into the most recent skb added to
>> the queue), but from what I can understand it only copies from userspace
>> into kernelspace (whereas I need to copy kernel-kernel).
>>
>> Does anyone have any hints, suggestions, solutions or something else they
>> think might help?
>>
>> Thanks,
>> Kristian
>>
>> -
> 
> How about cloning? Is that an option?
> -
> To unsubscribe from this list: send the line "unsubscribe linux-net" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

skb_clone is an option but you cannot modify any data - correct me if I am wrong.

The other options are pskb_copy and skb_copy used when modifications are
necessary - correct if I am wrong.

You just have to chose which is appropriate for your specific needs.

LDB