net/cnxk: support flow API
[dpdk.git] / drivers / net / cnxk / cn10k_rte_flow.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell.
3  */
4 #include <cnxk_rte_flow.h>
5 #include "cn10k_rte_flow.h"
6 #include "cn10k_ethdev.h"
7
8 struct rte_flow *
9 cn10k_flow_create(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr,
10                   const struct rte_flow_item pattern[],
11                   const struct rte_flow_action actions[],
12                   struct rte_flow_error *error)
13 {
14         struct roc_npc_flow *flow;
15
16         flow = cnxk_flow_create(eth_dev, attr, pattern, actions, error);
17         if (!flow)
18                 return NULL;
19
20         return (struct rte_flow *)flow;
21 }
22
23 int
24 cn10k_flow_destroy(struct rte_eth_dev *eth_dev, struct rte_flow *rte_flow,
25                    struct rte_flow_error *error)
26 {
27         struct roc_npc_flow *flow = (struct roc_npc_flow *)rte_flow;
28
29         return cnxk_flow_destroy(eth_dev, flow, error);
30 }