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 #include #include +#include #include #include #include @@ -86,15 +87,13 @@ #include #include +#include #include #include #include #include #include -#include -#include "in_kdtrace.h" - #ifdef SIFTR_IPV6 #include #include