Hey Jórg, Thanks for the patch. This seems correct to me. From net/netlink/genetlink.c:
static const struct nla_policy ctrl_policy[CTRL_ATTR_MAX+1] = { [CTRL_ATTR_FAMILY_ID] = { .type = NLA_U16 }, So I'll apply it. However, the reason it was like this is because I lifted most of that file from iproute2: https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git/tree/devlink/mnlg.c I suspect the reason it's like this is because the original intention was to use the same field for CTRL_ATTR_MCAST_GRP_ID, which eventually got made into struct group_info instead. Can you send this upstream too? You'll want to send it to j...@mellanox.com, step...@networkplumber.org, and net...@vger.kernel.org, and put me in the CC. Thanks, Jason On Tue, Oct 31, 2017 at 9:55 AM, Jörg Thalheim <jo...@thalheim.io> wrote: > Signed-off-by: Joerg Thalheim <jo...@thalheim.io> > --- > src/tools/mnlg.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/tools/mnlg.c b/src/tools/mnlg.c > index 9135651..5ac72e2 100644 > --- a/src/tools/mnlg.c > +++ b/src/tools/mnlg.c > @@ -19,7 +19,7 @@ > struct mnlg_socket { > struct mnl_socket *nl; > char *buf; > - uint32_t id; > + uint16_t id; > uint8_t version; > unsigned int seq; > unsigned int portid; > @@ -206,7 +206,7 @@ int mnlg_socket_group_add(struct mnlg_socket *nlg, const > char *group_name) > nlh = __mnlg_msg_prepare(nlg, CTRL_CMD_GETFAMILY, > NLM_F_REQUEST | NLM_F_ACK, GENL_ID_CTRL, 1); > - mnl_attr_put_u32(nlh, CTRL_ATTR_FAMILY_ID, nlg->id); > + mnl_attr_put_u16(nlh, CTRL_ATTR_FAMILY_ID, nlg->id); > err = mnlg_socket_send(nlg, nlh); > if (err < 0) > -- > 2.14.3 > > _______________________________________________ > WireGuard mailing list > WireGuard@lists.zx2c4.com > https://lists.zx2c4.com/mailman/listinfo/wireguard _______________________________________________ WireGuard mailing list WireGuard@lists.zx2c4.com https://lists.zx2c4.com/mailman/listinfo/wireguard