On 17-06-12 07:47 AM, Jiri Pirko wrote:
Mon, Jun 12, 2017 at 01:16:05PM CEST, j...@mojatatu.com wrote:
On 17-06-11 10:13 AM, Jiri Pirko wrote:

This also is not useful.
It happens to be ok for this use case but not for the
general case. i.e.
We need to get the whole struct not just the values
and use the selector to pick what bits are affected.
Example if bit X is set to 1 in selector and bit X in value
is 0, then we set the kernel's bit X to 0.

Sure, have another helper for selector then.
Or, you can have:

        struct nla_flag_bits *fb;
        fb = nla_get_flag_bits(tb[TCA_ROOT_FLAGS]);

Or all 3 helpers. My point is, it is a specific netlink attribute with
specific format, it should have get/put helpers.


I did try nla_get_flag_bits(tb[TCA_ROOT_FLAGS], &fb) so i dont have
to do alloc/free - it ended being a single line function which
does a memcpy.
Is this really necessary?
The user of this structure better know it to make use of it.

cheers,
jamal

Reply via email to