From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
To: Xin Long <lucien.xin@gmail.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Vlad Yasevich <vyasevic@redhat.com>,
Daniel Borkmann <daniel@iogearbox.net>,
David Miller <davem@davemloft.net>,
"linux-sctp@vger.kernel.org" <linux-sctp@vger.kernel.org>,
Michael Tuexen <Michael.Tuexen@lurchi.franken.de>,
Eric Dumazet <edumazet@google.com>,
Brenda Butler <bjb@mojatatu.com>,
gabor@mojatatu.com
Subject: Re: send/sendmsg ENOMEM errors WAS(Re: [PATCH net 6/6] sctp: not return ENOMEM err back in sctp_packet_transmit
Date: Mon, 24 Oct 2016 09:48:23 -0200 [thread overview]
Message-ID: <20161024114823.GE2958@localhost.localdomain> (raw)
In-Reply-To: <CADvbK_cvYhCfzuJCcoUC3+Ghv+VYLoyRGo0mt9UccjYpSBYD0g@mail.gmail.com>
On Mon, Oct 24, 2016 at 02:30:07PM +0800, Xin Long wrote:
> [1]
> >> This patch doesn't ignore all the ENOMEN cases, only after msg is
> >> enqueued in out queue/send queue, in the lower layer, when alloc
> >> new skb and copy data from old skb, if it fails to alloc new skb, sctp
> >> will ignore this ENOMEM, as this msg will be taken care by retransmit
> >> mechanism, it's reasonable and also safe, user can't feel that.
> >>
> >
> > Yes, that part i got.
> >
>
> [2]
> >> But for the cases before enqueue, like in sctp_sendmsg,
> >> sctp_datamsg_from_user may return ENOMEM, this err will return
> >> back to user, and can't be ignored.
> >>
> >
> > The hard part is distinguishing between the above case and real
> > failure.
> > I am assuming in the case above user is _not_ required to send
> > again. But in the general case they are required to send again.
> > Correct?
> in case [1], user can't see the ENOMEM, ENOMEM is more like
> a internal err.
>
> in case [2], user will got the ENOMEM, they should resend this msg,
> It's the the general case mentioned-above
>
> >
> >> So I don't really think we should change something in manpage, what
> >> do you think ? maybe a little explanation there is also nice, :)
> >
> >
> > Yes, that would help. In particular it should be clear what user space
> > is expected to do. While this is about sctp - I am assuming equivalent
> > behavior for all callers of sendxxx() regardless of protocol.
> here sctp's behavior is actually same with tcp's, in tcp, tcp_transmit_skb
> also may fail to alloc skb, but it doesn't return any err to user, just like
> sctp_packet_transmit. That's why I don't think we should change something
> in manpage, as here sctp is consistent with tcp now.
>
> make sense ?
I may be saying what is already understood, but just to be clear,
without this patch, there is no consistent way to known if you hit [1]
or [2]. Recovering from it then depends on how the protocol above SCTP
will handle it, if it can handle duplicate messages or not.
next prev parent reply other threads:[~2016-10-24 11:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <c15cc225-608d-5268-d179-6a997c3cad62@mojatatu.com>
2016-10-23 15:32 ` Fwd: send/sendmsg ENOMEM errors WAS(Re: [PATCH net 6/6] sctp: not return ENOMEM err back in sctp_packet_transmit Jamal Hadi Salim
2016-10-23 18:20 ` Xin Long
2016-10-23 19:52 ` Jamal Hadi Salim
2016-10-24 6:30 ` Xin Long
2016-10-24 11:48 ` Marcelo Ricardo Leitner [this message]
2016-10-24 12:38 ` Jamal Hadi Salim
2016-10-25 9:05 ` Xin Long
2016-10-25 10:34 ` Marcelo Ricardo Leitner
2016-10-25 11:04 ` Jamal Hadi Salim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161024114823.GE2958@localhost.localdomain \
--to=marcelo.leitner@gmail.com \
--cc=Michael.Tuexen@lurchi.franken.de \
--cc=bjb@mojatatu.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gabor@mojatatu.com \
--cc=jhs@mojatatu.com \
--cc=linux-sctp@vger.kernel.org \
--cc=lucien.xin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=vyasevic@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).