Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F162103846
D2387.id5082.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D2387.id5082.diff
View Options
Index: cddl/lib/libdtrace/tcp.d
===================================================================
--- cddl/lib/libdtrace/tcp.d
+++ cddl/lib/libdtrace/tcp.d
@@ -245,20 +245,19 @@
/*
* Convert a SIFTR direction value to a string
*/
-#pragma D binding "1.6.3" SIFTR_IN
+#pragma D binding "1.12.1" SIFTR_IN
inline int SIFTR_IN = 1;
-#pragma D binding "1.6.3" SIFTR_OUT
+#pragma D binding "1.12.1" SIFTR_OUT
inline int SIFTR_OUT = 2;
/* SIFTR direction strings. */
-#pragma D binding "1.6.3" siftr_dir_string
+#pragma D binding "1.12.1" siftr_dir_string
inline string siftr_dir_string[uint8_t direction] =
direction == SIFTR_IN ? "in" :
direction == SIFTR_OUT ? "out" :
"unknown" ;
-
-typedef struct siftr {
+typedef struct siftrinfo {
struct timeval tval;
uint8_t direction;
uint8_t ipver;
@@ -286,9 +285,9 @@
int t_segqlen;
u_int flowid;
u_int flowtype;
-} siftrinfo_t ;
+} siftrinfo_t;
-#pragma D binding "1.6.3" translator
+#pragma D binding "1.12.1" translator
translator siftrinfo_t < struct pkt_node *p > {
direction = p == NULL ? 0 : p->direction;
ipver = p == NULL ? 0 : p->ipver;
Index: share/dtrace/siftr
===================================================================
--- share/dtrace/siftr
+++ share/dtrace/siftr
@@ -1,5 +1,5 @@
#!/usr/sbin/dtrace -s
-/*
+/*-
* Copyright (c) 2015 George V. Neville-Neil
* All rights reserved.
*
@@ -26,7 +26,7 @@
*
* $FreeBSD$
*
- * The siftr D script collects data from the SIFTR kernel module
+ * The siftr D script collects data from the SIFTR kernel module.
*
* Usage: siftr
*/
@@ -39,30 +39,30 @@
tcp_state_string[args[0]->conn_state],
args[0]->tcp_localport,
args[0]->tcp_foreignport);
- printf("snd_cwnd %d snd_wnd %d rcv_wnd %d snd_bwnd %d snd_ssthresh %d \n",
+ printf("snd_cwnd %d snd_wnd %d rcv_wnd %d snd_bwnd %d snd_ssthresh %d\n",
args[0]->snd_cwnd,
args[0]->snd_wnd,
args[0]->rcv_wnd,
args[0]->snd_bwnd,
args[0]->snd_ssthresh);
- printf("\tmax_seg_size %d smoothed_rtt %d sack_enabled %d\n",
+ printf("\tmax_seg_size %u smoothed_rtt %d sack_enabled %d\n",
args[0]->max_seg_size,
args[0]->smoothed_rtt,
args[0]->sack_enabled);
- printf("\tsnd_scale %d rcv_scale %d flags %d rxt_length %d\n",
+ printf("\tsnd_scale %d rcv_scale %d flags 0x%x rxt_length %d\n",
args[0]->snd_scale,
args[0]->rcv_scale,
args[0]->flags,
args[0]->rxt_length);
- printf("\tsnd_buf_hiwater %d snd_buf_cc %d rcv_buf_hiwater %d\n",
+ printf("\tsnd_buf_hiwater %u snd_buf_cc %u rcv_buf_hiwater %u\n",
args[0]->snd_buf_hiwater,
args[0]->snd_buf_cc,
args[0]->rcv_buf_hiwater);
- printf("\trcv_buf_cc %d sent_inflight_bytes %d t_segqlen %d\n",
+ printf("\trcv_buf_cc %u sent_inflight_bytes %u t_segqlen %d\n",
args[0]->rcv_buf_cc,
args[0]->sent_inflight_bytes,
args[0]->t_segqlen);
- printf("\tflowid %d flowtype %d\n",
+ printf("\tflowid %u flowtype %u\n",
args[0]->flowid,
args[0]->flowtype);
}
Index: sys/netinet/in_kdtrace.h
===================================================================
--- sys/netinet/in_kdtrace.h
+++ sys/netinet/in_kdtrace.h
@@ -53,8 +53,8 @@
SDT_PROBE_DECLARE(tcp, , , connect__request);
SDT_PROBE_DECLARE(tcp, , , receive);
SDT_PROBE_DECLARE(tcp, , , send);
-SDT_PROBE_DECLARE(tcp, , , state__change);
SDT_PROBE_DECLARE(tcp, , , siftr);
+SDT_PROBE_DECLARE(tcp, , , state__change);
SDT_PROBE_DECLARE(udp, , , receive);
SDT_PROBE_DECLARE(udp, , , send);
Index: sys/netinet/in_kdtrace.c
===================================================================
--- sys/netinet/in_kdtrace.c
+++ sys/netinet/in_kdtrace.c
@@ -102,6 +102,9 @@
"struct tcpcb *", "tcpsinfo_t *" ,
"struct tcphdr *", "tcpinfo_t *");
+SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr,
+ "struct pkt_node *", "siftrinfo_t *");
+
SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change,
"void *", "void *",
"struct tcpcb *", "csinfo_t *",
@@ -110,9 +113,6 @@
"void *", "void *",
"int", "tcplsinfo_t *");
-SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr,
- "struct pkt_node *", "siftrinfo_t *");
-
SDT_PROBE_DEFINE5_XLATE(udp, , , receive,
"void *", "pktinfo_t *",
"struct inpcb *", "csinfo_t *",
Index: sys/netinet/siftr.c
===================================================================
--- sys/netinet/siftr.c
+++ sys/netinet/siftr.c
@@ -75,6 +75,7 @@
#include <sys/pcpu.h>
#include <sys/proc.h>
#include <sys/sbuf.h>
+#include <sys/sdt.h>
#include <sys/smp.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
@@ -86,15 +87,13 @@
#include <net/pfil.h>
#include <netinet/in.h>
+#include <netinet/in_kdtrace.h>
#include <netinet/in_pcb.h>
#include <netinet/in_systm.h>
#include <netinet/in_var.h>
#include <netinet/ip.h>
#include <netinet/tcp_var.h>
-#include <sys/sdt.h>
-#include "in_kdtrace.h"
-
#ifdef SIFTR_IPV6
#include <netinet/ip6.h>
#include <netinet6/in6_pcb.h>
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jul 10, 7:33 PM (5 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34938507
Default Alt Text
D2387.id5082.diff (4 KB)
Attached To
Mode
D2387: Initial support for a statically defined tracepoint for SIFTR.
Attached
Detach File
Event Timeline
Log In to Comment