RE: SO_REUSEADDR setsockopt() and SCTP

From: Anatoly Khusid <anatoly.khusid@ulticom.com>
Date: Fri Feb 11 2005 - 17:28:30 EST
('binary' encoding is not supported, stored as-is) ('binary' encoding is not supported, stored as-is) >SO_REUSEADDR is described by POSIX and is protocol independent.

It works different on Linux SLES9 vs. Solaris when using SCTP sockets.
I provided an example which illustrates the differences.
This web site only explains how SO_REUSEADDR work with TCP.
Is TCP TIME_WAIT equivalent to SCTP_SHUTDOWN_PENDING ?

>You can use setsockopt() to set the SO_REUSEADDR socket option, which
explicitly
>allows a process to bind to a port which remains in TIME_WAIT (it still
only
>allows a single process to be bound to that port). This is the both the
simplest
>and the most effective option for reducing the "address already in use"
error.

http://hea-www.harvard.edu/~fine/Tech/addrinuse.html

-----Original Message-----
From: Brian F. G. Bidulock [mailto:bidulock@openss7.org]
Sent: Friday, February 11, 2005 5:04 PM
To: Anatoly Khusid
Cc: sctp-impl@external.cisco.com
Subject: Re: SO_REUSEADDR setsockopt() and SCTP

Anatoly,

SO_REUSEADDR is described by POSIX and is protocol independent.

--brian

On Fri, 11 Feb 2005, Anatoly Khusid wrote:

> 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

--
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
bidulock@openss7.org    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦
Received on Fri Feb 11 17:51:16 2005

This archive was generated by hypermail 2.1.8 : Mon Mar 13 2006 - 15:22:24 EST