Subject: Netlink messages without NLM_F_REQUEST flag

From: Leon Romanovsky <[email-masked]>
Date: Wed, 7 Jun 2017 19:19:01 +0300

Hi Kaike,

In the commit bc10ed7d3d19 ("IB/core: Add rdma netlink helper functions"),
part of larger series [1], you introduced ibnl_rcv_reply_skb(), which is very
similar to netlink_rcv_skb() with one major change.

The netlink messages without NLM_F_REQUEST flag are handled by ibnl_rcv_reply_skb(),
while netlink_rcv_skb() doesn't. The comment introduced in commit d35b685640ae
"[NETLINK]: Ignore !NLM_F_REQUEST messages directly in netlink_run_queue()")
says that "Only requests are handled by the kernel".

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.

Thanks

[1] http://www.spinics.net/lists/linux-rdma/msg28153.html