Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 Jul 2006 07:40:04 -0400
From:      Randall Stewart <rrs@cisco.com>
To:        "George V. Neville-Neil" <gnn@neville-neil.com>
Cc:        freebsd-net@freebsd.org, Marcin Jessa <lists@yazzy.org>
Subject:   Re: SCTP
Message-ID:  <44AE4814.2020706@cisco.com>
In-Reply-To: <m2wtaril9n.wl%gnn@neville-neil.com>
References:  <44A552FA.2030302@cisco.com>	<m2u061ogp3.wl%gnn@neville-neil.com>	<20060703094806.689f33ae@marcin>	<44A90031.9010308@cisco.com> <m2wtaril9n.wl%gnn@neville-neil.com>

next in thread | previous in thread | raw e-mail | index | archive | help
George V. Neville-Neil wrote:

> 
> I already sent the pointer to my version of NetPIPE (the pounder you
> mention) and their new release should have SCTP in it by default.
> 
> Later,
> George
> 


Ok, no doc's just stuff

http://www.sctp.org/app.tar.bz2


Un tar into a directory (it creates several)

do a

gmake

and you will have in the apps/FreeBSD

subdir:
block_test              dump_pegs               prtcwndlog
client_manyconn         getcwndlog              prtcwndlog_ntohl
cmp_client              interest_client         sctp_test_app
cmp_recvfile            interest_server         server
cmp_sendfile            m_cmp_client            tcp_client
cmp_server              peel_client             tcp_server
data_sorter             peel_server             tsctp
bash-stewlap:

some ones of interest:

cmp_server
m_cmp_client

cmp_server takes an arg -p port and -s for SCTP and -t for TCP

m_cmp_client

takes many argumets...

-e error  -f file -h host -p port -M limit

-e error .. is just a text string that goes in the out file.. put
             -e 0.0

-f file  .. is an input list of transfers (see below).. suply your
             file name

-h 10.1.1.1  (host you ran cmp_server on)
-p port      (port you ran cmp_server on)

if you add a -t, you do TCP connections only. If you add a -s
you do SCTP connections only.. by default it will try both..

File format is:

# Control file needs
# sizetos:blksize:snd_buf:recv_buf\n
157000000:157:0:0
158000000:158:0:0


xx
yy
in the direectory are examples..

First arg is size of transfer
second is record size,
third and fourth are send/recv buf size changes -- 0 is don't touch.


This generates a file...

xx.data (xx is the file you input)... this can actually be used
with a data_sorter program to plot graphs...


sctp_test_app

Is a general purpose test app that can do LOTS of things.

It gives you a prompt and you can type help to it..

args to it are

-m myport
-p first-dest-port
-h first-dest-host
But I will let you type help for fun... and learning .. it does
use a readline type syntax. and requires libreadline.so/.a etc..

The rest are migrant test apps we have built over the last 5 years..
some simple.. some complex..

getcwndlog/prtcwndlog is a instrumenting utility that works with
the options in kernel config
#options		SCTP_LOG_MAXBURST
#options		SCTP_STAT_LOGGING
#options		SCTP_CWND_LOGGING
#options		SCTP_CWND_MONITOR
#options		SCTP_BLK_LOGGING
#options		SCTP_STR_LOGGING
#options		SCTP_FR_LOGGING
#options		SCTP_MAP_LOGGING
#options		SCTP_SACK_LOGGING
#options		SCTP_LOCK_LOGGING
#options		SCTP_RTTVAR_LOGGING
#options		SCTP_SB_LOGGING
#options		SCTP_WITH_NO_CSUM
#options		SCTP_EARLYFR_LOGGING
#options		SCTP_NAGLE_LOGGING

You turn on
option SCTP_STAT_LOGGING

and then add your favorite type of logging...
for example to watch cwnd

option SCTP_CWND_LOGGING

Now this creates an 80k entry array that
the getcwndlog will pull.
prtcwndlog will display the log..

I don't recommend this for production kernels.. but it
sure is nice for debugging and poking around :-D

The rest I will let you explore.. no apologies though for the
shape of the hacked together code :-)

R




-- 
Randall Stewart
NSSTG - Cisco Systems Inc.
803-345-0369 <or> 815-342-5222 (cell)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44AE4814.2020706>