[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55CB4729.2060203@gmail.com>
Date: Wed, 12 Aug 2015 10:16:25 -0300
From: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
To: David Laight <David.Laight@...LAB.COM>,
"cluster-devel@...hat.com" <cluster-devel@...hat.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Vlad Yasevich <vyasevich@...il.com>,
Neil Horman <nhorman@...driver.com>,
David Teigland <teigland@...hat.com>,
"tan.hu@....com.cn" <tan.hu@....com.cn>
Subject: Re: [PATCH 4/6] dlm: use sctp 1-to-1 API
Em 12-08-2015 07:23, David Laight escreveu:
> From: Marcelo Ricardo Leitner
>> Sent: 11 August 2015 23:22
>> DLM is using 1-to-many API but in a 1-to-1 fashion. That is, it's not
>> needed but this causes it to use sctp_do_peeloff() to mimic an
>> kernel_accept() and this causes a symbol dependency on sctp module.
>>
>> By switching it to 1-to-1 API we can avoid this dependency and also
>> reduce quite a lot of SCTP-specific code in lowcomms.c.
> ...
>
> You still need to enable sctp notifications (I think the patch deleted
> that code).
> Otherwise you don't get any kind of indication if the remote system
> 'resets' (ie sends an new INIT chunk) on an existing connection.
Right, it would miss the restart event and could generate a corrupted
tx/rx buffers by glueing parts of old messages with new ones.
> It is probably enough to treat the MSG_NOTIFICATION as a fatal error
> and close the socket.
Just so we are on the same page, you mean that after accepting the new
association and enabling notifications on it, any further notification
on it can be treated as fatal errors, right? Seems reasonable to me.
> This is probably a bug in the sctp stack - if a connection is reset
> but the user hasn't requested notifications then it should be
> converted to a disconnect indication and a new incoming connection.
Maybe in such case resets shouldn't be allowed at all? Because unless it
happens on a moment of silence it will always lead to application buffer
corruption. Checked the RFCs now but couldn't find anything restricting
them to some condition.
Thanks,
Marcelo
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists