Re: [PATCH net-next 3/8] net: microchip: sparx5: Add actionset type id information to rule

From: Dan Carpenter
Date: Fri Jan 20 2023 - 04:12:29 EST


On Fri, Jan 20, 2023 at 10:08:26AM +0100, Steen Hegelund wrote:
> +/* Add the actionset typefield to the list of rule actionfields */
> +static int vcap_add_type_actionfield(struct vcap_rule *rule)
> +{
> + enum vcap_actionfield_set actionset = rule->actionset;
> + struct vcap_rule_internal *ri = to_intrule(rule);
> + enum vcap_type vt = ri->admin->vtype;
> + const struct vcap_field *fields;
> + const struct vcap_set *aset;
> + int ret = -EINVAL;
> +
> + aset = vcap_actionfieldset(ri->vctrl, vt, actionset);
> + if (!aset)
> + return ret;
> + if (aset->type_id == (u8)-1) /* No type field is needed */
> + return 0;
> +
> + fields = vcap_actionfields(ri->vctrl, vt, actionset);
> + if (!fields)
> + return -EINVAL;
> + if (fields[VCAP_AF_TYPE].width > 1) {
> + ret = vcap_rule_add_action_u32(rule, VCAP_AF_TYPE,
> + aset->type_id);
> + } else {
> + if (aset->type_id)
> + ret = vcap_rule_add_action_bit(rule, VCAP_AF_TYPE,
> + VCAP_BIT_1);
> + else
> + ret = vcap_rule_add_action_bit(rule, VCAP_AF_TYPE,
> + VCAP_BIT_0);
> + }
> + return 0;

return ret; ?

> +}

regards,
dan carpenter