99a2dd955f
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal' Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
60 lines
1.4 KiB
C
60 lines
1.4 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2017 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _RTE_FLOW_CLASSIFY_PARSE_H_
|
|
#define _RTE_FLOW_CLASSIFY_PARSE_H_
|
|
|
|
#include <rte_ethdev.h>
|
|
#include <rte_ether.h>
|
|
#include <rte_flow.h>
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern enum rte_flow_classify_table_type table_type;
|
|
|
|
struct classify_action {
|
|
/* Flow action mask */
|
|
uint64_t action_mask;
|
|
|
|
struct action {
|
|
/** Integer value to return with packets */
|
|
struct rte_flow_action_mark mark;
|
|
/** Flow rule counter */
|
|
struct rte_flow_query_count counter;
|
|
} act;
|
|
};
|
|
|
|
typedef int (*parse_filter_t)(const struct rte_flow_attr *attr,
|
|
const struct rte_flow_item pattern[],
|
|
const struct rte_flow_action actions[],
|
|
struct rte_eth_ntuple_filter *filter,
|
|
struct rte_flow_error *error);
|
|
|
|
/* Skip all VOID items of the pattern */
|
|
void
|
|
classify_pattern_skip_void_item(struct rte_flow_item *items,
|
|
const struct rte_flow_item *pattern);
|
|
|
|
/* Find the first VOID or non-VOID item pointer */
|
|
const struct rte_flow_item *
|
|
classify_find_first_item(const struct rte_flow_item *item, bool is_void);
|
|
|
|
|
|
/* Find if there's parse filter function matched */
|
|
parse_filter_t
|
|
classify_find_parse_filter_func(struct rte_flow_item *pattern);
|
|
|
|
/* get action data */
|
|
struct classify_action *
|
|
classify_get_flow_action(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _RTE_FLOW_CLASSIFY_PARSE_H_ */
|