From 814bc89d4635f101b2c0077598f31aad95ed15b7 Mon Sep 17 00:00:00 2001 From: fche Date: Sat, 12 Aug 2006 05:13:09 +0000 Subject: 2006-08-12 Frank Ch. Eigler * configure.ac, Makefile.am: Descend into testsuite/ directory. Remove local test logic. * configure, Makefile.in: Regenerated. * runtest.sh: Not yet removed. * HACKING: Update for new testsuite layout. 2006-08-12 Frank Ch. Eigler * all: Reorganized old pass-1..4 tests one dejagnu bucket. Moved over old pass-5 tests, except for disabled syscalls tests. * Makefile (installcheck): New target for running pass-1..5 tests against installed systemtap. --- testsuite/systemtap.samples/tcp_connections_wa.stp | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 testsuite/systemtap.samples/tcp_connections_wa.stp (limited to 'testsuite/systemtap.samples/tcp_connections_wa.stp') diff --git a/testsuite/systemtap.samples/tcp_connections_wa.stp b/testsuite/systemtap.samples/tcp_connections_wa.stp new file mode 100644 index 00000000..4c5e2399 --- /dev/null +++ b/testsuite/systemtap.samples/tcp_connections_wa.stp @@ -0,0 +1,55 @@ +%{ +#include +#include +#include + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) +#define LPORT (inet->inet.num) +#define DADDR (&inet->inet.daddr) +#else +#define LPORT (inet->num) +#define DADDR (&inet->daddr) +#endif +%} + + +function get_eax:long () %{ + if (CONTEXT && CONTEXT->regs) + THIS->__retvalue = CONTEXT->regs->eax; + else + THIS->__retvalue = 0; +%} + +function get_local_port:long(sock) +%{ + unsigned long ptr = (unsigned long) THIS->sock; + + struct inet_sock *inet = (struct inet_sock *) ptr; + THIS->__retvalue = (long long) LPORT; +%} + +function get_ip_source:string(sock) +%{ + unsigned long ptr = (unsigned long) THIS->sock; + struct inet_sock *inet = (struct inet_sock *) ptr; + unsigned char addr[4]; + memcpy(addr, DADDR, sizeof(addr)); + sprintf(THIS->__retvalue, "%d.%d.%d.%d", + addr[0], addr[1], addr[2], addr[3]); + +%} + +probe begin { + log ("UID\tCMD\t\tPID\t\tPORT\tIP_SOURCE") +} +probe kernel.function("tcp_accept").return { + sock = get_eax() + if (sock != 0) + log(sprint(uid())."\t". + execname()."\t\t". + sprint(pid())."\t\t ". + sprint(get_local_port(sock))."\t". + get_ip_source(sock)) +} + + -- cgit