* Flow driver validation API. This abstracts calling driver specific functions. * The type of flow driver is determined according to flow attributes. * * @param[in] dev * Pointer to the dev structure. * @param[in] attr * Pointer to the flow attributes. * @param[in] items * Pointer to the list of items. * @param[in] actions * Pointer to the list of actions. * @param[in] external
| 4233 | * 0 on success, a negative errno value otherwise and rte_errno is set. |
| 4234 | */ |
| 4235 | static inline int |
| 4236 | flow_drv_validate(struct rte_eth_dev *dev, |
| 4237 | const struct rte_flow_attr *attr, |
| 4238 | const struct rte_flow_item items[], |
| 4239 | const struct rte_flow_action actions[], |
| 4240 | bool external, int hairpin, struct rte_flow_error *error) |
| 4241 | { |
| 4242 | const struct mlx5_flow_driver_ops *fops; |
| 4243 | enum mlx5_flow_drv_type type = flow_get_drv_type(dev, attr); |
| 4244 | |
| 4245 | fops = flow_get_drv_ops(type); |
| 4246 | return fops->validate(dev, attr, items, actions, external, |
| 4247 | hairpin, error); |
| 4248 | } |
| 4249 | |
| 4250 | /** |
| 4251 | * Flow driver preparation API. This abstracts calling driver specific |
no test coverage detected