Thread (28 messages) 28 messages, 3 authors, 2017-06-13

Re: [PATCH net-next v10 1/4] net netlink: Add new type NLA_FLAG_BITS

From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-06-12 14:14:59

Mon, Jun 12, 2017 at 03:51:19PM CEST, jhs@mojatatu.com wrote:
On 17-06-12 07:43 AM, Jiri Pirko wrote:
quoted
Mon, Jun 12, 2017 at 01:10:56PM CEST, jhs@mojatatu.com wrote:
quoted
On 17-06-12 06:34 AM, Jiri Pirko wrote:
quoted
Sun, Jun 11, 2017 at 08:37:25PM CEST, jhs@mojatatu.com wrote:
quoted
On 17-06-11 01:38 PM, Jamal Hadi Salim wrote:
quoted
On 17-06-11 09:49 AM, Jiri Pirko wrote:
quoted
Sun, Jun 11, 2017 at 01:53:43PM CEST, jhs@mojatatu.com wrote:
quoted
From: Jamal Hadi Salim <jhs@mojatatu.com>
quoted
quoted
This patch also provides an extra feature: a validation callback
that could be speaciliazed for other types.
s/speaciliazed/speciliazed/
Will fix.

quoted
quoted
[ATTR_GOO] = { .type = MYTYPE,
             .validation_data = &myvalidation_data,
                 .validate_content = mycontent_validator },
Indent is wrong. (Does not matter really in desc, but anyway)
I cant find out how it got indented that way; my source
or email dont show it as such (but really doesnt matter).

quoted
Suggested-by: Jiri Pirko <redacted>
Will add.
quoted
quoted
quoted
quoted
I believe that this struct should go into:
include/uapi/linux/netlink.h

struct nla_flag_bits {
	__u32 nla_flag_bits_values;
	__u32 nla_flag_bits_selector;
};

Then you can use it from userspace and everywhere in kernel.
That file seems to be very out of place for this stuff.
Howcome? It is a common netlink api.
Take a look at that file's content. It talks about what goes in
the netlink header. Adding types in it seems out of place.
Bit less than rtnetlink.h. But I agree it is not optimal. Re optimal,
please see below.

quoted
quoted
NLA_XXX are kernel side types.  They are part of net/netlink.h which is
not uapi accessible.
David Ahern has submitted a patch to move all those defines to iproute2.
Will make sense to move these to a uapi/linux/netlink-types.h but that
is waay beyond the scope of this patch set.
Well, I don't think so :)

The thing is, struct nla_flag_bits is tightly coupled with NLA_FLAG_BITS
enum value. They should be in the same uapi file. That makes sense to me.
Sure - they should be in the same file. But is it uapi/linux/netlink.h?
Might be the netlink-types.h you mentioned above.

ccing DavidA.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help