1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2015 Intel Corporation
5 #ifndef __INCLUDE_PIPELINE_FLOW_CLASSIFICATION_H__
6 #define __INCLUDE_PIPELINE_FLOW_CLASSIFICATION_H__
9 #include "pipeline_flow_classification_be.h"
17 struct flow_key_qinq {
22 struct flow_key_ipv4_5tuple {
30 struct flow_key_ipv6_5tuple {
38 struct pipeline_fc_key {
39 enum flow_key_type type;
41 struct flow_key_qinq qinq;
42 struct flow_key_ipv4_5tuple ipv4_5tuple;
43 struct flow_key_ipv6_5tuple ipv6_5tuple;
48 app_pipeline_fc_add(struct app_params *app,
50 struct pipeline_fc_key *key,
55 app_pipeline_fc_add_bulk(struct app_params *app,
57 struct pipeline_fc_key *key,
63 app_pipeline_fc_del(struct app_params *app,
65 struct pipeline_fc_key *key);
68 app_pipeline_fc_add_default(struct app_params *app,
73 app_pipeline_fc_del_default(struct app_params *app,
74 uint32_t pipeline_id);
76 #ifndef APP_PIPELINE_FC_MAX_FLOWS_IN_FILE
77 #define APP_PIPELINE_FC_MAX_FLOWS_IN_FILE (16 * 1024 * 1024)
81 app_pipeline_fc_load_file_qinq(char *filename,
82 struct pipeline_fc_key *keys,
89 app_pipeline_fc_load_file_ipv4(char *filename,
90 struct pipeline_fc_key *keys,
97 app_pipeline_fc_load_file_ipv6(char *filename,
98 struct pipeline_fc_key *keys,
104 extern struct pipeline_type pipeline_flow_classification;