DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_port_in_action.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2018 Intel Corporation
3
*/
4
5
#ifndef __INCLUDE_RTE_PORT_IN_ACTION_H__
6
#define __INCLUDE_RTE_PORT_IN_ACTION_H__
7
48
49
#include <stdint.h>
50
51
#include <rte_compat.h>
52
#include <
rte_table_hash.h
>
53
54
#include "
rte_pipeline.h
"
55
56
#ifdef __cplusplus
57
extern
"C"
{
58
#endif
59
61
enum
rte_port_in_action_type
{
63
RTE_PORT_IN_ACTION_FLTR
= 0,
64
66
RTE_PORT_IN_ACTION_LB
,
67
};
68
73
#define RTE_PORT_IN_ACTION_FLTR_KEY_SIZE 16
74
76
struct
rte_port_in_action_fltr_config
{
80
uint32_t
key_offset
;
81
83
uint8_t
key_mask
[
RTE_PORT_IN_ACTION_FLTR_KEY_SIZE
];
84
86
uint8_t
key
[
RTE_PORT_IN_ACTION_FLTR_KEY_SIZE
];
87
93
int
filter_on_match
;
94
100
uint32_t
port_id
;
101
};
102
104
struct
rte_port_in_action_fltr_params
{
106
uint32_t
port_id
;
107
};
108
113
#define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MIN 8
114
116
#define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX 64
117
119
#define RTE_PORT_IN_ACTION_LB_TABLE_SIZE 16
120
122
struct
rte_port_in_action_lb_config
{
124
uint32_t
key_size
;
125
129
uint32_t
key_offset
;
130
132
uint8_t
key_mask
[
RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX
];
133
135
rte_table_hash_op_hash
f_hash
;
136
138
uint64_t
seed
;
139
148
uint32_t
port_id
[
RTE_PORT_IN_ACTION_LB_TABLE_SIZE
];
149
};
150
152
struct
rte_port_in_action_lb_params
{
159
uint32_t
port_id
[
RTE_PORT_IN_ACTION_LB_TABLE_SIZE
];
160
};
161
165
struct
rte_port_in_action_profile;
166
175
__rte_experimental
176
struct
rte_port_in_action_profile *
177
rte_port_in_action_profile_create
(uint32_t socket_id);
178
188
__rte_experimental
189
int
190
rte_port_in_action_profile_free
(
struct
rte_port_in_action_profile *profile);
191
207
__rte_experimental
208
int
209
rte_port_in_action_profile_action_register
(
210
struct
rte_port_in_action_profile *profile,
211
enum
rte_port_in_action_type
type,
212
void
*action_config);
213
230
__rte_experimental
231
int
232
rte_port_in_action_profile_freeze
(
struct
rte_port_in_action_profile *profile);
233
237
struct
rte_port_in_action;
238
253
__rte_experimental
254
struct
rte_port_in_action *
255
rte_port_in_action_create
(
struct
rte_port_in_action_profile *profile,
256
uint32_t socket_id);
257
267
__rte_experimental
268
int
269
rte_port_in_action_free
(
struct
rte_port_in_action *action);
270
281
__rte_experimental
282
int
283
rte_port_in_action_params_get
(
struct
rte_port_in_action *action,
284
struct
rte_pipeline_port_in_params
*params);
285
301
__rte_experimental
302
int
303
rte_port_in_action_apply
(
struct
rte_port_in_action *action,
304
enum
rte_port_in_action_type
type,
305
void
*action_params);
306
307
#ifdef __cplusplus
308
}
309
#endif
310
311
#endif
/* __INCLUDE_RTE_PORT_IN_ACTION_H__ */
rte_pipeline.h
rte_port_in_action_apply
__rte_experimental int rte_port_in_action_apply(struct rte_port_in_action *action, enum rte_port_in_action_type type, void *action_params)
rte_port_in_action_profile_freeze
__rte_experimental int rte_port_in_action_profile_freeze(struct rte_port_in_action_profile *profile)
rte_port_in_action_profile_create
__rte_experimental struct rte_port_in_action_profile * rte_port_in_action_profile_create(uint32_t socket_id)
RTE_PORT_IN_ACTION_LB_TABLE_SIZE
#define RTE_PORT_IN_ACTION_LB_TABLE_SIZE
Definition
rte_port_in_action.h:119
rte_port_in_action_create
__rte_experimental struct rte_port_in_action * rte_port_in_action_create(struct rte_port_in_action_profile *profile, uint32_t socket_id)
rte_port_in_action_profile_free
__rte_experimental int rte_port_in_action_profile_free(struct rte_port_in_action_profile *profile)
RTE_PORT_IN_ACTION_FLTR_KEY_SIZE
#define RTE_PORT_IN_ACTION_FLTR_KEY_SIZE
Definition
rte_port_in_action.h:73
rte_port_in_action_profile_action_register
__rte_experimental int rte_port_in_action_profile_action_register(struct rte_port_in_action_profile *profile, enum rte_port_in_action_type type, void *action_config)
rte_port_in_action_free
__rte_experimental int rte_port_in_action_free(struct rte_port_in_action *action)
rte_port_in_action_type
rte_port_in_action_type
Definition
rte_port_in_action.h:61
RTE_PORT_IN_ACTION_LB
@ RTE_PORT_IN_ACTION_LB
Definition
rte_port_in_action.h:66
RTE_PORT_IN_ACTION_FLTR
@ RTE_PORT_IN_ACTION_FLTR
Definition
rte_port_in_action.h:63
rte_port_in_action_params_get
__rte_experimental int rte_port_in_action_params_get(struct rte_port_in_action *action, struct rte_pipeline_port_in_params *params)
RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX
#define RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX
Definition
rte_port_in_action.h:116
rte_table_hash.h
rte_table_hash_op_hash
uint64_t(* rte_table_hash_op_hash)(void *key, void *key_mask, uint32_t key_size, uint64_t seed)
Definition
rte_table_hash.h:56
rte_pipeline_port_in_params
Definition
rte_pipeline.h:562
rte_port_in_action_fltr_config
Definition
rte_port_in_action.h:76
rte_port_in_action_fltr_config::filter_on_match
int filter_on_match
Definition
rte_port_in_action.h:93
rte_port_in_action_fltr_config::key_mask
uint8_t key_mask[RTE_PORT_IN_ACTION_FLTR_KEY_SIZE]
Definition
rte_port_in_action.h:83
rte_port_in_action_fltr_config::key
uint8_t key[RTE_PORT_IN_ACTION_FLTR_KEY_SIZE]
Definition
rte_port_in_action.h:86
rte_port_in_action_fltr_config::port_id
uint32_t port_id
Definition
rte_port_in_action.h:100
rte_port_in_action_fltr_config::key_offset
uint32_t key_offset
Definition
rte_port_in_action.h:80
rte_port_in_action_fltr_params
Definition
rte_port_in_action.h:104
rte_port_in_action_fltr_params::port_id
uint32_t port_id
Definition
rte_port_in_action.h:106
rte_port_in_action_lb_config
Definition
rte_port_in_action.h:122
rte_port_in_action_lb_config::seed
uint64_t seed
Definition
rte_port_in_action.h:138
rte_port_in_action_lb_config::f_hash
rte_table_hash_op_hash f_hash
Definition
rte_port_in_action.h:135
rte_port_in_action_lb_config::key_size
uint32_t key_size
Definition
rte_port_in_action.h:124
rte_port_in_action_lb_config::key_offset
uint32_t key_offset
Definition
rte_port_in_action.h:129
rte_port_in_action_lb_config::key_mask
uint8_t key_mask[RTE_PORT_IN_ACTION_LB_KEY_SIZE_MAX]
Definition
rte_port_in_action.h:132
rte_port_in_action_lb_config::port_id
uint32_t port_id[RTE_PORT_IN_ACTION_LB_TABLE_SIZE]
Definition
rte_port_in_action.h:148
rte_port_in_action_lb_params
Definition
rte_port_in_action.h:152
rte_port_in_action_lb_params::port_id
uint32_t port_id[RTE_PORT_IN_ACTION_LB_TABLE_SIZE]
Definition
rte_port_in_action.h:159
lib
pipeline
rte_port_in_action.h
Generated by
1.17.0