Thread (34 messages) 34 messages, 3 authors, 2017-07-29

Re: [PATCH net-next v11 1/4] net netlink: Add new type NLA_BITFIELD_32

From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-07-28 14:08:43

Fri, Jul 28, 2017 at 03:51:41PM CEST, jhs@mojatatu.com wrote:
On 17-07-25 10:41 AM, David Ahern wrote:
quoted
On 7/23/17 7:35 PM, Jamal Hadi Salim wrote:
quoted
In the most basic form, the user specifies the attribute policy as:
[ATTR_GOO] = { .type = NLA_BITFIELD_32, .validation_data = &myvalidflags },

where myvalidflags is the bit mask of the flags the kernel understands.

If the user _does not_ provide myvalidflags then the attribute will
also be rejected.
No other netlink attribute has this requirement.
This is the first one where we have to inspect content. We add things
when we need them - as in this case.
quoted
Users of the attributes
are the only ones that know if a value is valid or not (e.g, attribute
passing a device index) and those are always checked in line.
It doesnt make sense that every user of the API has to repeat that
validation code. Same principle as someone specifying that a type is
u32 and have the nla validation check it. At some point we never had
the u32 validation code. Then it was factored out because everyone
repeats the same boilerplate code.
I see this in the same spirit.
Agreed.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help