On Thu, 5 Mar 2020, David Laight wrote: > From: Jere Leppanen > > Sent: 04 March 2020 17:13 > > On Wed, 4 Mar 2020, Xin Long wrote: > > > > > On Wed, Mar 4, 2020 at 2:38 AM Leppanen, Jere (Nokia - FI/Espoo) > > > <jere.leppanen@xxxxxxxxx> wrote: > > >> > > >> On Mon, 2 Mar 2020, Xin Long wrote: > > >> > > >>> As it says in rfc6458#section-9.2: > > >>> > > >>> The application uses the sctp_peeloff() call to branch off an > > >>> association into a separate socket. (Note that the semantics are > > >>> somewhat changed from the traditional one-to-one style accept() > > >>> call.) Note also that the new socket is a one-to-one style socket. > > >>> Thus, it will be confined to operations allowed for a one-to-one > > >>> style socket. > > >>> > > >>> Prior to this patch, sctp_peeloff() returned a one-to-many type socket, > > >>> on which some operations are not allowed, like shutdown, as Jere > > >>> reported. > > >>> > > >>> This patch is to change it to return a one-to-one type socket instead. > > >> > > >> Thanks for looking into this. I like the patch, and it fixes my simple > > >> test case. > > >> > > >> But with this patch, peeled-off sockets are created by copying from a > > >> one-to-many socket to a one-to-one socket. Are you sure that that's > > >> not going to cause any problems? Is it possible that there was a > > >> reason why peeloff wasn't implemented this way in the first place? > > > I'm not sure, it's been there since very beginning, and I couldn't find > > > any changelog about it. > > > > > > I guess it was trying to differentiate peeled-off socket from TCP style > > > sockets. > > > > Well, that's probably the reason for UDP_HIGH_BANDWIDTH style. And maybe > > there is legitimate need for that differentiation in some cases, but I > > think inventing a special socket style is not the best way to handle it. > > > > But actually I meant why is a peeled-off socket created as SOCK_SEQPACKET > > instead of SOCK_STREAM. It could be to avoid copying from SOCK_SEQPACKET > > to SOCK_STREAM, but why would we need to avoid that? > > Because you don't want all the acks and retransmissions?? I don't follow. The socket type and style have virtually no effect on the protocol side of things, I think. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > >