summaryrefslogtreecommitdiffstats
path: root/tapset/tcp.stp
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2009-03-20 13:43:45 -0400
committerMasami Hiramatsu <mhiramat@redhat.com>2009-03-20 13:43:45 -0400
commit75dc1b3b7a2bb669471570af3365a1a7752ea438 (patch)
treebfbbe2ca79b4ebe5c773cf0b3c451c1b498ad988 /tapset/tcp.stp
parent04ae1b090781725631ba3477ff77721b012cdaba (diff)
parent7e402c4915c373e7818cf6218b0877a102fd7ff6 (diff)
downloadsystemtap-steved-75dc1b3b7a2bb669471570af3365a1a7752ea438.tar.gz
systemtap-steved-75dc1b3b7a2bb669471570af3365a1a7752ea438.tar.xz
systemtap-steved-75dc1b3b7a2bb669471570af3365a1a7752ea438.zip
Merge branch 'master' of ssh://hiramatu@sources.redhat.com/git/systemtap
Diffstat (limited to 'tapset/tcp.stp')
-rw-r--r--tapset/tcp.stp34
1 files changed, 34 insertions, 0 deletions
diff --git a/tapset/tcp.stp b/tapset/tcp.stp
index 1375f115..bb96b0cb 100644
--- a/tapset/tcp.stp
+++ b/tapset/tcp.stp
@@ -73,6 +73,16 @@ function tcp_ts_get_info_state:long(sock:long)
CATCH_DEREF_FAULT();
%}
+/* return the TCP destination port for a given sock */
+function __tcp_sock_dport:long (sock:long){
+ return @cast(sock, "inet_sock")->dport
+}
+
+/* return the TCP source port for a given sock */
+function __tcp_sock_sport:long (sock:long){
+ return @cast(sock, "inet_sock")->sport
+}
+
global sockstate[13], sockstate_init_p
function tcp_sockstate_str:string (state:long) {
if (! sockstate_init_p) {
@@ -182,6 +192,10 @@ probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return {
* @name: Name of this probe
* @sock: Network socket
* @size: Number of bytes to be received
+ * @saddr: A string representing the source IP address
+ * @daddr: A string representing the destination IP address
+ * @sport: TCP source port
+ * @dport: TCP destination port
* Context:
* The process which receives a tcp message
*/
@@ -189,12 +203,20 @@ probe tcp.recvmsg = kernel.function("tcp_recvmsg") {
name = "tcp.recvmsg"
sock = $sk
size = $len
+ saddr = ip_ntop(__ip_sock_saddr($sk))
+ daddr = ip_ntop(__ip_sock_daddr($sk))
+ sport = __tcp_sock_sport($sk)
+ dport = __tcp_sock_dport($sk)
}
/**
* probe tcp.recvmsg.return - Receiving TCP message complete
* @name: Name of this probe
* @size: Number of bytes received or error code if an error occurred.
+ * @saddr: A string representing the source IP address
+ * @daddr: A string representing the destination IP address
+ * @sport: TCP source port
+ * @dport: TCP destination port
*
* Context:
* The process which receives a tcp message
@@ -202,6 +224,10 @@ probe tcp.recvmsg = kernel.function("tcp_recvmsg") {
probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return {
name = "tcp.recvmsg"
size = $return
+ saddr = ip_ntop(__ip_sock_saddr($sk))
+ daddr = ip_ntop(__ip_sock_daddr($sk))
+ sport = __tcp_sock_sport($sk)
+ dport = __tcp_sock_dport($sk)
}
/**
@@ -209,6 +235,10 @@ probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return {
* @name: Name of this probe
* @sock: Network socket
* @flags: TCP flags (e.g. FIN, etc)
+ * @saddr: A string representing the source IP address
+ * @daddr: A string representing the destination IP address
+ * @sport: TCP source port
+ * @dport: TCP destination port
*
* Context:
* The process which disconnects tcp
@@ -217,6 +247,10 @@ probe tcp.disconnect = kernel.function("tcp_disconnect") {
name = "tcp.disconnect"
sock = $sk
flags = $flags
+ saddr = ip_ntop(__ip_sock_saddr($sk))
+ daddr = ip_ntop(__ip_sock_daddr($sk))
+ sport = __tcp_sock_sport($sk)
+ dport = __tcp_sock_dport($sk)
}
/**