Re: [PATCH net-next 0/3] make nla_nest_start() add NLA_F_NESTED flag

From: David Miller
Date: Sat Apr 27 2019 - 17:04:09 EST


From: Michal Kubecek <mkubecek@xxxxxxx>
Date: Fri, 26 Apr 2019 11:13:03 +0200 (CEST)

> One of the comments in recent review of the ethtool netlink series pointed
> out that proposed ethnl_nest_start() helper which adds NLA_F_NESTED to
> second argument of nla_nest_start() is not really specific to ethtool
> netlink code. That is hard to argue with as closer inspection revealed that
> exactly the same helper already exists in ipset code (except it's a macro
> rather than an inline function).
>
> Another observation was that even if NLA_F_NESTED flag was introduced in
> 2007, only few netlink based interfaces set it in kernel generated messages
> and even many recently added APIs omit it. That is unfortunate as without
> the flag, message parsers not familiar with attribute semantics cannot
> recognize nested attributes and do not see message structure; this affects
> e.g. wireshark dissector or mnl_nlmsg_fprintf() from libmnl.
>
> This is why I'm suggesting to rename existing nla_nest_start() to different
> name (nla_nest_start_noflag) and reintroduce nla_nest_start() as a wrapper
> adding NLA_F_NESTED flag. This is implemented in first patch which is
> mostly generated by spatch. Second patch drops ipset helper macros which
> lose their purpose. Third patch cleans up minor coding style issues found
> by checkpatch.pl in first patch.
>
> We could leave nla_nest_start() untouched and simply add a wrapper adding
> NLA_F_NESTED but that would probably preserve the state when even most new
> code doesn't set the flag.

Series applied, thank you.