Re: [PATCH net] ethtool: add and use message type for tunnel info reply

From: Andrew Lunn
Date: Wed Sep 16 2020 - 22:13:38 EST


On Thu, Sep 17, 2020 at 01:04:10AM +0200, Michal Kubecek wrote:
> Tunnel offload info code uses ETHTOOL_MSG_TUNNEL_INFO_GET message type (cmd
> field in genetlink header) for replies to tunnel info netlink request, i.e.
> the same value as the request have. This is a problem because we are using
> two separate enums for userspace to kernel and kernel to userspace message
> types so that this ETHTOOL_MSG_TUNNEL_INFO_GET (28) collides with
> ETHTOOL_MSG_CABLE_TEST_TDR_NTF which is what message type 28 means for
> kernel to userspace messages.

>
> rskb = ethnl_reply_init(reply_len, req_info.dev,
> - ETHTOOL_MSG_TUNNEL_INFO_GET,
> + ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
> ETHTOOL_A_TUNNEL_INFO_HEADER,
> info, &reply_payload);

Michal

Maybe it would make sense to change the two enums from anonymous to
tagged. We can then make ethnl_reply_init() do type checking and
hopefully catch such problems earlier?

I just wonder if we then run into ABI problems?

Andrew