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

From: Michal Kubecek
Date: Fri Apr 26 2019 - 12:45:15 EST


On Fri, Apr 26, 2019 at 06:02:38PM +0200, Johannes Berg wrote:
> On Fri, 2019-04-26 at 09:00 -0600, David Ahern wrote:
> >
> > What is a valid use case for an attribute sometimes being a nest and
> > sometimes not? That seems really weird to me (ie., wrong). They should
> > be 2 separate attributes even if the backend processing is the same.
>
> Yeah, well, in the mentioned case - NL80211_ATTR_VENDOR_DATA - we
> basically have something that each driver (sometimes each operation that
> uses it) decides what it means, and most drivers like proper netlink
> attributes so have nested stuff there. Sometimes not, though in Prague
> we decided we should make that documented by requiring a nested policy
> and (perhaps, TBD) using something like an ERR_PTR() for "I really want
> this to be binary".
>
> I think as far as this particular attribute is concerned the ship has
> sailed, but in the future I'd probably advocate having two attributes.

Or put the binary into the nest which would also make it easier to
add more data or switch to structured information later.

Michal