Subject: SO_REUSEADDR and SCTP socket

From: "Anatoly Khusid" <[email-masked]>
Date: Fri, 11 Feb 2005 17:00:28 -0500

This question deals more with "SCTP Sockets API" draft.  I have not seen any
explanation in this document regarding the usage of SO_REUSEADDR on SCTP
sockets.
The following code fails on Solaris 10:

ADDR = Some valid address to bind
fd1 = socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);
setsockopt(fd1, SOL_SOCKET, SO_REUSEADDR)
bind(fd1, ADDR)
fd2 = socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);
setsockopt(fd2, SOL_SOCKET, SO_REUSEADDR)
bind(fd2, ADDR)   <=== Fails with errno="Address in use"

However, the above code works fine on Linux SLES9.  Does it mean that Linux
has a bug, or this is something implementation dependent?
What is the right behavior for SO_REUSEADDR on SCTP sockets?
Do you think this should be explained/documented in "SCTP Sockets API"?

Thanks,

Anatoly Khusid