From owner-svn-src-head@FreeBSD.ORG Wed Apr 29 17:21:37 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9A2056D8; Wed, 29 Apr 2015 17:21:37 +0000 (UTC) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 432931D3F; Wed, 29 Apr 2015 17:21:37 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id A07C125D3A42; Wed, 29 Apr 2015 17:21:32 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id E0CC6C770A2; Wed, 29 Apr 2015 17:21:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id dGa59NURYsQ3; Wed, 29 Apr 2015 17:21:29 +0000 (UTC) Received: from [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6] (orange-tun0-ula.sbone.de [IPv6:fde9:577b:c1a9:4420:cabc:c8ff:fe8b:4fe6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 09773C7707D; Wed, 29 Apr 2015 17:21:28 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\)) Subject: Re: svn commit: r282240 - in head: cddl/lib/libdtrace sys/netinet From: "Bjoern A. Zeeb" In-Reply-To: <201504291719.t3THJtIM020724@svn.freebsd.org> Date: Wed, 29 Apr 2015 17:21:27 +0000 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <3C5C1638-4FA8-4E59-8CDF-1B102AE500C8@FreeBSD.org> References: <201504291719.t3THJtIM020724@svn.freebsd.org> To: "George V. Neville-Neil" X-Mailer: Apple Mail (2.2098) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Apr 2015 17:21:37 -0000 > On 29 Apr 2015, at 17:19 , George V. Neville-Neil = wrote: >=20 > Author: gnn > Date: Wed Apr 29 17:19:55 2015 > New Revision: 282240 > URL: https://svnweb.freebsd.org/changeset/base/282240 >=20 > Log: > Brief demo script showing the various values that can be read via > the new SIFTR statically defined tracepoint (SDT). >=20 > Differential Revision: https://reviews.freebsd.org/D2387 > Reviewed by: bz, markj >=20 That=E2=80=99s not the latest revision; sorry. > Modified: > head/cddl/lib/libdtrace/tcp.d > head/sys/netinet/in_kdtrace.c > head/sys/netinet/in_kdtrace.h > head/sys/netinet/siftr.c >=20 > Modified: head/cddl/lib/libdtrace/tcp.d > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/cddl/lib/libdtrace/tcp.d Wed Apr 29 17:18:41 2015 = (r282239) > +++ head/cddl/lib/libdtrace/tcp.d Wed Apr 29 17:19:55 2015 = (r282240) > @@ -241,3 +241,78 @@ translator tcpinfoh_t < struct tcphdr *p > translator tcplsinfo_t < int s > { > tcps_state =3D s; > }; > + > +/* > + * Convert a SIFTR direction value to a string > + */ > +#pragma D binding "1.12.1" SIFTR_IN > +inline int SIFTR_IN =3D 1; > +#pragma D binding "1.12.1" SIFTR_OUT > +inline int SIFTR_OUT =3D 2; > + > +/* SIFTR direction strings. */ > +#pragma D binding "1.12.1" siftr_dir_string > +inline string siftr_dir_string[uint8_t direction] =3D > + direction =3D=3D SIFTR_IN ? "in" : > + direction =3D=3D SIFTR_OUT ? "out" : > + "unknown" ; > + > +typedef struct siftrinfo { > + struct timeval tval; > + uint8_t direction; > + uint8_t ipver; > + uint32_t hash; > + uint16_t tcp_localport; > + uint16_t tcp_foreignport; > + uint64_t snd_cwnd; > + u_long snd_wnd; > + u_long rcv_wnd; > + u_long snd_bwnd; > + u_long snd_ssthresh; > + int conn_state; > + u_int max_seg_size; > + int smoothed_rtt; > + u_char sack_enabled; > + u_char snd_scale; > + u_char rcv_scale; > + u_int flags; > + int rxt_length; > + u_int snd_buf_hiwater; > + u_int snd_buf_cc; > + u_int rcv_buf_hiwater; > + u_int rcv_buf_cc; > + u_int sent_inflight_bytes; > + int t_segqlen; > + u_int flowid; > + u_int flowtype; > +} siftrinfo_t; > + > +#pragma D binding "1.12.1" translator > +translator siftrinfo_t < struct pkt_node *p > { > + direction =3D p =3D=3D NULL ? 0 : p->direction; > + ipver =3D p =3D=3D NULL ? 0 : p->ipver; > + hash =3D p =3D=3D NULL ? 0 : p->hash; > + tcp_localport =3D p =3D=3D NULL ? 0 : = ntohs(p->tcp_localport); > + tcp_foreignport =3D p =3D=3D NULL ? 0 : = ntohs(p->tcp_foreignport); > + snd_cwnd =3D p =3D=3D NULL ? 0 : p->snd_cwnd; > + snd_wnd =3D p =3D=3D NULL ? 0 : p->snd_wnd; > + rcv_wnd =3D p =3D=3D NULL ? 0 : p->rcv_wnd; > + snd_bwnd =3D p =3D=3D NULL ? 0 : p->snd_bwnd; > + snd_ssthresh =3D p =3D=3D NULL ? 0 : = p->snd_ssthresh; > + conn_state =3D p =3D=3D NULL ? 0 : p->conn_state; > + max_seg_size =3D p =3D=3D NULL ? 0 : = p->max_seg_size; > + smoothed_rtt =3D p =3D=3D NULL ? 0 : = p->smoothed_rtt; > + sack_enabled =3D p =3D=3D NULL ? 0 : = p->sack_enabled; > + snd_scale =3D p =3D=3D NULL ? 0 : p->snd_scale; > + rcv_scale =3D p =3D=3D NULL ? 0 : p->rcv_scale; > + flags =3D p =3D=3D NULL ? 0 : p->flags; > + rxt_length =3D p =3D=3D NULL ? 0 : p->rxt_length; > + snd_buf_hiwater =3D p =3D=3D NULL ? 0 : p->snd_buf_hiwater; > + snd_buf_cc =3D p =3D=3D NULL ? 0 : p->snd_buf_cc; > + rcv_buf_hiwater =3D p =3D=3D NULL ? 0 : p->rcv_buf_hiwater; > + rcv_buf_cc =3D p =3D=3D NULL ? 0 : p->rcv_buf_cc; > + sent_inflight_bytes =3D p =3D=3D NULL ? 0 : = p->sent_inflight_bytes; > + t_segqlen =3D p =3D=3D NULL ? 0 : p->t_segqlen; > + flowid =3D p =3D=3D NULL ? 0 : p->flowid; > + flowtype =3D p =3D=3D NULL ? 0 : p->flowtype; > +}; >=20 > Modified: head/sys/netinet/in_kdtrace.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netinet/in_kdtrace.c Wed Apr 29 17:18:41 2015 = (r282239) > +++ head/sys/netinet/in_kdtrace.c Wed Apr 29 17:19:55 2015 = (r282240) > @@ -102,6 +102,9 @@ SDT_PROBE_DEFINE5_XLATE(tcp, , , send, > "struct tcpcb *", "tcpsinfo_t *" , > "struct tcphdr *", "tcpinfo_t *"); >=20 > +SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr, > + "struct pkt_node *", "siftrinfo_t *"); > + > SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change, > "void *", "void *", > "struct tcpcb *", "csinfo_t *", >=20 > Modified: head/sys/netinet/in_kdtrace.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netinet/in_kdtrace.h Wed Apr 29 17:18:41 2015 = (r282239) > +++ head/sys/netinet/in_kdtrace.h Wed Apr 29 17:19:55 2015 = (r282240) > @@ -32,6 +32,8 @@ > SDT_PROBE6(ip, , , probe, arg0, arg1, arg2, arg3, arg4, arg5) > #define UDP_PROBE(probe, arg0, arg1, arg2, arg3, arg4) = \ > SDT_PROBE5(udp, , , probe, arg0, arg1, arg2, arg3, arg4) > +#define TCP_PROBE1(probe, arg0) \ > + SDT_PROBE1(tcp, , , probe, arg0) > #define TCP_PROBE5(probe, arg0, arg1, arg2, arg3, arg4) = \ > SDT_PROBE5(tcp, , , probe, arg0, arg1, arg2, arg3, arg4) > #define TCP_PROBE6(probe, arg0, arg1, arg2, arg3, arg4, arg5) = \ > @@ -51,6 +53,7 @@ SDT_PROBE_DECLARE(tcp, , , connect__refu > SDT_PROBE_DECLARE(tcp, , , connect__request); > SDT_PROBE_DECLARE(tcp, , , receive); > SDT_PROBE_DECLARE(tcp, , , send); > +SDT_PROBE_DECLARE(tcp, , , siftr); > SDT_PROBE_DECLARE(tcp, , , state__change); >=20 > SDT_PROBE_DECLARE(udp, , , receive); >=20 > Modified: head/sys/netinet/siftr.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netinet/siftr.c Wed Apr 29 17:18:41 2015 = (r282239) > +++ head/sys/netinet/siftr.c Wed Apr 29 17:19:55 2015 = (r282240) > @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > #include > #include > #include > @@ -86,6 +87,7 @@ __FBSDID("$FreeBSD$"); > #include >=20 > #include > +#include > #include > #include > #include > @@ -547,6 +549,7 @@ siftr_process_pkt(struct pkt_node * pkt_ > } > #endif >=20 > + TCP_PROBE1(siftr, pkt_node); > alq_post_flags(siftr_alq, log_buf, 0); > } >=20 >=20 =E2=80=94=20 Bjoern A. Zeeb Charles Haddon Spurgeon: "Friendship is one of the sweetest joys of life. Many might have failed beneath the bitterness of their trial had they not found a friend."