summaryrefslogtreecommitdiffstats
path: root/tapset/networking.stp
diff options
context:
space:
mode:
authorguanglei <guanglei>2006-05-18 00:21:05 +0000
committerguanglei <guanglei>2006-05-18 00:21:05 +0000
commitf8e6042eef05612c93efee7adb00cb006fbcc643 (patch)
treefb19e1ad13dc724828f0dec89cb1174105941a49 /tapset/networking.stp
parenta955efeaa5ede86838aa3df87ec059548171bafe (diff)
downloadsystemtap-steved-f8e6042eef05612c93efee7adb00cb006fbcc643.tar.gz
systemtap-steved-f8e6042eef05612c93efee7adb00cb006fbcc643.tar.xz
systemtap-steved-f8e6042eef05612c93efee7adb00cb006fbcc643.zip
I break LKET into layered structure. The first layer is those generic tapsets.
The second layer is tracing specific. I checked into CVS those generic tapsets at the first step.
Diffstat (limited to 'tapset/networking.stp')
-rw-r--r--tapset/networking.stp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tapset/networking.stp b/tapset/networking.stp
new file mode 100644
index 00000000..f32953fd
--- /dev/null
+++ b/tapset/networking.stp
@@ -0,0 +1,31 @@
+// networking tapset
+// Copyright (C) 2005, 2006 IBM Corp.
+//
+// This file is part of systemtap, and is free software. You can
+// redistribute it and/or modify it under the terms of the GNU General
+// Public License (GPL); either version 2, or (at your option) any
+// later version.
+
+%{
+#include <linux/netdevice.h>
+%}
+
+/* Main device receive routine, be called when packet arrives on network device */
+probe netdev.receive
+ = kernel.function("netif_receive_skb")
+{
+ dev_name = kernel_string($skb->dev->name)
+ length = $skb->len
+ protocol = $skb->protocol
+ truesize = $skb->truesize
+}
+
+/* Queue a buffer for transmission to a network device */
+probe netdev.transmit
+ = kernel.function("dev_queue_xmit")
+{
+ dev_name = kernel_string($skb->dev->name)
+ length = $skb->len
+ protocol = $skb->protocol
+ truesize = $skb->truesize
+}