- From: Julien Vanegue <jvanegue AT citypassenger.com>
- To: discussion AT sctp.de
- Subject: [SCTP-Discussion] Problem using ext_select on a SEQPACKET SCTP client socket
- Date: Thu Oct 14 15:12:49 2004
- List-id: SCTP Discussions <discussion.sctp.de>
- Organization: Citypassenger
Hi everyone,
I need to use ext_select() on a seqpacket sctp socket.
Using sctplib-1.0.1 and socketapi-1.3.1, I am unable to
receive pending data (the remote sctp server socket effectively
send the data, as shown by a running sniffer - tcpdump 3.7.2 using
libpcap 0.7.2 - ).
- All attempt to ext_select() a seqpacket sctp client socket leads
to a blocking select, which does not wake up even if input data
is provided to the sctp client socket.
- An interresting trace of the network traffic is this :
[.....]
11:30:32.459581 192.168.1.99.2222 > demoweb.23190: sctp
1) [SACK] [cum ack 1607778196] [a_rwnd 65535] [#gap acks 0] [#dup
tsns 0]
2) [DATA] (B)(E) [TSN: 1772071492] [SID: 0] [SSEQ 0] [PPID 0x0]
[Payload] (DF) [tos 0x10] (ttl 64, id 0, len 184)
0x0000 4510 00b8 0000 4000 4084 b5f0 c0a8 0163 E.....@.@......c
0x0010 c0a8 010e 08ae 5a96 2abc 4ab5 90f5 f6d1 ......Z.*.J.....
0x0020 0300 0010 5fd4 bf94 0000 ffff 0000 0000 ...._...........
0x0030 0003 0087 699f aa44 0000 0000 0000 0000 ....i..D........
0x0040 3c48 544d 4c3e 0a20 203c 4845 4144 3e3c <HTML>...<HEAD><
0x0050 5449 TI
11:30:32.461552 demoweb.23190 > 192.168.1.99.2222: sctp
1) [SACK] [cum ack 1772071492] [a_rwnd 65416] [#gap acks 0] [#dup
tsns 0] (DF) (ttl 64, id 0, len 48)
0x0000 4500 0030 0000 4000 4084 b688 c0a8 010e E..0..@.@.......
0x0010 c0a8 0163 5a96 08ae 159b ddcc 3c23 7705 ...cZ.......<#w.
0x0020 0300 0010 699f aa44 0000 ff88 0000 0000 ....i..D........
11:31:02.705602 192.168.1.99.2222 > demoweb.23190: sctp
1) [SHUTDOWN] (DF) [tos 0x10] (ttl 64, id 0, len 40)
0x0000 4510 0028 0000 4000 4084 b680 c0a8 0163 E..(..@.@......c
0x0010 c0a8 010e 08ae 5a96 2abc 4ab5 370c 1041 ......Z.*.J.7..A
0x0020 0700 0008 5fd4 bf94 0000 0000 0000 ...._.........
11:31:02.706094 demoweb.23190 > 192.168.1.99.2222: sctp
1) [SHUTDOWN ACK] (DF) (ttl 64, id 0, len 36)
0x0000 4500 0024 0000 4000 4084 b694 c0a8 010e E..$..@.@.......
0x0010 c0a8 0163 5a96 08ae 159b ddcc c92c ebe9 ...cZ........,..
0x0020 0800 0004 ....
11:31:02.706457 192.168.1.99.2222 > demoweb.23190: sctp
1) [SHUTDOWN COMPLETE] (DF) [tos 0x10] (ttl 64, id 0, len 36)
0x0000 4510 0024 0000 4000 4084 b684 c0a8 0163 E..$..@.@......c
0x0010 c0a8 010e 08ae 5a96 2abc 4ab5 14fc 4ec0 ......Z.*.J...N.
0x0020 0e00 0004 0000 0000 0000 0000 0000 ..............
where you can identify the answer packet (the one with html tags in the data)
from the server (bound on machine 192.168.1.99:2222), followed by a shutdown
of the connection, for an unknown reason (I commented all close() in the
client / server program to make sure that no unrequested close() is done and
the behavior stays the same). Note that the request packet was not included
in this dump since the answer is correct, but the application layer is not
informed of the answer.
Is there any issue with ext_select on seqpacket sctp socket ?
Is it a known bug, or is there another common way to do that
for this kind of socket ? Is there an issue with checksums for
dgram sctp sockets ?
Thanks.
----
Julien Vanegue
Citypassenger - high speed wireless telecoms solutions
- [SCTP-Discussion] Problem using ext_select on a SEQPACKET SCTP client socket, Julien Vanegue, 10/14/2004
Archive powered by MHonArc 2.6.19+.