Subject: RE: [PATCH rdma-next 11/19] RDMA/netlink: Convert LS to doit callback

From: "Steve Wise" <[email-masked]>
Date: Wed, 21 Jun 2017 10:25:18 -0500

> > > -	/*
> > > -	 * For response or local service set_timeout request,
> > > -	 * there is no need to use netlink_dump_start.
> > > -	 */
> > > -	if (!(nlh->nlmsg_flags & NLM_F_REQUEST) ||
> > > -	    (index == RDMA_NL_LS && op == RDMA_NL_LS_OP_SET_TIMEOUT)) {
> > > -		cb.skb = skb;
> > > -		cb.nlh = nlh;
> > > -		cb.dump = cb_table[op].dump;
> > > -		return cb.dump(skb, &cb);
> > > -	} else {
> > > -		c.dump = cb_table[op].dump;
> > > +	/* TODO: Convert IWCM to properly handle doit callbacks */
> > > +	if ((nlh->nlmsg_flags & NLM_F_DUMP) || index == RDMA_NL_RDMA_CM
> > > ||
> > > +	    index == RDMA_NL_IWCM) {
> > > +		struct netlink_dump_control c = {
> > > +			.dump = cb_table[op].dump,
> > > +		};
> >
> > Any reason you didn't fix IWCM as part of this series?  Or will you fix it
in an
> > upcoming series?  Also, isn't FIXME: the norm for these sorts of "I don't
want
> > to fix this now" comments?
> 
> I wanted to stop before it is growing into enormous series. There are
> number of things which I wanted to discuss and fix before moving forward.
> 
> 1. What should we do with exported RDMA-CM statistics and structures? I
> have a very strong feeling that it is broken and anyway, I'm not going to
> use it, because it doesn't follow netlink's TLV style.
> 
> 2. How to handle IWCM code which sets manually MSG_DONE and isn't using
> MULTI flag? It has very similar pattern to my "workarounds", when I didn't
> handle properly end of message.
> 
> 3. Need to remove nl_client from IWCM code.
> 

Chien, can you please comment on this? 

Thanks!

Steve.