DPDK
22.11.6
lib
flow_classify
rte_flow_classify_parse.h
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2017 Intel Corporation
3
*/
4
5
#ifndef _RTE_FLOW_CLASSIFY_PARSE_H_
6
#define _RTE_FLOW_CLASSIFY_PARSE_H_
7
8
#include <
rte_ethdev.h
>
9
#include <
rte_flow.h
>
10
#include <stdbool.h>
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
16
extern
enum
rte_flow_classify_table_type
table_type;
17
18
struct
classify_action {
19
/* Flow action mask */
20
uint64_t action_mask;
21
22
struct
action {
24
struct
rte_flow_action_mark
mark;
26
struct
rte_flow_query_count
counter;
27
} act;
28
};
29
30
typedef
int (*parse_filter_t)(
const
struct
rte_flow_attr
*attr,
31
const
struct
rte_flow_item
pattern[],
32
const struct
rte_flow_action
actions[],
33
struct
rte_eth_ntuple_filter
*filter,
34
struct
rte_flow_error
*error);
35
36
/* Skip all VOID items of the pattern */
37
void
38
classify_pattern_skip_void_item(
struct
rte_flow_item
*items,
39
const
struct
rte_flow_item
*pattern);
40
41
/* Find the first VOID or non-VOID item pointer */
42
const
struct
rte_flow_item
*
43
classify_find_first_item(
const
struct
rte_flow_item
*item,
bool
is_void);
44
45
46
/* Find if there's parse filter function matched */
47
parse_filter_t
48
classify_find_parse_filter_func(
struct
rte_flow_item
*pattern);
49
50
/* get action data */
51
struct
classify_action *
52
classify_get_flow_action(
void
);
53
54
#ifdef __cplusplus
55
}
56
#endif
57
58
#endif
/* _RTE_FLOW_CLASSIFY_PARSE_H_ */
rte_ethdev.h
rte_flow.h
rte_flow_classify_table_type
rte_flow_classify_table_type
Definition:
rte_flow_classify.h:82
rte_eth_ntuple_filter
Definition:
rte_eth_ctrl.h:54
rte_flow_action_mark
Definition:
rte_flow.h:2751
rte_flow_action
Definition:
rte_flow.h:3674
rte_flow_attr
Definition:
rte_flow.h:88
rte_flow_error
Definition:
rte_flow.h:3761
rte_flow_item
Definition:
rte_flow.h:1912
rte_flow_query_count
Definition:
rte_flow.h:2867
Generated by
1.9.4