netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* SCTP connect() both ways
@ 2014-06-09  9:41 David Laight
  2014-06-09 18:40 ` Vlad Yasevich
  0 siblings, 1 reply; 2+ messages in thread
From: David Laight @ 2014-06-09  9:41 UTC (permalink / raw)
  To: netdev@vger.kernel.org

When SCTP is used for protocols like M3UA it seems common
to configure both port numbers for a connection (typically
to the same value).

Rather than having one system call connect() and the other
listen(), both systems really want to try to establish the
connection by sending out INIT chunks.

The connection then gets established as soon as the second of the
two systems attempts to establish it.

However if the remote system responds with an ABORT (or maybe
an ICMP error is received) the Linux SCTP stack immediately
reports 'connect failed'.
For these sorts of connections it would be much better if the
received ABORT just increased the retry timer to large value.

Thoughts?

	David

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: SCTP connect() both ways
  2014-06-09  9:41 SCTP connect() both ways David Laight
@ 2014-06-09 18:40 ` Vlad Yasevich
  0 siblings, 0 replies; 2+ messages in thread
From: Vlad Yasevich @ 2014-06-09 18:40 UTC (permalink / raw)
  To: David Laight, netdev@vger.kernel.org

On 06/09/2014 05:41 AM, David Laight wrote:
> When SCTP is used for protocols like M3UA it seems common
> to configure both port numbers for a connection (typically
> to the same value).
> 
> Rather than having one system call connect() and the other
> listen(), both systems really want to try to establish the
> connection by sending out INIT chunks.

The correct way to do this is to not used connect() call.
Both systems should do a listen() and then use an implicit
connect by using an sctp_sendmsg() or similar calls to
send the data.

> 
> The connection then gets established as soon as the second of the
> two systems attempts to establish it.
> 
> However if the remote system responds with an ABORT (or maybe
> an ICMP error is received) the Linux SCTP stack immediately
> reports 'connect failed'.
> For these sorts of connections it would be much better if the
> received ABORT just increased the retry timer to large value.
> 
> Thoughts?

We don't know why the remote ABORTED.  There could be a lot of
reasons.  It is up to the application to retry.  This is no
different then receiving an RST in response to a SYN.

-vlad

> 
> 	David
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-09 18:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-09  9:41 SCTP connect() both ways David Laight
2014-06-09 18:40 ` Vlad Yasevich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).