New upstream version 18.02
[deb_dpdk.git] / examples / ip_pipeline / pipeline / pipeline_flow_actions.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2015 Intel Corporation
3  */
4
5 #ifndef __INCLUDE_PIPELINE_FLOW_ACTIONS_H__
6 #define __INCLUDE_PIPELINE_FLOW_ACTIONS_H__
7
8 #include <rte_meter.h>
9
10 #include "pipeline.h"
11 #include "pipeline_flow_actions_be.h"
12
13 int
14 app_pipeline_fa_flow_config(struct app_params *app,
15         uint32_t pipeline_id,
16         uint32_t flow_id,
17         uint32_t meter_update_mask,
18         uint32_t policer_update_mask,
19         uint32_t port_update,
20         struct pipeline_fa_flow_params *params);
21
22 int
23 app_pipeline_fa_flow_config_bulk(struct app_params *app,
24         uint32_t pipeline_id,
25         uint32_t *flow_id,
26         uint32_t n_flows,
27         uint32_t meter_update_mask,
28         uint32_t policer_update_mask,
29         uint32_t port_update,
30         struct pipeline_fa_flow_params *params);
31
32 int
33 app_pipeline_fa_dscp_config(struct app_params *app,
34         uint32_t pipeline_id,
35         uint32_t dscp,
36         uint32_t traffic_class,
37         enum rte_meter_color color);
38
39 int
40 app_pipeline_fa_flow_policer_stats_read(struct app_params *app,
41         uint32_t pipeline_id,
42         uint32_t flow_id,
43         uint32_t policer_id,
44         int clear,
45         struct pipeline_fa_policer_stats *stats);
46
47 #ifndef APP_PIPELINE_FA_MAX_RECORDS_IN_FILE
48 #define APP_PIPELINE_FA_MAX_RECORDS_IN_FILE             65536
49 #endif
50
51 int
52 app_pipeline_fa_load_file(char *filename,
53         uint32_t *flow_ids,
54         struct pipeline_fa_flow_params *p,
55         uint32_t *n_flows,
56         uint32_t *line);
57
58 extern struct pipeline_type pipeline_flow_actions;
59
60 #endif