* Destroy a flow rule. * * @see rte_flow_destroy() * @see rte_flow_ops */
| 1203 | * @see rte_flow_ops |
| 1204 | */ |
| 1205 | static int |
| 1206 | mlx4_flow_destroy(struct rte_eth_dev *dev, |
| 1207 | struct rte_flow *flow, |
| 1208 | struct rte_flow_error *error) |
| 1209 | { |
| 1210 | struct mlx4_priv *priv = dev->data->dev_private; |
| 1211 | int err = mlx4_flow_toggle(priv, flow, 0, error); |
| 1212 | |
| 1213 | if (err) |
| 1214 | return err; |
| 1215 | LIST_REMOVE(flow, next); |
| 1216 | if (flow->rss) |
| 1217 | mlx4_rss_put(flow->rss); |
| 1218 | rte_free(flow); |
| 1219 | return 0; |
| 1220 | } |
| 1221 | |
| 1222 | /** |
| 1223 | * Destroy user-configured flow rules. |
no test coverage detected