sudonym1 / iperf

Automatically exported from code.google.com/p/iperf
Other
0 stars 0 forks source link

SCTP Support For Iperf #131

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Explanation of new feature

 Added SCTP support for iperf
 --sctp

Here is the issues:
1 iperf_api.h :
       define Psctp 12  any other I can use.
2. command line option --sctp and -x
  Was clueless choosing single param I put it as 'x'
  however only --sctp works  -x is asking for another param . I could not figure out how to make it no_argument.

  This patch is very basic support for SCTP. Slowly other SCTP feature can be added once it gets reviewed and tested which will include statics display also.

$ diffstat sctp.patch 
 b/src/Makefile.am   |    2 
 b/src/iperf_api.c   |   89 +++++++++++++++---
 b/src/iperf_api.h   |    2 
 b/src/iperf_error.c |    5 +
 b/src/locale.c      |    3 
 iperf_sctp.c        |  248 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 iperf_sctp.h        |   51 ++++++++++
 7 files changed, 384 insertions(+), 16 deletions(-)

Thanks,
Susant

Original issue reported on code.google.com by susant%redhat.com@gtempaccount.com on 30 Dec 2013 at 2:53

Attachments:

GoogleCodeExporter commented 9 years ago
Patch acknowledged, thanks!  Hope to be able to try this out soon.

Original comment by bmah@es.net on 8 Jan 2014 at 10:51

GoogleCodeExporter commented 9 years ago
I've been working with this.  I have it working on FreeBSD as well although to 
get there I had to fix a couple of (unrelated) bugs.

Original comment by bmah@es.net on 5 Feb 2014 at 6:13

GoogleCodeExporter commented 9 years ago
Revision a8b7c8f24bd6 commits a modified version of the patch.

In some more Linux testing it looks like there's a couple loose ends.  We 
probably need to set a (slightly?) lower default value for blksize on SCTP 
(right now it uses the TCP default of 128KB, which CentOS 6 doesn't like).

As indicated in the comment for Revision a8b7c8f24bd6, I'm not really satisfied 
with how SCTP is enabled and disabled on different platforms.  Just assuming 
that "Linux or FreeBSD" means "SCTP supported" is wrong, but I am not sure 
what's the best way to fix this.

It seems like there is at least one quantity (SCTP_DISABLE_FRAGMENTS) that 
should be pulled from a header file, not conditionally defined in 
src/iperf_sctp.h.  (FreeBSD defines this, but Linux doesn't.)

Original comment by bmah@es.net on 14 Feb 2014 at 8:07

GoogleCodeExporter commented 9 years ago
Revision e91161d62174 sets a default 64KB block size for SCTP sends.

Original comment by bmah@es.net on 14 Feb 2014 at 10:08

GoogleCodeExporter commented 9 years ago
Adding the patches to issue section to be tracked .

nagle patch:
patch 1:
 This patch enables the option for SCTP to set MSS and no delay from client side.

-M, --set-mss   #         set TCP/SCTP maximum segment size (MTU - 40 bytes)
-N, --nodelay             set TCP/SCTP no delay, disabling Nagle's Algorithm

Patch:2

     SCTP can provide multiple streams between connection endpoints, and each stream will have its own reliable sequenced delivery of messages, so any lost message will not block the delivery of messages in any of the other streams.

  This patch provides how many of streams to start with 

Original comment by susant%redhat.com@gtempaccount.com on 24 Feb 2014 at 7:54

Attachments: