| 1869 | } |
| 1870 | |
| 1871 | int |
| 1872 | rte_flow_actions_template_destroy(uint16_t port_id, |
| 1873 | struct rte_flow_actions_template *actions_template, |
| 1874 | struct rte_flow_error *error) |
| 1875 | { |
| 1876 | struct rte_eth_dev *dev = &rte_eth_devices[port_id]; |
| 1877 | const struct rte_flow_ops *ops = rte_flow_ops_get(port_id, error); |
| 1878 | int ret; |
| 1879 | |
| 1880 | if (unlikely(!ops)) |
| 1881 | return -rte_errno; |
| 1882 | if (unlikely(actions_template == NULL)) |
| 1883 | return 0; |
| 1884 | if (likely(!!ops->actions_template_destroy)) { |
| 1885 | ret = flow_err(port_id, |
| 1886 | ops->actions_template_destroy(dev, |
| 1887 | actions_template, |
| 1888 | error), |
| 1889 | error); |
| 1890 | |
| 1891 | rte_flow_trace_actions_template_destroy(port_id, actions_template, |
| 1892 | ret); |
| 1893 | |
| 1894 | return ret; |
| 1895 | } |
| 1896 | return rte_flow_error_set(error, ENOTSUP, |
| 1897 | RTE_FLOW_ERROR_TYPE_UNSPECIFIED, |
| 1898 | NULL, rte_strerror(ENOTSUP)); |
| 1899 | } |
| 1900 | |
| 1901 | struct rte_flow_template_table * |
| 1902 | rte_flow_template_table_create(uint16_t port_id, |
no test coverage detected