Restrict ingress traffic to the defined flow rules. */
| 533 | |
| 534 | /* Restrict ingress traffic to the defined flow rules. */ |
| 535 | int |
| 536 | rte_flow_isolate(uint16_t port_id, |
| 537 | int set, |
| 538 | struct rte_flow_error *error) |
| 539 | { |
| 540 | struct rte_eth_dev *dev = &rte_eth_devices[port_id]; |
| 541 | const struct rte_flow_ops *ops = rte_flow_ops_get(port_id, error); |
| 542 | int ret; |
| 543 | |
| 544 | if (!ops) |
| 545 | return -rte_errno; |
| 546 | if (likely(!!ops->isolate)) { |
| 547 | fts_enter(dev); |
| 548 | ret = ops->isolate(dev, set, error); |
| 549 | fts_exit(dev); |
| 550 | ret = flow_err(port_id, ret, error); |
| 551 | |
| 552 | rte_flow_trace_isolate(port_id, set, ret); |
| 553 | |
| 554 | return ret; |
| 555 | } |
| 556 | return rte_flow_error_set(error, ENOSYS, |
| 557 | RTE_FLOW_ERROR_TYPE_UNSPECIFIED, |
| 558 | NULL, rte_strerror(ENOSYS)); |
| 559 | } |
| 560 | |
| 561 | /* Initialize flow error structure. */ |
| 562 | int |
no test coverage detected