cls_flower: Add extack support for flags key
Pass extack down to fl_set_key_flags() and set message on error. Signed-off-by: Guillaume Nault <gnault@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bd7d4c1281
commit
e304e21a2b
|
@ -856,14 +856,16 @@ static void fl_set_key_flag(u32 flower_key, u32 flower_mask,
|
|||
}
|
||||
}
|
||||
|
||||
static int fl_set_key_flags(struct nlattr **tb,
|
||||
u32 *flags_key, u32 *flags_mask)
|
||||
static int fl_set_key_flags(struct nlattr **tb, u32 *flags_key,
|
||||
u32 *flags_mask, struct netlink_ext_ack *extack)
|
||||
{
|
||||
u32 key, mask;
|
||||
|
||||
/* mask is mandatory for flags */
|
||||
if (!tb[TCA_FLOWER_KEY_FLAGS_MASK])
|
||||
if (!tb[TCA_FLOWER_KEY_FLAGS_MASK]) {
|
||||
NL_SET_ERR_MSG(extack, "Missing flags mask");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
key = be32_to_cpu(nla_get_u32(tb[TCA_FLOWER_KEY_FLAGS]));
|
||||
mask = be32_to_cpu(nla_get_u32(tb[TCA_FLOWER_KEY_FLAGS_MASK]));
|
||||
|
@ -1474,7 +1476,8 @@ static int fl_set_key(struct net *net, struct nlattr **tb,
|
|||
return ret;
|
||||
|
||||
if (tb[TCA_FLOWER_KEY_FLAGS])
|
||||
ret = fl_set_key_flags(tb, &key->control.flags, &mask->control.flags);
|
||||
ret = fl_set_key_flags(tb, &key->control.flags,
|
||||
&mask->control.flags, extack);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue