/* SPDX-License-Identifier: BSD-3-Clause */
/* Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries.
 * Microchip VCAP TC
 */

#ifndef __VCAP_TC__
#define __VCAP_TC__

struct vcap_tc_flower_parse_usage {
	struct flow_cls_offload *fco;
	struct flow_rule *frule;
	struct vcap_rule *vrule;
	struct vcap_admin *admin;
	u16 l3_proto;
	u8 l4_proto;
	u16 tpid;
	unsigned long long used_keys;
};

int vcap_tc_flower_handler_ethaddr_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_ipv4_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_ipv6_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_portnum_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_cvlan_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_vlan_usage(struct vcap_tc_flower_parse_usage *st,
				      enum vcap_key_field vid_key,
				      enum vcap_key_field pcp_key);
int vcap_tc_flower_handler_tcp_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_arp_usage(struct vcap_tc_flower_parse_usage *st);
int vcap_tc_flower_handler_ip_usage(struct vcap_tc_flower_parse_usage *st);

#endif /* __VCAP_TC__ */
