A query regarding SCTP congestion control
rahman.sazzadur at gmail.com
Wed Jul 2 18:37:12 UTC 2008
I need to get SCTP congestion window data for research purpose. I collected
cwnd data from SCTP sender running on FreeBSD 7.0 machine by using KTR
kernel log. After that, I tried to plot cwnd vs. time and generated graph.
But I am unable to explain the graph and it is very different compared to
the graph as shown in the book "Stream Control Transmission Protocol
(SCTP)", a reference guide by Randall R. Stewart, page 187 and TCP
congestion window. An typical entry from the log looks like:
749199232185105 Net:0xc7703000 at cwnd_event (SACK) cwnd:25140 flight:0 pq:0
atpc:72 needpc:235 (tsn:0,sendcnt:191,strcnt:191)
I have used 749199232185105 in x axis as time and cwnd:25140 in y axis. I
have attached the image file of the graph herewith this mail.
>From the log, I found that cwnd varies very frequently accross time. Does
anyone have any idea regarding this issue?
Please let me know if you have any questions further.
Thanks in advance.
Md Sazzadur Rahman
School of Computer Science,
University of Oklahoma,
Norman, Oklahoma, USA
Steps for getting kernel log
1. Add options:
2. Recompile kernel
cd ../compile/ CUSTOM_KERNEL_9_6
make cleandepend;make depend;
make all install
3. Tried to enable trace point by:
Sysctl -w "net.inet.sctp.log_level=0x00000004"
4. run SCTP sender.
5. pull out data:
Ktrdump –q –t –o file_name
Prtcwndlog –l filename > cwnd.txt
On Wed, Apr 16, 2008 at 9:03 AM, Randall Stewart <rrs at cisco.com> wrote:
> Rahman, Md Sazzadur wrote:
>> Hi, I would like to get the values of SCTP congestion control
>> algorithm variables (cwnd, ssthresh, flightsize and pba) from any
>> SCTP based application in runtime for research purpose. Does any API
>> exist in SCTP for that? Do I need to dig the SCTP code in kernel to
>> get the values?
> There is a socket option to get the cwnd.
> However, I think what you really want is some of the researchish
> tracing stuff that SCTP provides.
> You can actually get a real time trace of the cwnd/flight etc via the
> various logging functions.
> You basically must compile this as an option.. have to go look
> at the options..
> And then you can either use ktrace (which I don't recommend since
> it turns on to much overhead in the kernel) or you can
> use SCTP_LOCAL_TRACE_BUF
> This will put it into a piece of memory only for SCTP and
> not turn on all the other ktrace points.
> After you enable the logging in your compile you must turn
> on the logging level..
> woudl be my recommendation.
> It gives you a real time up/down growth of the cwnd/flight/rwnd
> I think I wrote a "how to" somewhere.. let me go look..
>> I will appreciate any help in this regard.
>> Best Regards, Md Sazzadur Rahman Graduate Student, School of Computer
>> Science, University of Oklahoma, Norman, Oklahoma, USA
>> _______________________________________________ freebsd-net at freebsd.orgmailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe,
>> send any mail to "freebsd-net-unsubscribe at freebsd.org"
> Randall Stewart
> NSSTG - Cisco Systems Inc.
> 803-345-0369 <or> 803-317-4952 (cell)
> freebsd-net at freebsd.org mailing list
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
More information about the freebsd-net