> > > - /*
> > > - * 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.