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