summaryrefslogtreecommitdiffstats
path: root/tapset/networking.stp
diff options
context:
space:
mode:
Diffstat (limited to 'tapset/networking.stp')
-rw-r--r--tapset/networking.stp97
1 files changed, 97 insertions, 0 deletions
diff --git a/tapset/networking.stp b/tapset/networking.stp
index f32953fd..9bd742da 100644
--- a/tapset/networking.stp
+++ b/tapset/networking.stp
@@ -6,10 +6,72 @@
// Public License (GPL); either version 2, or (at your option) any
// later version.
+///<chapter id="networking.stp">
+/// <title>Networking Tapset</title>
+/// <para>
+/// This family of probe points is used to probe the activities of
+/// network device.
+/// </para>
+
%{
#include <linux/netdevice.h>
%}
+///<formalpara id="netdev.receive">
+/// <title>netdev.receive</title>
+/// <indexterm><primary>netdev.receive</primary></indexterm>
+/// <para>Fires when data arrives on network device.</para>
+///</formalpara>
+///<para>
+/// <variablelist><title>Arguments:</title>
+/// <varlistentry><term>dev_name</term>
+/// <listitem><para>
+/// The name of the device. e.g: eth0, ath1
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>length</term>
+/// <listitem><para>
+/// The length of the receiving buffer
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>protocol</term>
+/// <listitem><para>The possible values of protocol could be:
+/// <table frame='all'><title>Protocol Values</title>
+/// <tgroup cols='2' align='left' colsep='1' rowsep='1'>
+/// <colspec colname='Value'/>
+/// <colspec colname='Protocol'/>
+/// <thead>
+/// <row><entry>Value</entry><entry>Protocol</entry></row>
+/// </thead>
+/// <tbody>
+/// <row><entry>0800</entry><entry>IP</entry></row>
+/// <row><entry>8100</entry><entry>802.1Q VLAN</entry></row>
+/// <row><entry>0001</entry><entry>802.3</entry></row>
+/// <row><entry>0002</entry><entry>AX.25</entry></row>
+/// <row><entry>0004</entry><entry>802.2</entry></row>
+/// <row><entry>8035</entry><entry>RARP</entry></row>
+/// <row><entry>0005</entry><entry>SNAP</entry></row>
+/// <row><entry>0805</entry><entry>X.25</entry></row>
+/// <row><entry>0806</entry><entry>ARP</entry></row>
+/// <row><entry>8137</entry><entry>IPX</entry></row>
+/// <row><entry>0009</entry><entry>Localtalk</entry></row>
+/// <row><entry>86DD</entry><entry>IPv6</entry></row>
+/// </tbody>
+/// </tgroup>
+/// </table>
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>truesize</term>
+/// <listitem><para>
+/// The size of the received data.
+/// </para></listitem>
+/// </varlistentry>
+///
+/// </variablelist>
+///</para>
/* Main device receive routine, be called when packet arrives on network device */
probe netdev.receive
= kernel.function("netif_receive_skb")
@@ -20,6 +82,39 @@ probe netdev.receive
truesize = $skb->truesize
}
+///<formalpara id="netdev.transmit">
+/// <title>netdev.transmit</title>
+/// <indexterm><primary>netdev.transmit</primary></indexterm>
+/// <para> Fires when the network device wants to transmit a buffer.</para>
+///</formalpara>
+///<para>
+/// <variablelist><title>Arguments:</title>
+/// <varlistentry><term>dev_name</term>
+/// <listitem><para>
+/// The name of the device. e.g: eth0, ath1
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>length</term>
+/// <listitem><para>
+/// The length of the transmit buffer
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>protocol</term>
+/// <listitem><para>
+/// The protocol of this packet.
+/// </para></listitem>
+/// </varlistentry>
+///
+/// <varlistentry><term>truesize</term>
+/// <listitem><para>
+/// The size of the the data to be transmitted.
+/// </para></listitem>
+/// </varlistentry>
+///
+/// </variablelist>
+///</para>
/* Queue a buffer for transmission to a network device */
probe netdev.transmit
= kernel.function("dev_queue_xmit")
@@ -29,3 +124,5 @@ probe netdev.transmit
protocol = $skb->protocol
truesize = $skb->truesize
}
+
+///</chapter>