xref: /f-stack/dpdk/drivers/net/igc/igc_filter.h (revision 2d9fd380)
1 /*
2  * SPDX-License-Identifier: BSD-3-Clause
3  * Copyright(c) 2010-2020 Intel Corporation
4  */
5 
6 #ifndef _IGC_FILTER_H_
7 #define _IGC_FILTER_H_
8 
9 #include <rte_ethdev.h>
10 #include <rte_ethdev_core.h>
11 #include <rte_ethdev_driver.h>
12 #include <rte_eth_ctrl.h>
13 
14 #include "igc_ethdev.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 int igc_add_ethertype_filter(struct rte_eth_dev *dev,
21 		const struct igc_ethertype_filter *filter);
22 int igc_del_ethertype_filter(struct rte_eth_dev *dev,
23 		const struct igc_ethertype_filter *filter);
24 int igc_add_ntuple_filter(struct rte_eth_dev *dev,
25 		const struct igc_ntuple_filter *tuple);
26 int igc_del_ntuple_filter(struct rte_eth_dev *dev,
27 		const struct igc_ntuple_filter *tuple);
28 int igc_set_syn_filter(struct rte_eth_dev *dev,
29 		const struct igc_syn_filter *filter);
30 void igc_clear_syn_filter(struct rte_eth_dev *dev);
31 void igc_clear_all_filter(struct rte_eth_dev *dev);
32 int
33 eth_igc_filter_ctrl(struct rte_eth_dev *dev, enum rte_filter_type filter_type,
34 		enum rte_filter_op filter_op, void *arg);
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 
40 #endif /* IGC_FILTER_H_ */
41