Yep,
ip_rcv() would be the first IP function, and you might
even want to stick the measuring end at the start of
tcp_v4_rcv(), rather than at the end of ip_local_deliver_finish().
I'm trying to do similar measuring, when I get time, using
Andrew Morton's time pegs. Still trying to actually do it
right..
There is a reason for the duplicate iph = skb->nh.iph;
skb might have changed after the call to skb_share_check().
thanks,
Nivedita
---
Nivedita Singhvi (503) 578-4580
Linux Technology Center nivedita@xxxxxxxxxx
IBM Beaverton, OR nivedita@xxxxxxxxxxx
> Hi!
>
> I am trying to make some measurement of the delays in the IP stack by adding
> time values inside UDP packets received on a special port. I intend to hack
> into the xmit function of a particular net driver, as in parts of the
> ip_input.c file. What is in your opinion the first function of ip_input
> invoked
> upon reception of a packet, and the last before passing to higher protocols? I
> thought of ip_rcv(), where incidentally iph = skb->nh.iph; is performed twice
> (unnecessarily?), and ip_local_deliver_finish().
> Besides, I was a bit confused by the choice of a common time measure for the
> kernel parts and the application. Using jiffies limits me to 1/100 of a second
> measurement, unless I change that to 1/1000 or less in param.h ! Is there a
> more precise variable or function that I could invoke to get exact timings?
>
> Thanks for your help!
>
> Guilhem.
>
>
> __________________________________________________
> Do You Yahoo!?
> Make international calls for as low as $.04/minute with Yahoo! Messenger
> http://phonecard.yahoo.com/
>
|