...

> +
> +static int
> +ice_flow_validate(__rte_unused struct rte_eth_dev *dev,
> +                const struct rte_flow_attr *attr,
> +                const struct rte_flow_item pattern[],
> +                const struct rte_flow_action actions[],
> +                struct rte_flow_error *error)
> +{
> +     uint64_t inset = 0;
> +     int ret = ICE_ERR_NOT_SUPPORTED;
> +
> +     if (!pattern) {
> +             rte_flow_error_set(error, EINVAL,
> RTE_FLOW_ERROR_TYPE_ITEM_NUM,
> +                                NULL, "NULL pattern.");
> +             return -rte_errno;
> +     }
> +
> +     if (!actions) {
> +             rte_flow_error_set(error, EINVAL,
> +                                RTE_FLOW_ERROR_TYPE_ACTION_NUM,
> +                                NULL, "NULL action.");
> +             return -rte_errno;
> +     }
> +
> +     if (!attr) {
> +             rte_flow_error_set(error, EINVAL,
> +                                RTE_FLOW_ERROR_TYPE_ATTR,
> +                                NULL, "NULL attribute.");
> +             return -rte_errno;
> +     }
> +
> +     ret = ice_flow_valid_attr(attr, error);
> +     if (!ret)
> +             return ret;
> +
> +     inset = ice_flow_valid_pattern(pattern, error);
> +     if (!inset)
> +             return -rte_errno;
> +
> +     ret = ice_flow_valid_inset(pattern, inset, error);
> +     if (ret)
> +             return ret;
> +
> +     ret = ice_flow_valid_action(actions, error);
> +     if (ret)
> +             return ret;

There're some duplicate work (such as valid action) with patch 1, it's better 
to optimize it.

> +
> +     return 0;
> +}
> +
> 

Reply via email to