DPDK
20.05.0
Main Page
Related Pages
Data Structures
Files
Examples
File List
Globals
lib
librte_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_flow_query_count
Definition:
rte_flow.h:2199
rte_flow_item
Definition:
rte_flow.h:1582
rte_flow_error
Definition:
rte_flow.h:2748
rte_flow_classify_table_type
rte_flow_classify_table_type
Definition:
rte_flow_classify.h:84
rte_ether.h
rte_flow_attr
Definition:
rte_flow.h:75
rte_ethdev.h
rte_eth_ntuple_filter
Definition:
rte_eth_ctrl.h:159
rte_flow.h
rte_flow_action_mark
Definition:
rte_flow.h:2114
Generated by
1.8.9.1