--- Michael Hines <mhines@xxxxxxxxxx> wrote: > I'm writing some code that intercepts and stores > socket buffers....lots of > them - and keeps them in memory for storage. (for > various reasons) > What I do is: when sk_buffs come in (the ones I > want), I isolate them, > unlink them, and orphan them and put them on a > linked list of my own. > > Is there another mechanism to know for sure that an > sk_buff has been > transmitted? > As you said you are saving the sk_buff on your own linked list, why dont you maintain the list of expanded element rather than sk_buff. Each extended element can have one element which will be a pointer to the actual sk_buff and another element of extended element can be a flag which can till you if the sk_buff data has been transmitted ot not. So each element of you linked list can be of following type: struct ext_buffer{ sk_buff * net_data; int flag; struct ext_buffer *next_node; } once you transmit the net_data, do set the flag, so that you can come to know next time that this data has already been dispatched. I hope i understood your prob properly. cheers!! --gd __________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/