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

Dan Carpenter error27 at gmail.com
Fri Jan 20 01:11:29 PST 2023


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




More information about the linux-arm-kernel mailing list