xref: /dpdk/drivers/net/nfp/nfp_net_flow.h (revision 0b9079d24808f4015dbf465bde22fe537e0e4133)
18153bc6fSChaoyong He /* SPDX-License-Identifier: BSD-3-Clause
28153bc6fSChaoyong He  * Copyright (c) 2023 Corigine, Inc.
38153bc6fSChaoyong He  * All rights reserved.
48153bc6fSChaoyong He  */
58153bc6fSChaoyong He 
68153bc6fSChaoyong He #ifndef __NFP_NET_FLOW_H__
78153bc6fSChaoyong He #define __NFP_NET_FLOW_H__
88153bc6fSChaoyong He 
98153bc6fSChaoyong He #include "nfp_net_common.h"
108153bc6fSChaoyong He 
118153bc6fSChaoyong He struct nfp_net_flow_payload {
128153bc6fSChaoyong He 	uint16_t cmsg_type;
138153bc6fSChaoyong He 	uint8_t match_len;
148153bc6fSChaoyong He 	uint8_t action_len;
158153bc6fSChaoyong He 	char *match_data;
168153bc6fSChaoyong He 	char *action_data;
178153bc6fSChaoyong He };
188153bc6fSChaoyong He 
198153bc6fSChaoyong He struct rte_flow {
208153bc6fSChaoyong He 	struct nfp_net_flow_payload payload;
218153bc6fSChaoyong He 	uint32_t hash_key;
228153bc6fSChaoyong He 	uint32_t port_id;
23*0b9079d2SChaoyong He 	uint32_t position;    /**< Use as priority */
248153bc6fSChaoyong He };
258153bc6fSChaoyong He 
268153bc6fSChaoyong He int nfp_net_flow_priv_init(struct nfp_pf_dev *pf_dev, uint16_t port);
278153bc6fSChaoyong He void nfp_net_flow_priv_uninit(struct nfp_pf_dev *pf_dev, uint16_t port);
28*0b9079d2SChaoyong He int nfp_net_flow_ops_get(struct rte_eth_dev *dev, const struct rte_flow_ops **ops);
298153bc6fSChaoyong He 
308153bc6fSChaoyong He #endif /* __NFP_NET_FLOW_H__ */
31