/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
/* Copyright (c) 2020-2021 Marvell International Ltd. All rights reserved. */

#ifndef _PRESTERA_FLOWER_H_
#define _PRESTERA_FLOWER_H_

#include <net/pkt_cls.h>

struct prestera_flow_block;

int prestera_flower_replace(struct prestera_flow_block *block,
			    struct flow_cls_offload *f);
void prestera_flower_destroy(struct prestera_flow_block *block,
			     struct flow_cls_offload *f);
int prestera_flower_stats(struct prestera_flow_block *block,
			  struct flow_cls_offload *f);
int prestera_flower_tmplt_create(struct prestera_flow_block *block,
				 struct flow_cls_offload *f);
void prestera_flower_tmplt_destroy(struct prestera_flow_block *block,
				   struct flow_cls_offload *f);
void prestera_flower_template_cleanup(struct prestera_flow_block *block);
int prestera_flower_prio_get(struct prestera_flow_block *block, u32 chain_index,
			     u32 *prio_min, u32 *prio_max);

#endif /* _PRESTERA_FLOWER_H_ */