| 195 | } |
| 196 | |
| 197 | static int |
| 198 | fs_flow_query(struct rte_eth_dev *dev, |
| 199 | struct rte_flow *flow, |
| 200 | const struct rte_flow_action *action, |
| 201 | void *arg, |
| 202 | struct rte_flow_error *error) |
| 203 | { |
| 204 | struct sub_device *sdev; |
| 205 | |
| 206 | if (fs_lock(dev, 0) != 0) |
| 207 | return -1; |
| 208 | sdev = TX_SUBDEV(dev); |
| 209 | if (sdev != NULL) { |
| 210 | int ret = rte_flow_query(PORT_ID(sdev), |
| 211 | flow->flows[SUB_ID(sdev)], |
| 212 | action, arg, error); |
| 213 | |
| 214 | if ((ret = fs_err(sdev, ret))) { |
| 215 | fs_unlock(dev, 0); |
| 216 | return ret; |
| 217 | } |
| 218 | } |
| 219 | fs_unlock(dev, 0); |
| 220 | WARN("No active sub_device to query about its flow"); |
| 221 | return -1; |
| 222 | } |
| 223 | |
| 224 | static int |
| 225 | fs_flow_isolate(struct rte_eth_dev *dev, |
nothing calls this directly
no test coverage detected