[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170607181810.GI1127@mtr-leonro.local>
Date: Wed, 7 Jun 2017 21:18:10 +0300
From: Leon Romanovsky <leon@...nel.org>
To: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
Cc: Kaike Wan <kaike.wan@...el.com>, John Fleck <john.fleck@...el.com>,
Ira Weiny <ira.weiny@...el.com>, Thomas Graf <tgraf@...g.ch>,
Doug Ledford <dledford@...hat.com>,
Jiri Pirko <jiri@...lanox.com>,
RDMA mailing list <linux-rdma@...r.kernel.org>,
linux-netdev <netdev@...r.kernel.org>
Subject: Re: Netlink messages without NLM_F_REQUEST flag
On Wed, Jun 07, 2017 at 11:07:02AM -0600, Jason Gunthorpe wrote:
> On Wed, Jun 07, 2017 at 08:00:37PM +0300, Leon Romanovsky wrote:
> > On Wed, Jun 07, 2017 at 10:47:50AM -0600, Jason Gunthorpe wrote:
> > > On Wed, Jun 07, 2017 at 07:43:44PM +0300, Leon Romanovsky wrote:
> > > > On Wed, Jun 7, 2017 at 7:37 PM, Jason Gunthorpe
> > > > <jgunthorpe@...idianresearch.com> wrote:
> > > > > On Wed, Jun 07, 2017 at 07:19:01PM +0300, Leon Romanovsky wrote:
> > > > >> It makes me wonder if it is expected behavior for
> > > > >> ibnl_rcv_reply_skb() to handle !NLM_F_REQUEST messages and do we
> > > > >> really need it? What are the scenarios? In my use case, which is
> > > > >> for sure different from yours, I'm always setting NLM_F_REQUEST
> > > > >> while communicating with kernel.
> > > > >
> > > > > If I recall the user space SA code issues REQUESTS from the kernel to
> > > > > userspace, so userspace returns with the response format. This is
> > > > > abnormal for netlink hence the special function.
> > > >
> > > > In netlink semantics, kernel side is supposed to send netlink
> > > > notification message and userspace is supposed to send REQUEST.
> > >
> > > That pattern is for async communications, the SA stuff needs a sync
> > > protocol, unfortunately.
> >
> > There is special flag NLM_F_ACK for it and userspace will set
> > NLM_F_REQUEST | NLM_F_ACK once synchronization is needed.
>
> AFAIK, that is different, that is acking and retriggering a single shot
> notification, not completing a kernel initiated handshake.
It is acking that message from user was received by kernel and now
processing. The message from kernel to user are anyway unreliable [1],
so I don't understand on which handshake you are talking.
[1] "reliable transmissions from kernel to user are impossible in any case"
https://linux.die.net/man/7/netlink
>
> Jason
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists