X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_flow_classify%2Frte_flow_classify.c;h=591d98e258355f0e10b40b71ebbcd706d6b8ca60;hb=48e97288982233f015185d632452ab6548c1bd2c;hp=6fa6a74bed38236c0383a11990f554cacfc21068;hpb=ffb9fd1b0808e50ee5c9e27c95c5b2c30e06b2cf;p=dpdk.git diff --git a/lib/librte_flow_classify/rte_flow_classify.c b/lib/librte_flow_classify/rte_flow_classify.c index 6fa6a74bed..591d98e258 100644 --- a/lib/librte_flow_classify/rte_flow_classify.c +++ b/lib/librte_flow_classify/rte_flow_classify.c @@ -2,6 +2,7 @@ * Copyright(c) 2017 Intel Corporation */ +#include #include #include "rte_flow_classify_parse.h" #include @@ -87,7 +88,7 @@ struct rte_flow_classify_rule { void *entry_ptr; /* handle to the table entry for rule meta data */ }; -int +int __rte_experimental rte_flow_classify_validate( struct rte_flow_classifier *cls, const struct rte_flow_attr *attr, @@ -257,7 +258,7 @@ rte_flow_classifier_check_params(struct rte_flow_classifier_params *params) return 0; } -struct rte_flow_classifier * +struct rte_flow_classifier * __rte_experimental rte_flow_classifier_create(struct rte_flow_classifier_params *params) { struct rte_flow_classifier *cls; @@ -300,7 +301,7 @@ rte_flow_classify_table_free(struct rte_cls_table *table) table->ops.f_free(table->h_table); } -int +int __rte_experimental rte_flow_classifier_free(struct rte_flow_classifier *cls) { uint32_t i; @@ -372,7 +373,7 @@ rte_table_check_params(struct rte_flow_classifier *cls, return 0; } -int +int __rte_experimental rte_flow_classify_table_create(struct rte_flow_classifier *cls, struct rte_flow_classify_table_params *params) { @@ -482,7 +483,7 @@ allocate_acl_ipv4_5tuple_rule(struct rte_flow_classifier *cls) return rule; } -struct rte_flow_classify_rule * +struct rte_flow_classify_rule * __rte_experimental rte_flow_classify_table_entry_add(struct rte_flow_classifier *cls, const struct rte_flow_attr *attr, const struct rte_flow_item pattern[], @@ -560,10 +561,11 @@ rte_flow_classify_table_entry_add(struct rte_flow_classifier *cls, return rule; } } + free(rule); return NULL; } -int +int __rte_experimental rte_flow_classify_table_entry_delete(struct rte_flow_classifier *cls, struct rte_flow_classify_rule *rule) { @@ -633,9 +635,7 @@ action_apply(struct rte_flow_classifier *cls, } if (count) { ret = 0; - ntuple_stats = - (struct rte_flow_classify_ipv4_5tuple_stats *) - stats->stats; + ntuple_stats = stats->stats; ntuple_stats->counter1 = count; ntuple_stats->ipv4_5tuple = rule->rules.u.ipv4_5tuple; } @@ -643,7 +643,7 @@ action_apply(struct rte_flow_classifier *cls, return ret; } -int +int __rte_experimental rte_flow_classifier_query(struct rte_flow_classifier *cls, struct rte_mbuf **pkts, const uint16_t nb_pkts,