Howdy,

I have added support for a DTrace SDT to the SIFTR module in HEAD. What this means is that you can now get SIFTR data filtered out of the kernel directly. I also added a simple script (share/dtrace/siftr) to show how this works. The test script is very wordy and only an example of how to use this. In order to use SIFTR with DTrace either load the modules, dtraceall and siftr, or compile them
into the kernel.  Here is some example output:

sudo ./siftr
direction in state state-established local 22 remote 55907
snd_cwnd 22978 snd_wnd 131008 rcv_wnd 66608 snd_bwnd 0 snd_ssthresh 1073725440
        max_seg_size 1448 smoothed_rtt 11 sack_enabled 1
        snd_scale 5 rcv_scale 6 flags 0x3e4 rxt_length 230
        snd_buf_hiwater 33304 snd_buf_cc 0 rcv_buf_hiwater 66608
        rcv_buf_cc 0 sent_inflight_bytes 0 t_segqlen 0
        flowid 0 flowtype 0

Using a DTrace predicate you can select a particular flow based on, for instance, the local and remote ports. I have not put in the IP address reporting as yet nor have I added the ability to pull out the timeval recorded by SIFTR. Since the trace point is in the code where the
trace is taken it is possible to use DTrace timestamps natively.

Best,
George
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to