Loading...
Note: File does not exist in v3.5.6.
1/* SPDX-License-Identifier: GPL-2.0+ */
2/* Microchip Sparx5 Switch driver
3 *
4 * Copyright (c) 2022 Microchip Technology Inc. and its subsidiaries.
5 */
6
7#ifndef __SPARX5_TC_H__
8#define __SPARX5_TC_H__
9
10#include <net/flow_offload.h>
11#include <net/pkt_cls.h>
12#include <linux/netdevice.h>
13
14/* Controls how PORT_MASK is applied */
15enum SPX5_PORT_MASK_MODE {
16 SPX5_PMM_OR_DSTMASK,
17 SPX5_PMM_AND_VLANMASK,
18 SPX5_PMM_REPLACE_PGID,
19 SPX5_PMM_REPLACE_ALL,
20 SPX5_PMM_REDIR_PGID,
21 SPX5_PMM_OR_PGID_MASK,
22};
23
24int sparx5_port_setup_tc(struct net_device *ndev, enum tc_setup_type type,
25 void *type_data);
26
27int sparx5_tc_matchall(struct net_device *ndev,
28 struct tc_cls_matchall_offload *tmo,
29 bool ingress);
30
31int sparx5_tc_flower(struct net_device *ndev, struct flow_cls_offload *fco,
32 bool ingress);
33
34#endif /* __SPARX5_TC_H__ */