On 17-06-11 10:13 AM, Jiri Pirko wrote:
Sun, Jun 11, 2017 at 01:53:45PM CEST, j...@mojatatu.com wrote:
[..]
@@ -1168,14 +1185,24 @@ static int tc_dump_action(struct sk_buff *skb, struct
netlink_callback *cb)
if (a_o == NULL)
return 0;
+ if (tb[TCA_ROOT_FLAGS])
+ nla_memcpy(&select_flags, tb[TCA_ROOT_FLAGS],
+ sizeof(select_flags));
Please introduce a helper for this attr type in patch 1:
u32 select_flags;
select_flags = nla_get_flag_bits_values(tb[TCA_ROOT_FLAGS])
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.
cheers,
jamal