[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bfc973f868914c339caed34334f3e170@AcuMS.aculab.com>
Date: Tue, 22 May 2018 15:36:58 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Marcelo Ricardo Leitner' <marcelo.leitner@...il.com>,
Michael Tuexen <tuexen@...muenster.de>
CC: Neil Horman <nhorman@...driver.com>,
Xin Long <lucien.xin@...il.com>,
network dev <netdev@...r.kernel.org>,
"linux-sctp@...r.kernel.org" <linux-sctp@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>
Subject: RE: [PATCH net-next] sctp: add support for SCTP_REUSE_PORT sockopt
...
> > >> the reason this was added is to have a specified way to allow a system to
> > >> behave like a client and server making use of the INIT collision.
> > >>
> > >> For 1-to-many style sockets you can do this by creating a socket, binding it,
> > >> calling listen on it and trying to connect to the peer.
> > >>
> > >> For 1-to-1 style sockets you need two sockets for it. One listener and one
> > >> you use to connect (and close it in case of failure, open a new one...).
> > >>
> > >> It was not clear if one can achieve this with SO_REUSEPORT and/or SO_REUSEADDR
> > >> on all platforms. We left that unspecified.
> > >>
> > >> I hope this makes the intention clearer.
That really doesn't help for 1-1 sockets.
You need a way of accepting connections that come from a specific remote host.
Otherwise the application has to verify that the remove address on the incoming
connection is the one it is expecting.
It is also a problem if two different applications (instances) want to
generate 'INIT collisions' for the same local addresses but different remote
ones.
The only way 'INIT collisions' are going to work is with a different
option that stops the receipt of an ABORT chunk erroring a connect.
David
Powered by blists - more mailing lists