Subject: Re: Netlink messages without NLM_F_REQUEST flag

From: Leon Romanovsky <[email-masked]>
Date: Wed, 7 Jun 2017 21:13:58 +0300

On Wed, Jun 07, 2017 at 05:10:35PM +0000, Weiny, Ira 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
> > > > <[email-masked]> 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.
> >
>
> Reference?
>
> From my understanding, NLM_F_REQUEST | NLM_F_ACK is simply requesting an ack from the kernel on a request.  In our case the message is a response to the kernel request.

There is a large chance that we are talking about different aspects of
"sync protocol" and for sure it is due to  my misunderstanding. Can you
elaborate more about the protocol? Why is so unique to RDMA?

Why is ACK + sequence number tracking not enough?

https://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_ack

>
> Ira
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html