summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/dtrace_ip.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/dtrace_ip.4 3.html')
-rw-r--r--static/freebsd/man4/dtrace_ip.4 3.html265
1 files changed, 0 insertions, 265 deletions
diff --git a/static/freebsd/man4/dtrace_ip.4 3.html b/static/freebsd/man4/dtrace_ip.4 3.html
deleted file mode 100644
index 81db8858..00000000
--- a/static/freebsd/man4/dtrace_ip.4 3.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">DTRACE_IP(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">DTRACE_IP(4)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">dtrace_ip</code> &#x2014; <span class="Nd">a
- DTrace provider for tracing events related to the IPv4 and IPv6
- protocols</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><code class="Fn">ip:::receive</code>(<var class="Fa" style="white-space: nowrap;">pktinfo_t
- *</var>, <var class="Fa" style="white-space: nowrap;">csinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ifinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipv4info_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipv6info_t *</var>);</p>
-<p class="Pp"><code class="Fn">ip:::send</code>(<var class="Fa" style="white-space: nowrap;">pktinfo_t
- *</var>, <var class="Fa" style="white-space: nowrap;">csinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ifinfo_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipv4info_t *</var>,
- <var class="Fa" style="white-space: nowrap;">ipv6info_t *</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The DTrace <code class="Nm">ip</code> provider allows users to
- trace events in the <a class="Xr">ip(4)</a> and <a class="Xr">ip6(4)</a>
- protocol implementations. The
- <a class="permalink" href="#ip:::send"><code class="Fn" id="ip:::send">ip:::send</code></a>()
- probe fires whenever the kernel prepares to transmit an IP packet, and the
- <a class="permalink" href="#ip:::receive"><code class="Fn" id="ip:::receive">ip:::receive</code></a>()
- probe fires whenever the kernel receives an IP packet. The arguments to
- these probes can be used to obtain detailed information about the IP headers
- of the corresponding packet, as well as the network interface on which the
- packet was sent or received. Unlike the <a class="Xr">dtrace_tcp(4)</a> and
- <a class="Xr">dtrace_udp(4)</a> providers, <code class="Nm">ip</code>
- provider probes are triggered by forwarded packets. That is, the probes will
- fire on packets that are not destined to the local host.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="ARGUMENTS"><a class="permalink" href="#ARGUMENTS">ARGUMENTS</a></h1>
-<p class="Pp">The <var class="Vt">pktinfo_t</var> argument is currently
- unimplemented and is included for compatibility with other implementations
- of this provider. Its fields are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">uintptr_t pkt_addr</var></dt>
- <dd>Always set to 0.</dd>
-</dl>
-</div>
-<p class="Pp">The <var class="Vt">csinfo_t</var> argument is currently
- unimplemented and is included for compatibility with other implementations
- of this provider. Its fields are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">uintptr_t cs_addr</var></dt>
- <dd>Always set to 0.</dd>
- <dt><var class="Vt">uint64_t cs_cid</var></dt>
- <dd>A pointer to the <var class="Vt">struct inpcb</var> for this packet, or
- <code class="Dv">NULL</code>.</dd>
- <dt><var class="Vt">pid_t cs_pid</var></dt>
- <dd>Always set to 0.</dd>
-</dl>
-</div>
-<p class="Pp">The <var class="Vt">ipinfo_t</var> argument contains IP fields
- common to both IPv4 and IPv6 packets. Its fields are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">uint8_t ip_ver</var></dt>
- <dd>IP version of the packet, 4 for IPv4 packets and 6 for IPv6 packets.</dd>
- <dt><var class="Vt">uint32_t ip_plength</var></dt>
- <dd>IP payload size. This does not include the size of the IP header or IPv6
- option headers.</dd>
- <dt><var class="Vt">string ip_saddr</var></dt>
- <dd>IP source address.</dd>
- <dt><var class="Vt">string ip_daddr</var></dt>
- <dd>IP destination address.</dd>
-</dl>
-</div>
-<p class="Pp" id="ip:::send~2">The <var class="Vt">ifinfo_t</var> argument
- describes the outgoing and incoming interfaces for the packet in the
- <a class="permalink" href="#ip:::send~2"><code class="Fn">ip:::send</code></a>()
- and
- <a class="permalink" href="#ip:::receive~2"><code class="Fn" id="ip:::receive~2">ip:::receive</code></a>()
- probes respectively. Its fields are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">string if_name</var></dt>
- <dd>The interface name.</dd>
- <dt><var class="Vt">int8_t if_local</var></dt>
- <dd>A boolean value indicating whether or not the interface is a loopback
- interface.</dd>
- <dt><var class="Vt">uintptr_t if_addr</var></dt>
- <dd>A pointer to the <var class="Vt">struct ifnet</var> which describes the
- interface. See the <a class="Xr">ifnet(9)</a> manual page.</dd>
-</dl>
-</div>
-<p class="Pp" id="ip_ver">The <var class="Vt">ipv4info_t</var> argument contains
- the fields of the IP header for IPv4 packets. This argument is
- <code class="Dv">NULL</code> for IPv6 packets. DTrace scripts should use the
- <a class="permalink" href="#ip_ver"><code class="Fn">ip_ver</code></a>()
- field in the <var class="Vt">ipinfo_t</var> argument to determine whether to
- use this argument. Its fields are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">uint8_t ipv4_ver</var></dt>
- <dd>IP version. This will always be 4 for IPv4 packets.</dd>
- <dt><var class="Vt">uint8_t ipv4_ihl</var></dt>
- <dd>The IP header length, including options, in 32-bit words.</dd>
- <dt><var class="Vt">uint8_t ipv4_tos</var></dt>
- <dd>IP type of service field.</dd>
- <dt><var class="Vt">uint16_t ipv4_length</var></dt>
- <dd>The total packet length, including the header, in bytes.</dd>
- <dt><var class="Vt">uint16_t ipv4_ident</var></dt>
- <dd>Identification field.</dd>
- <dt><var class="Vt">uint8_t ipv4_flags</var></dt>
- <dd>The IP flags.</dd>
- <dt><var class="Vt">uint16_t ipv4_offset</var></dt>
- <dd>The fragment offset of the packet.</dd>
- <dt><var class="Vt">uint8_t ipv4_ttl</var></dt>
- <dd>Time to live field.</dd>
- <dt><var class="Vt">uint8_t ipv4_protocol</var></dt>
- <dd>Next-level protocol ID.</dd>
- <dt><var class="Vt">string ipv4_protostr</var></dt>
- <dd>A string containing the name of the encapsulated protocol. The protocol
- strings are defined in the <var class="Va">protocol</var> array in
- <span class="Pa">/usr/lib/dtrace/ip.d</span></dd>
- <dt><var class="Vt">uint16_t ipv4_checksum</var></dt>
- <dd>The IP checksum.</dd>
- <dt><var class="Vt">ipaddr_t ipv4_src</var></dt>
- <dd>IPv4 source address.</dd>
- <dt><var class="Vt">ipaddr_t ipv4_dst</var></dt>
- <dd>IPv4 destination address.</dd>
- <dt><var class="Vt">string ipv4_saddr</var></dt>
- <dd>A string representation of the source address.</dd>
- <dt><var class="Vt">string ipv4_daddr</var></dt>
- <dd>A string representation of the destination address.</dd>
- <dt><var class="Vt">ipha_t *ipv4_hdr</var></dt>
- <dd>A pointer to the raw IPv4 header.</dd>
-</dl>
-</div>
-<p class="Pp" id="ip_ver~2">The <var class="Vt">ipv6info_t</var> argument
- contains the fields of the IP header for IPv6 packets. Its fields are not
- set for IPv4 packets; as with the <var class="Vt">ipv4info_t</var> argument,
- the
- <a class="permalink" href="#ip_ver~2"><code class="Fn">ip_ver</code></a>()
- field should be used to determine whether this argument is valid. Its fields
- are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag">
- <dt><var class="Vt">uint8_t ipv6_ver</var></dt>
- <dd>IP version. This will always be 6 for IPv6 packets.</dd>
- <dt><var class="Vt">uint8_t ipv6_tclass</var></dt>
- <dd>The traffic class, used to set the differentiated services codepoint and
- extended congestion notification flags.</dd>
- <dt><var class="Vt">uint32_t ipv6_flow</var></dt>
- <dd>The flow label of the packet.</dd>
- <dt><var class="Vt">uint16_t ipv6_plen</var></dt>
- <dd>The IP payload size, including extension headers, in bytes.</dd>
- <dt><var class="Vt">uint8_t ipv6_nexthdr</var></dt>
- <dd>An identifier for the type of the next header.</dd>
- <dt><var class="Vt">string ipv6_nextstr</var></dt>
- <dd>A string representation of the type of the next header.</dd>
- <dt><var class="Vt">uint8_t ipv6_hlim</var></dt>
- <dd>The hop limit.</dd>
- <dt><var class="Vt">ip6_addr_t *ipv6_src</var></dt>
- <dd>IPv6 source address.</dd>
- <dt><var class="Vt">ip6_addr_t *ipv6_dst</var></dt>
- <dd>IPv6 destination address.</dd>
- <dt><var class="Vt">string ipv6_saddr</var></dt>
- <dd>A string representation of the source address.</dd>
- <dt><var class="Vt">string ipv6_daddr</var></dt>
- <dd>A string representation of the destination address.</dd>
- <dt><var class="Vt">struct ip6_hdr *ipv6_hdr</var></dt>
- <dd>A pointer to the raw IPv6 header.</dd>
-</dl>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
-<dl class="Bl-tag Bl-compact">
- <dt><span class="Pa">/usr/lib/dtrace/ip.d</span></dt>
- <dd>DTrace type and translator definitions for the <code class="Nm">ip</code>
- provider.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<p class="Pp">The following script counts received packets by remote host
- address.</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>ip:::receive
-{
- @num[args[2]-&gt;ip_saddr] = count();
-}</pre>
-</div>
-<p class="Pp">This script will print some details of each IP packet as it is
- sent or received by the kernel:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>#pragma D option quiet
-#pragma D option switchrate=10Hz
-
-dtrace:::BEGIN
-{
- printf(&quot; %10s %30s %-30s %8s %6s\n&quot;, &quot;DELTA(us)&quot;, &quot;SOURCE&quot;,
- &quot;DEST&quot;, &quot;INT&quot;, &quot;BYTES&quot;);
- last = timestamp;
-}
-
-ip:::send
-{
- this-&gt;elapsed = (timestamp - last) / 1000;
- printf(&quot; %10d %30s -&gt; %-30s %8s %6d\n&quot;, this-&gt;elapsed,
- args[2]-&gt;ip_saddr, args[2]-&gt;ip_daddr, args[3]-&gt;if_name,
- args[2]-&gt;ip_plength);
- last = timestamp;
-}
-
-ip:::receive
-{
- this-&gt;elapsed = (timestamp - last) / 1000;
- printf(&quot; %10d %30s &lt;- %-30s %8s %6d\n&quot;, this-&gt;elapsed,
- args[2]-&gt;ip_daddr, args[2]-&gt;ip_saddr, args[3]-&gt;if_name,
- args[2]-&gt;ip_plength);
- last = timestamp;
-}</pre>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="COMPATIBILITY"><a class="permalink" href="#COMPATIBILITY">COMPATIBILITY</a></h1>
-<p class="Pp">This provider is compatible with the <code class="Nm">ip</code>
- providers found in Solaris and Darwin.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">dtrace(1)</a>, <a class="Xr">dtrace_tcp(4)</a>,
- <a class="Xr">dtrace_udp(4)</a>, <a class="Xr">ip(4)</a>,
- <a class="Xr">ip6(4)</a>, <a class="Xr">ifnet(9)</a>,
- <a class="Xr">SDT(9)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The <code class="Nm">ip</code> provider first appeared in
- <span class="Ux">FreeBSD</span> 10.0.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">This manual page was written by <span class="An">Mark
- Johnston</span>
- &lt;<a class="Mt" href="mailto:markj@FreeBSD.org">markj@FreeBSD.org</a>&gt;.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">September 14, 2015</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>