18b474a9fSSerhiy Boiko /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
247327e19SVolodymyr Mytnyk /* Copyright (c) 2020-2021 Marvell International Ltd. All rights reserved. */
38b474a9fSSerhiy Boiko 
48b474a9fSSerhiy Boiko #ifndef _PRESTERA_FLOWER_H_
58b474a9fSSerhiy Boiko #define _PRESTERA_FLOWER_H_
68b474a9fSSerhiy Boiko 
78b474a9fSSerhiy Boiko #include <net/pkt_cls.h>
88b474a9fSSerhiy Boiko 
98b474a9fSSerhiy Boiko struct prestera_flow_block;
108b474a9fSSerhiy Boiko 
118b474a9fSSerhiy Boiko int prestera_flower_replace(struct prestera_flow_block *block,
128b474a9fSSerhiy Boiko 			    struct flow_cls_offload *f);
138b474a9fSSerhiy Boiko void prestera_flower_destroy(struct prestera_flow_block *block,
148b474a9fSSerhiy Boiko 			     struct flow_cls_offload *f);
158b474a9fSSerhiy Boiko int prestera_flower_stats(struct prestera_flow_block *block,
168b474a9fSSerhiy Boiko 			  struct flow_cls_offload *f);
17604ba230SVolodymyr Mytnyk int prestera_flower_tmplt_create(struct prestera_flow_block *block,
18604ba230SVolodymyr Mytnyk 				 struct flow_cls_offload *f);
19604ba230SVolodymyr Mytnyk void prestera_flower_tmplt_destroy(struct prestera_flow_block *block,
20604ba230SVolodymyr Mytnyk 				   struct flow_cls_offload *f);
21604ba230SVolodymyr Mytnyk void prestera_flower_template_cleanup(struct prestera_flow_block *block);
22*44af9571SMaksym Glubokiy int prestera_flower_prio_get(struct prestera_flow_block *block, u32 chain_index,
23*44af9571SMaksym Glubokiy 			     u32 *prio_min, u32 *prio_max);
248b474a9fSSerhiy Boiko 
258b474a9fSSerhiy Boiko #endif /* _PRESTERA_FLOWER_H_ */
26