|
NAME
SYNOPSIS
DESCRIPTIONThe DTrace ARGUMENTSThe pktinfo_t argument is currently unimplemented and is included for compatibility with other implementations of this provider. Its fields are:
The csinfo_t argument is currently unimplemented and is included for compatibility with other implementations of this provider. Its fields are:
The ipinfo_t argument contains IP fields common to both IPv4 and IPv6 packets. Its fields are:
The udpsinfo_t argument contains the state of the UDP connection associated with the packet. Its fields are:
The udpinfo_t argument is the raw UDP header of the packet, with all fields in host order. Its fields are:
FILES
EXAMPLESThe following script counts transmitted packets by destination port. udp:::send
{
@num[args[4]->udp_dport] = count();
}
This script will print some details of each UDP packet as it is sent or received by the kernel: #pragma D option quiet
#pragma D option switchrate=10Hz
dtrace:::BEGIN
{
printf(" %10s %36s %-36s %6s\n", "DELTA(us)", "SOURCE",
"DEST", "BYTES");
last = timestamp;
}
udp:::send
{
this->elapsed = (timestamp - last) / 1000;
self->dest = strjoin(strjoin(args[2]->ip_daddr, ":"),
lltostr(args[4]->udp_dport));
printf(" %10d %30s:%-5d -> %-36s %6d\n", this->elapsed,
args[2]->ip_saddr, args[4]->udp_sport,
self->dest, args[4]->udp_length);
last = timestamp;
}
udp:::receive
{
this->elapsed = (timestamp - last) / 1000;
self->dest = strjoin(strjoin(args[2]->ip_saddr, ":"),
lltostr(args[4]->udp_sport));
printf(" %10d %30s:%-5d <- %-36s %6d\n", this->elapsed,
args[2]->ip_daddr, args[4]->udp_dport,
self->dest, args[4]->udp_length);
last = timestamp;
}
COMPATIBILITYThis provider is compatible with the SEE ALSOdtrace(1), dtrace_ip(4), dtrace_sctp(4), dtrace_tcp(4), dtrace_udplite(4), udp(4), SDT(9) HISTORYThe AUTHORSThis manual page was written by Mark Johnston <markj@FreeBSD.org>.
|