DPDK
21.11.9
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_ether.h
>
10
#include <
rte_flow.h
>
11
#include <stdbool.h>
12
13
#ifdef __cplusplus
14
extern
"C"
{
15
#endif
16
17
extern
enum
rte_flow_classify_table_type
table_type;
18
19
struct
classify_action {
20
/* Flow action mask */
21
uint64_t action_mask;
22
23
struct
action {
25
struct
rte_flow_action_mark
mark;
27
struct
rte_flow_query_count
counter;
28
} act;
29
};
30
31
typedef
int (*parse_filter_t)(
const
struct
rte_flow_attr
*attr,
32
const
struct
rte_flow_item
pattern[],
33
const struct
rte_flow_action
actions[],
34
struct
rte_eth_ntuple_filter
*filter,
35
struct
rte_flow_error
*error);
36
37
/* Skip all VOID items of the pattern */
38
void
39
classify_pattern_skip_void_item(
struct
rte_flow_item
*items,
40
const
struct
rte_flow_item
*pattern);
41
42
/* Find the first VOID or non-VOID item pointer */
43
const
struct
rte_flow_item
*
44
classify_find_first_item(
const
struct
rte_flow_item
*item,
bool
is_void);
45
46
47
/* Find if there's parse filter function matched */
48
parse_filter_t
49
classify_find_parse_filter_func(
struct
rte_flow_item
*pattern);
50
51
/* get action data */
52
struct
classify_action *
53
classify_get_flow_action(
void
);
54
55
#ifdef __cplusplus
56
}
57
#endif
58
59
#endif
/* _RTE_FLOW_CLASSIFY_PARSE_H_ */
rte_ethdev.h
rte_ether.h
rte_flow.h
rte_flow_classify_table_type
rte_flow_classify_table_type
Definition:
rte_flow_classify.h:86
rte_eth_ntuple_filter
Definition:
rte_eth_ctrl.h:54
rte_flow_action_mark
Definition:
rte_flow.h:2875
rte_flow_action
Definition:
rte_flow.h:3770
rte_flow_attr
Definition:
rte_flow.h:85
rte_flow_error
Definition:
rte_flow.h:3843
rte_flow_item
Definition:
rte_flow.h:2004
rte_flow_query_count
Definition:
rte_flow.h:2964
Generated by
1.9.4