On 11/11/2020 23:34, Jakub Kicinski wrote: > On Mon, 9 Nov 2020 16:18:08 +0100 Karsten Graul wrote: >> @@ -295,6 +377,14 @@ static int smc_diag_dump(struct sk_buff *skb, struct netlink_callback *cb) >> >> static int smc_diag_dump_ext(struct sk_buff *skb, struct netlink_callback *cb) >> { >> + struct smc_diag_req_v2 *req = nlmsg_data(cb->nlh); >> + >> + if (req->cmd == SMC_DIAG_GET_LGR_INFO) { >> + if ((req->cmd_ext & (1 << (SMC_DIAG_LGR_INFO_SMCR - 1)))) >> + smc_diag_fill_lgr_list(smc_diag_ops->get_lgr_list(), >> + skb, cb, req); >> + } >> + >> return skb->len; >> } > > IDK if this is appropriate for socket diag handler. > > Is there precedent for funneling commands through socket diag instead > of just creating a genetlink family? > Thank you for your valuable comments. We are looking into a better way to retrieve the various information from the kernel into user space, and we will come up with a v5 for that. -- Karsten