Subject: connect() timeout

From: [email-masked]
Date: Tue, 24 Feb 2004 17:39:00 -0500

When establishing a explicit association using connect, is there a way to specify the timeout value to wait in which to wait for a response.  Right now, I am using setsockopt to set SCTP_INITMSG where the sinit_max_init_timeo value is set to 5000.  However, immediately after sending the connect, if no answer is received I receive SCTP_CANT_STR_ASSOC immediately.  

Is there another way I should be specifying this timeout value?

> 
> From: Michael Tuexen <[email-masked]>
> Date: 2004/02/24 Tue PM 04:43:34 EST
> To: Craig Rodrigues <[email-masked]>
> CC: [email-masked],  [email-masked]
> Subject: Re: One connect() call to multiple servers?
> 
> Craig,
> 
> see my comments below.
> 
> Best regards
> Michael
> 
> On Feb 24, 2004, at 10:12 PM, Craig Rodrigues wrote:
> 
> > On Tue, Feb 24, 2004 at 09:10:32PM +0100, Michael Tuexen wrote:
> >>>                                 _____
> >>>      _____ -------------------->| B |
> >>>      | A |                      -----
> >>>      _____                      192.168.0.2
> >>>      192.168.0.1
> >>>          |                      _____
> >>>          |--------------------->| C |
> >>>                                 -----
> >>>                                 192.168.0.3
> >>>
> >>>
> >>> In A, I want to connect(192.168.0.2:1000, 192.168.0.3:1000).
> >>>
> >> This does NOT work. connect accepts only one address, connect_x
> >> accepts multiple, but they must be on ONE host.
> >> So you need two connect calls using the two sockets.
> >
> > Well, this connect() call actually does work if you use
> > OpenSS7 SCTP, since OpenSS7 SCTP allows you to pass in
> > an array of addresses.  However, this does not
> > conform to the SCTP socket API in the IETF drafts
> > (which LKSCTP implements).
> >
> You have to contact Brian...
> >> This is host fail-over. This is not done by SCTP. An implementation
> >> of RSerPool does this sort of failover.
> >
> > If I don't want to use RSerPool, can I run a similar
> > experiment, where B and C are two separate server programs located
> > on the same host, but bound to two different network
> > interfaces (but same port)?
> No. SCTP provides path fail-over within one association. You are
> talking about two separate processes which would have two
> separate associations. Except, if you have one, set up the assoc
> and then fork() into another process. But this is not that easy.
> I assume that you are looking for a concept being able to handle
> the failure of an SCTP endpoint. RSerPool is a solution for that.
> 
> >
> > By the way, for the Rserpool code available at
> > http://www.sctp.de/rserpool.html, what SCTP implementation
> > does it work with?  It doesn't seem to compile with LKSCTP.
> >
> Well, the released version works with the socketapilib.
> The socketapi was changed in the meantime.
> We have not released a new version for a long time, but we
> do have a version which runs natively on the KAME stack
> and the Linux stack. We will publish this version within the
> next weeks. I can announce it also on the SCTP Impl list...
> 
> Best regards
> Michael
> > -- 
> > Craig Rodrigues        Distributed Systems and Logistics, Office 6/325A
> > [email-masked]       BBN Technologies
> > (617) 873-4725         Cambridge, MA
> 
> 
>