1/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2/* Copyright (c) 2020 Marvell International Ltd. All rights reserved. */
3
4#ifndef _PRESTERA_FLOW_H_
5#define _PRESTERA_FLOW_H_
6
7#include <net/flow_offload.h>
8
9struct prestera_port;
10struct prestera_switch;
11
12struct prestera_flow_block_binding {
13 struct list_head list;
14 struct prestera_port *port;
15 int span_id;
16};
17
18struct prestera_flow_block {
19 struct list_head binding_list;
20 struct prestera_switch *sw;
21 struct net *net;
22 struct prestera_acl_ruleset *ruleset_zero;
23 struct flow_block_cb *block_cb;
24 struct list_head template_list;
25 struct {
26 u32 prio_min;
27 u32 prio_max;
28 bool bound;
29 } mall;
30 unsigned int rule_count;
31 bool ingress;
32};
33
34int prestera_flow_block_setup(struct prestera_port *port,
35 struct flow_block_offload *f);
36
37#endif /* _PRESTERA_FLOW_H_ */
38

source code of linux/drivers/net/ethernet/marvell/prestera/prestera_flow.h