Re: tutorials

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

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux