A problem on SCTP

Michael Tuexen Michael.Tuexen at lurchi.franken.de
Mon Mar 10 08:37:10 UTC 2014


On 10 Mar 2014, at 07:22, Niu Zhixiong <kaiaixi at gmail.com> wrote:

> Dear freebsd-net all,
>     I am a beginner of FreeBSD. I meet a problem in SCTP testing.
> 
> I have two virtual machine, both installed FreeBSD 10 / i386 / with generic
> KERNEL
> (the host is CentOS 6.5 x86-64 with KVM)
> 
> The first virtual machine named freetest0 and second is freetest1
> 
> freetest0 = freebsd 10 / i386 / the IF is vtnet2 192.168.6.100
> freetest1 = freebsd 10 / i386 / the IF is vtnet2 192.168.6.110
> 
> I want to test the speed between to freetest(s) IF.
> But, the problem is they cannot get connected by SCTP. the TCP and UDP are
> well.
> 
> Whatever I use iperf3 (with SCTP support) and netperfmeter, they cannot get
> connected by SCTP.
> 
>    #the server is freetest1
>    root at freetest1:~ # netstat -an -f inet
>    Active Internet connections (including servers)
>    Proto Recv-Q Send-Q Local Address          Foreign Address
> (state)
>    tcp46      0      0 *.9000                 *.*                    LISTEN
>    tcp4       0      0 192.168.0.110.22       192.168.0.1.39754
> ESTABLISHED
>    tcp4       0      0 192.168.0.110.22       192.168.0.1.39752
> ESTABLISHED
>    tcp4       0      0 127.0.0.1.25           *.*                    LISTEN
>    tcp4       0      0 *.22                   *.*                    LISTEN
>    udp46      0      0 *.9000                 *.*
>    udp4       0      0 *.514                  *.*
>    Active SCTP associations (including servers)
>    Proto  Type  Local Address          Foreign Address        (state)
>    sctp46 1to1  fe80::5054:ff:fe.9000                         LISTEN
>                 192.168.8.110.9000
>                 fe80::5054:ff:fe.9000
>                 192.168.6.110.9000
>                 fe80::5054:ff:fe.9000
>                 192.168.0.110.9000
>                 127.0.0.1.9000
>                 fe80::1.9000
>                 ::1.9000
>    sctp46 1toN  fe80::5054:ff:fe.9001                         LISTEN
>                 192.168.8.110.9001
>                 fe80::5054:ff:fe.9001
>                 192.168.6.110.9001
>                 fe80::5054:ff:fe.9001
>                 192.168.0.110.9001
>                 127.0.0.1.9001
>                 fe80::1.9001
>                 ::1.9001
> 
> 
> 
> 
> 
>    root at freetest0:~ # netperfmeter 192.168.6.110:9000
>    Network Performance Meter - Version 1.0
>    ---------------------------------------
> 
>    Active Mode:
>       - Measurement ID  = 4bc75bae
>       - Remote Address  = 192.168.6.110:9000
>       - Control Address = 192.168.6.110:9001 - connecting ...
> 
>    #<cannot get connected>
> 
> 
> 
>    root at freetest0:~ # tcpdump -i vtnet2
>    tcpdump: verbose output suppressed, use -v or -vv for full protocol
> decode
>    listening on vtnet2, link-type EN10MB (Ethernet), capture size 65535
> bytes
>    14:11:03.839031 IP 192.168.6.100.55228 > 192.168.6.110.5201: Flags [S],
> seq 1318388212, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val
> 2652085 ecr 0], length 0
>    14:11:03.868787 IP 192.168.6.110.5201 > 192.168.6.100.55228: Flags
> [R.], seq 0, ack 1318388213, win 0, length 0
>    14:11:35.235362 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:38.256378 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:40.256418 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:44.256099 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:52.254442 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
> 
>    root at freetest1:~ # tcpdump -i vtnet2
>    tcpdump: verbose output suppressed, use -v or -vv for full protocol
> decode
>    listening on vtnet2, link-type EN10MB (Ethernet), capture size 65535
> bytes
>    14:11:35.979349 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:39.000411 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:41.000495 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:45.000116 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
>    14:11:52.998491 IP 192.168.6.100.52018 > 192.168.6.110.9001: sctp (1)
> [INIT] [init tag: 3995201801] [rwnd: 1864135] [OS: 10] [MIS: 2048] [init
> TSN: 332259025]
> 
> root at freetest0:~ # uname -a
> FreeBSD freetest0 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Fri Jan 17
> 01:46:25 UTC 2014     root at snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC
> i386
> 
> Could somebody help me? Thank you in advance.
I haven't used KVM, so I hope there is no NAT involved between the two
FreeBSD machines.

Can you build a kernel with
SCTP_DEBUG
added to the options? Then use
sudo sysctl -w net.inet.sctp.debug=1
to enable it on the server. This should provide some information what is going
on.

Best regards
Michael
> 
> Regards,
> Niu Zhixiong
> ---------------
> kaiaixi at gmail.com
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-net mailing list