Toby Riddell
2011-Feb-15 03:37 UTC
[dtrace-discuss] Probe that fires on incoming IP and/or UDP (Solaris 10)
On Solaris 10, is there a probe that fires on receipt of an IP/UDP packet? I''ve spent some time looking for one but can''t seem to find what I want. (It''s unfortunate that its not running OpenSolaris as otherwise we''d use the ip provider.) What I''m trying to do is collect data on the latency between a packet being received and it making its way into a userlevel process. Thanks.
Rao Shoaib
2011-Feb-15 04:27 UTC
[dtrace-discuss] Probe that fires on incoming IP and/or UDP (Solaris 10)
Toby Riddell wrote:> On Solaris 10, is there a probe that fires on receipt of an IP/UDP > packet? I''ve spent some time looking for one but can''t seem to find > what I want. (It''s unfortunate that its not running OpenSolaris as > otherwise we''d use the ip provider.) > > What I''m trying to do is collect data on the latency between a packet > being received and it making its way into a userlevel process. > > Thanks. > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org >It depends from where you would like to start measuring. From the NIC, MAC layer or IP there are queues in each sub system. If the packet is an externally generated packet you could trap it in ip at ip_udp_input() or in udp at udp_input(). However it will be very difficult for you to filter the packets because it will require knowledge of how the packet is constructed. Rao.
Toby Riddell
2011-Feb-15 15:39 UTC
[dtrace-discuss] Probe that fires on incoming IP and/or UDP (Solaris 10)
Thanks for the pointer - this is what I needed. (For dissecting the packet I''m going to use the code from udpsnoop.d in the DTrace Toolkit.) On 15 February 2011 04:27, Rao Shoaib <rao.shoaib at oracle.com> wrote:> Toby Riddell wrote: >> >> On Solaris 10, is there a probe that fires on receipt of an IP/UDP >> packet? I''ve spent some time looking for one but can''t seem to find >> what I want. (It''s unfortunate that its not running OpenSolaris as >> otherwise we''d use the ip provider.) >> >> What I''m trying to do is collect data on the latency between a packet >> being received and it making its way into a userlevel process. >> >> Thanks. >> _______________________________________________ >> dtrace-discuss mailing list >> dtrace-discuss at opensolaris.org >> > > It depends from where you would like to start measuring. From the NIC, MAC > layer or IP there are queues in each sub system. If the packet is an > externally generated packet you could trap it in ip at ip_udp_input() or in > udp at udp_input(). However it will be very difficult for you to filter the > packets because it will require knowledge of how the packet is constructed. > > Rao. > >