Hi, On 30/03/2010, Onkar Mahajan <kern.devel@xxxxxxxxx> wrote: > On Tue, Mar 30, 2010 at 1:19 PM, Frederic Weisbecker > <fweisbec@xxxxxxxxx>wrote: > >> On Tue, Mar 30, 2010 at 01:05:28PM +0530, Onkar Mahajan wrote: >> > Hi Kernelnewbies, >> > Please suggest me a good tutorial for learning basic kernel >> > programming stuff. Basics such as : >> > (1) Sending data from kernel => user land >> > (2) How to trace function calls in kernel ? >> >> What do you mean by tracing function calls? >> You mean using the function tracer or? >> > I want to see the packet movement in the Linux TCP/IP protocol stack. > Any idea as to how I can do it - any pointers ... Perhaps this book: http://www.amazon.co.uk/Understanding-Network-Internals-Christian-Benvenuti/dp/0596002556/ref=sr_1_fkmr0_1?ie=UTF8&qid=1269941910&sr=8-1-fkmr0 Ok - it's old, but perhaps amazon or other book store has some good books? I know UTLK 2nd (but not the 3rd) edition covers the network stack, but is for 2.4 kernels. (Anyone knows if the authors are planning/writing a 4th edition?) Or perhaps the netfilter team has some docs on their site? In terms of tracing function calls - you will probably just have to read the source code and try to slowly understand it. I did this not too long ago with some userland code. Grab a pen & paper and just make little diagrams that illustrate program flow, or conceptual diagrams. I used GraphViz to build up a diagram of program flow - you can make subgraphs or colour the boxes differently per subsystem. This would be great for eg. colouring the layer 2 and layer 3 boxes differently so you can spot the layer transitions or the overall architecture. Good luck, Srdjan -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ