xref: /openbmc/linux/drivers/net/ethernet/marvell/prestera/prestera_span.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
113defa27SSerhiy Boiko /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
213defa27SSerhiy Boiko /* Copyright (c) 2019-2020 Marvell International Ltd. All rights reserved. */
313defa27SSerhiy Boiko 
413defa27SSerhiy Boiko #ifndef _PRESTERA_SPAN_H_
513defa27SSerhiy Boiko #define _PRESTERA_SPAN_H_
613defa27SSerhiy Boiko 
713defa27SSerhiy Boiko #include <net/pkt_cls.h>
813defa27SSerhiy Boiko 
913defa27SSerhiy Boiko #define PRESTERA_SPAN_INVALID_ID -1
1013defa27SSerhiy Boiko 
118afd552dSSerhiy Boiko struct prestera_port;
1213defa27SSerhiy Boiko struct prestera_switch;
138afd552dSSerhiy Boiko struct prestera_flow_block_binding;
1413defa27SSerhiy Boiko 
1513defa27SSerhiy Boiko int prestera_span_init(struct prestera_switch *sw);
1613defa27SSerhiy Boiko void prestera_span_fini(struct prestera_switch *sw);
178afd552dSSerhiy Boiko 
188afd552dSSerhiy Boiko int prestera_span_rule_add(struct prestera_flow_block_binding *binding,
19*8c448c2bSSerhiy Boiko 			   struct prestera_port *to_port,
20*8c448c2bSSerhiy Boiko 			   bool ingress);
21*8c448c2bSSerhiy Boiko int prestera_span_rule_del(struct prestera_flow_block_binding *binding,
22*8c448c2bSSerhiy Boiko 			   bool ingress);
2313defa27SSerhiy Boiko 
2413defa27SSerhiy Boiko #endif /* _PRESTERA_SPAN_H_ */
25