summaryrefslogtreecommitdiffstats
path: root/bind.stp
diff options
context:
space:
mode:
Diffstat (limited to 'bind.stp')
-rw-r--r--bind.stp58
1 files changed, 58 insertions, 0 deletions
diff --git a/bind.stp b/bind.stp
new file mode 100644
index 0000000..2a9db1c
--- /dev/null
+++ b/bind.stp
@@ -0,0 +1,58 @@
+probe syscall.bind
+{
+ printf("sys_bind: %s\n", argstr);
+}
+probe syscall.bind.return
+{
+ if ($return)
+ printf("sys_bind: (%s)\n", retstr);
+}
+probe module("ipv6").function("inet6_bind")
+{
+ printf(" inet6_bind: %s\n %s\n %s\n",
+ struct_socket($sock), struct_sock($sock->sk), struct_sockaddr($uaddr, $addr_len));
+}
+probe module("ipv6").function("inet6_bind").return
+{
+ if ($return)
+ printf(" inet6_bind: %d (%s)\n", $return, errno_str($return));
+}
+probe module("ipv6").function("tcp_v6_get_port")
+{
+ printf(" tcp_v6_get_port: sk %p\n", $sk);
+}
+probe module("ipv6").function("tcp_v6_get_port").return
+{
+ if ($return)
+ printf(" tcp_v6_get_port: %d (%s)\n", $return, errno_str($return));
+}
+probe module("ipv6").function("inet6_csk_bind_conflict")
+{
+ printf(" inet6_csk_bind_conflict: sk %p\n", $sk);
+}
+probe module("ipv6").function("inet6_csk_bind_conflict").return
+{
+ if ($return)
+ printf(" inet6_csk_bind_conflict: %d (%s)\n", $return, errno_str($return));
+}
+probe module("ipv6").function("ipv6_rcv_saddr_equal")
+{
+ printf(" ipv6_rcv_saddr_equal: sk %p sk2 %p\n", $sk, $sk2);
+}
+probe module("ipv6").function("ipv6_rcv_saddr_equal").return
+{
+ if ($return)
+ printf(" ipv6_rcv_saddr_equal: %d (%s)\n", $return, errno_str($return));
+}
+probe kernel.function("inet_bind")
+{
+ printf(" inet_bind: %s\n %s\n %s\n",
+ struct_socket($sock), struct_sock($sock->sk), struct_sockaddr($uaddr, $addr_len));
+}
+probe kernel.function("inet_bind").return
+{
+ if ($return)
+ printf(" inet_bind: %d (%s)\n", $return, errno_str($return));
+}
+probe begin { log("starting bind probe") }
+probe end { log("ending bind probe") }