DPDK
17.11.10
Main Page
Related Pages
Data Structures
Files
Examples
File List
Globals
lib
librte_flow_classify
rte_flow_classify_parse.h
1
/*-
2
* BSD LICENSE
3
*
4
* Copyright(c) 2017 Intel Corporation. All rights reserved.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in
15
* the documentation and/or other materials provided with the
16
* distribution.
17
* * Neither the name of Intel Corporation nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#ifndef _RTE_FLOW_CLASSIFY_PARSE_H_
35
#define _RTE_FLOW_CLASSIFY_PARSE_H_
36
37
#include <
rte_ethdev.h
>
38
#include <
rte_ether.h
>
39
#include <
rte_flow.h
>
40
#include <stdbool.h>
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
typedef
int (*parse_filter_t)(
const
struct
rte_flow_attr
*attr,
47
const
struct
rte_flow_item
pattern[],
48
const struct
rte_flow_action
actions[],
49
struct
rte_eth_ntuple_filter
*filter,
50
struct
rte_flow_error
*error);
51
52
/* Skip all VOID items of the pattern */
53
void
54
classify_pattern_skip_void_item(
struct
rte_flow_item
*items,
55
const
struct
rte_flow_item
*pattern);
56
57
/* Find the first VOID or non-VOID item pointer */
58
const
struct
rte_flow_item
*
59
classify_find_first_item(
const
struct
rte_flow_item
*item,
bool
is_void);
60
61
62
/* Find if there's parse filter function matched */
63
parse_filter_t
64
classify_find_parse_filter_func(
struct
rte_flow_item
*pattern);
65
66
/* get action data */
67
struct
rte_flow_action
*
68
classify_get_flow_action(
void
);
69
70
#ifdef __cplusplus
71
}
72
#endif
73
74
#endif
/* _RTE_FLOW_CLASSIFY_PARSE_H_ */
rte_flow_action
Definition:
rte_flow.h:1156
rte_flow_item
Definition:
rte_flow.h:848
rte_flow_error
Definition:
rte_flow.h:1201
rte_ether.h
rte_flow_attr
Definition:
rte_flow.h:94
rte_ethdev.h
rte_eth_ntuple_filter
Definition:
rte_eth_ctrl.h:228
rte_flow.h
Generated by
1.8.9.1