Skip to content
An implementation of SCTP Conformance Tests according to ETSI TS 102 369 for stt
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE.md
README.md
bundling.scm
common.scm
diameter.scm
dotstt.scm
sctp-a-tests.scm
sctp-as-tests.scm
sctp-at-tests.scm
sctp-bdc-tests.scm
sctp-bundling-tests.scm
sctp-checksum-tests
sctp-checksum-tests.scm
sctp-client-tests
sctp-d-tests.scm
sctp-data-tests.scm
sctp-dm-tests.scm
sctp-e-tests.scm
sctp-fh-tests.scm
sctp-imh-tests.scm
sctp-m-tests.scm
sctp-misc-tests.scm
sctp-param-testtool.scm
sctp-rfc-4460-tests.scm
sctp-rt-tests.scm
sctp-server-tests
sctp.scm

README.md

SCTP Testsuite

The tests are based on the ETSI test specification ETSI TS 102 369.

This tool uses guile and its extension This tool uses stt. Please see README for installation instructions.

Installation

For downloading the tool and the tests run

git clone https://github.com/nplab/sctp-testtool.git
cd sctp-testtool

and change the line in dotstt.scm

(define dir "/Users/tuexen/Documents/sctp-tests/")

to reflect the location of the sctp-tests directory and run

cp dotstt.scm ~/.stt.scm

Configuration

The test tool is configured by editing the file sctp-param-testtool.scm. You can change the IP-address and SCTP port numbers used by the test tool and the system under test by modifying the entries:

(define sut-addr (make-ipv4-address "192.168.1.244"))
(define sut-port 80)

and

(define tester-port 5001)
(define tester-addr-1 (make-ipv4-address "192.168.1.100"))
(define tester-addr-2 (make-ipv4-address "192.168.1.200"))

The upper layer protocol is specified in the line

(define upper-layer-protocol ulp-echo)

Possible values are

  • ulp-diameter for the diameter protocol
  • ulp-echo for the echo protocol
  • ulp-m3ua for the M3UA protocol
  • ulp-s1ap for the S1AP protocol

You also need to specify if the system under tests acts as an SCTP client or server:

(define sut-is-server #t)

You can also specify several other parameters.

Usage

On Linux, SCTP support is implemented via a loadable kernel module. When using stt, ensure that the kernel module is not loaded.

You can run specfic tests using the runsctptest. For example, to run the sctp-as-v-1-1-1 test, execute

runsctptest sctp-as-v-1-1-1

You can also run a selection of client tests by using the tcsh script

sctp-tests/sctp-client-tests

or a selection of server tests by running the tcsh script

sctp-tests sctp-server-tests

Please note that you must verify the verdict by double checking the message flows. This can be done by using a protocol analyzer like Wireshark.

You can’t perform that action at this time.