162306a36Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright (c) 2020-2021 Marvell International Ltd. All rights reserved. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _PRESTERA_FLOWER_H_
562306a36Sopenharmony_ci#define _PRESTERA_FLOWER_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <net/pkt_cls.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_cistruct prestera_flow_block;
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciint prestera_flower_replace(struct prestera_flow_block *block,
1262306a36Sopenharmony_ci			    struct flow_cls_offload *f);
1362306a36Sopenharmony_civoid prestera_flower_destroy(struct prestera_flow_block *block,
1462306a36Sopenharmony_ci			     struct flow_cls_offload *f);
1562306a36Sopenharmony_ciint prestera_flower_stats(struct prestera_flow_block *block,
1662306a36Sopenharmony_ci			  struct flow_cls_offload *f);
1762306a36Sopenharmony_ciint prestera_flower_tmplt_create(struct prestera_flow_block *block,
1862306a36Sopenharmony_ci				 struct flow_cls_offload *f);
1962306a36Sopenharmony_civoid prestera_flower_tmplt_destroy(struct prestera_flow_block *block,
2062306a36Sopenharmony_ci				   struct flow_cls_offload *f);
2162306a36Sopenharmony_civoid prestera_flower_template_cleanup(struct prestera_flow_block *block);
2262306a36Sopenharmony_ciint prestera_flower_prio_get(struct prestera_flow_block *block, u32 chain_index,
2362306a36Sopenharmony_ci			     u32 *prio_min, u32 *prio_max);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif /* _PRESTERA_FLOWER_H_ */
26