Re: Path of network packet in kernel

2014-07-22 Thread Anand Moon
Hi Anil,

I had written TCP client (tcpc.c) and TCP server (tcps.c) programs for demo and 
testing purpose.
Note : "./tcpc" is the application running under trace-cmd record command.


If you want to record the kernel flow for application you can use


# trace-cmd record -e all command.

# trace-cmd report /* to see the output. */


See the man page of trace-cmd record for example for more details.

Please find below link for more details how to filter the output.

http://elinux.org/images/3/35/Kernelshark-tut-elc-2011.pdf


-Anand Moon


On Tuesday, July 22, 2014 4:51 PM, Anil Joshi  wrote:
 


Hi Anand,

I did what you said but i am getting a strange output
 [root@machine0 Desktop]#ls
cli  trace.dat.cpu11  trace.dat.cpu2  trace.dat.cpu7
client.c trace.dat.cpu12  trace.dat.cpu3  trace.dat.cpu8
trace.dat.cpu0   trace.dat.cpu13  trace.dat.cpu4  trace.dat.cpu9
trace.dat.cpu1   trace.dat.cpu14  trace.dat.cpu5
trace.dat.cpu10  trace.dat.cpu15  trace.dat.cpu6
[root@hwcentos10 Desktop]# cat trace.dat.cpu
cat: trace.dat.cpu: No such file or directory
[root@machine0 Desktop]# cat trace.dat.cpu0
[root@machine0 Desktop]# tcpc client.c trace.dat.cpu1
-bash: tcpc: command not found

why am i getting so much trace.dat.cpu files and tcpc command not found can you 
please help me out

cli is the executable file for client

---Anil





On Wed, Jul 16, 2014 at 12:27 AM, Anand Moon  wrote:

Hi Anil,
>
>You need to use "trace-cmd record" command and run you client. For example.
>
>I chose to write a tcp simple client server application.
>Server running on remote machine listening on some port
>I executed below command to connect to the server using trace-cmd record
>Below command records all the event and function trace in the kernel,
>
>You can filter these function by passing "-e net:*"
>this command will generate a report of all the function that kernel executed.
>You can read the report afterwords. using trace-cmd report.
>
>#sudo trace-cmd record -e all ./tcpc 10.0.0.28
>#ls
>#tcpc  tcpc.c  trace.dat
>#trace-cmd report
>
>You can also user perf command to trace the kernel functions.
>
>#sudo perf record -e probe:tcp_sendmsg
>
>#perf report
>
>perf examples can be found below.
>
>http://www.brendangregg.com/perf.html
>
>-Anand Moon
>
>
>
>
>
>
>On Tuesday, July 15, 2014 10:34 PM, Jeff Haran  wrote:
>
>
>
>This helps me to see the forest for the trees. And it’s pretty current:
>
>http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
>
>Jeff Haran
>
>
>From:kernelnewbies-boun...@kernelnewbies.org 
>[mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Anil Joshi
>Sent: Tuesday, July 15, 2014 7:38 AM
>To: kernelnewbies
>Subject: Path of network packet in kernel
>
>Hi All,
>
>I am just new to all this,just wanted to trace the path of the packet since it 
>enter the system(inside the kernel (functions and system calls)) and reaches 
>the destination application.
>
>How to do that.
>
>
>Regards
>
>
>
>___
>Kernelnewbies mailing list
>Kernelnewbies@kernelnewbies.org
>http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Path of network packet in kernel

2014-07-22 Thread Anil Joshi
Hi Anand,

I did what you said but i am getting a strange output
 [root@machine0 Desktop]#ls
cli  trace.dat.cpu11  trace.dat.cpu2  trace.dat.cpu7
client.c trace.dat.cpu12  trace.dat.cpu3  trace.dat.cpu8
trace.dat.cpu0   trace.dat.cpu13  trace.dat.cpu4  trace.dat.cpu9
trace.dat.cpu1   trace.dat.cpu14  trace.dat.cpu5
trace.dat.cpu10  trace.dat.cpu15  trace.dat.cpu6
[root@hwcentos10 Desktop]# cat trace.dat.cpu
cat: trace.dat.cpu: No such file or directory
[root@machine0 Desktop]# cat trace.dat.cpu0
[root@machine0 Desktop]# tcpc client.c trace.dat.cpu1
-bash: tcpc: command not found

why am i getting so much trace.dat.cpu files and tcpc command not found can
you please help me out

cli is the executable file for client

---Anil



On Wed, Jul 16, 2014 at 12:27 AM, Anand Moon  wrote:

> Hi Anil,
>
> You need to use "trace-cmd record" command and run you client. For example.
>
> I chose to write a tcp simple client server application.
> Server running on remote machine listening on some port
> I executed below command to connect to the server using trace-cmd record
> Below command records all the event and function trace in the kernel,
>
> You can filter these function by passing "-e net:*"
> this command will generate a report of all the function that kernel
> executed.
> You can read the report afterwords. using trace-cmd report.
>
> #sudo trace-cmd record -e all ./tcpc 10.0.0.28
> #ls
> #tcpc  tcpc.c  trace.dat
> #trace-cmd report
>
> You can also user perf command to trace the kernel functions.
>
> #sudo perf record -e probe:tcp_sendmsg
>
> #perf report
>
> perf examples can be found below.
>
> http://www.brendangregg.com/perf.html
>
> -Anand Moon
>
>
>
>
>
> On Tuesday, July 15, 2014 10:34 PM, Jeff Haran 
> wrote:
>
>
>
> This helps me to see the forest for the trees. And it’s pretty current:
>
>
> http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
>
> Jeff Haran
>
>
> From:kernelnewbies-boun...@kernelnewbies.org [mailto:
> kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Anil Joshi
> Sent: Tuesday, July 15, 2014 7:38 AM
> To: kernelnewbies
> Subject: Path of network packet in kernel
>
> Hi All,
>
> I am just new to all this,just wanted to trace the path of the packet
> since it enter the system(inside the kernel (functions and system calls))
> and reaches the destination application.
>
> How to do that.
>
>
> Regards
>
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Path of network packet in kernel

2014-07-15 Thread Anupam Kapoor
a 'slightly' more indepth look:
http://www.linuxfoundation.org/images/1/1c/Network_data_flow_through_kernel.png

kind regards
anupam

On Tue, Jul 15, 2014 at 10:33 PM, Jeff Haran  wrote:
> This helps me to see the forest for the trees. And it's pretty current:
>
>
>
> http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
>
>
>
> Jeff Haran
>
>
>
>
>
> From: kernelnewbies-boun...@kernelnewbies.org
> [mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Anil Joshi
> Sent: Tuesday, July 15, 2014 7:38 AM
> To: kernelnewbies
> Subject: Path of network packet in kernel
>
>
>
> Hi All,
>
>
>
> I am just new to all this,just wanted to trace the path of the packet since
> it enter the system(inside the kernel (functions and system calls)) and
> reaches the destination application.
>
>
>
> How to do that.
>
>
>
>
>
> Regards
>
>
>
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



-- 
In the beginning was the lambda, and the lambda was with Emacs, and
Emacs was the lambda.

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Path of network packet in kernel

2014-07-15 Thread Anand Moon
Hi Anil,

You need to use "trace-cmd record" command and run you client. For example.

I chose to write a tcp simple client server application.
Server running on remote machine listening on some port
I executed below command to connect to the server using trace-cmd record
Below command records all the event and function trace in the kernel, 

You can filter these function by passing "-e net:*"
this command will generate a report of all the function that kernel executed.
You can read the report afterwords. using trace-cmd report.

#sudo trace-cmd record -e all ./tcpc 10.0.0.28
#ls 
#tcpc  tcpc.c  trace.dat
#trace-cmd report

You can also user perf command to trace the kernel functions.

#sudo perf record -e probe:tcp_sendmsg 

#perf report

perf examples can be found below.

http://www.brendangregg.com/perf.html

-Anand Moon





On Tuesday, July 15, 2014 10:34 PM, Jeff Haran  wrote:



This helps me to see the forest for the trees. And it’s pretty current:

http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg

Jeff Haran


From:kernelnewbies-boun...@kernelnewbies.org 
[mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Anil Joshi
Sent: Tuesday, July 15, 2014 7:38 AM
To: kernelnewbies
Subject: Path of network packet in kernel

Hi All,

I am just new to all this,just wanted to trace the path of the packet since it 
enter the system(inside the kernel (functions and system calls)) and reaches 
the destination application.

How to do that.


Regards


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: Path of network packet in kernel

2014-07-15 Thread Jeff Haran
This helps me to see the forest for the trees. And it’s pretty current:

http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg

Jeff Haran


From: kernelnewbies-boun...@kernelnewbies.org 
[mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Anil Joshi
Sent: Tuesday, July 15, 2014 7:38 AM
To: kernelnewbies
Subject: Path of network packet in kernel

Hi All,

I am just new to all this,just wanted to trace the path of the packet since it 
enter the system(inside the kernel (functions and system calls)) and reaches 
the destination application.

How to do that.


Regards

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Path of network packet in kernel

2014-07-15 Thread Anand Moon
Hi Anil,


You can use trace-cmd to trace kernel function flow for any application


Below link will help you.

http://elinux.org/Ftrace

-Anand Moon


On Tuesday, July 15, 2014 8:07 PM, Anil Joshi  wrote:



Hi All,

I am just new to all this,just wanted to trace the path of the packet since it 
enter the system(inside the kernel (functions and system calls)) and reaches 
the destination application.

How to do that.


Regards

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies  

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Path of network packet in kernel

2014-07-15 Thread Mohammad Merajul Islam Molla
This may help -
http://hsnlab.tmit.bme.hu/twiki/pub/Targyak/Mar11Cikkek/Network_stack.pdf


--
-Meraj

On Tue, Jul 15, 2014 at 8:37 PM, Anil Joshi  wrote:
> Hi All,
>
> I am just new to all this,just wanted to trace the path of the packet since
> it enter the system(inside the kernel (functions and system calls)) and
> reaches the destination application.
>
> How to do that.
>
>
> Regards
>
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies