* Copyright(c) 2017 Intel Corporation
*/
+#include <rte_string_fns.h>
+#include <rte_compat.h>
#include <rte_flow_classify.h>
#include "rte_flow_classify_parse.h"
#include <rte_flow_driver.h>
#include <rte_table_acl.h>
#include <stdbool.h>
-int librte_flow_classify_logtype;
-
static uint32_t unique_id = 1;
enum rte_flow_classify_table_type table_type
}
/* socket */
- if ((params->socket_id < 0) ||
- (params->socket_id >= RTE_MAX_NUMA_NODES)) {
+ if (params->socket_id < 0) {
RTE_FLOW_CLASSIFY_LOG(ERR,
"%s: Incorrect value for parameter socket_id\n",
__func__);
}
/* Save input parameters */
- snprintf(cls->name, RTE_FLOW_CLASSIFIER_MAX_NAME_SZ, "%s",
- params->name);
+ strlcpy(cls->name, params->name, RTE_FLOW_CLASSIFIER_MAX_NAME_SZ);
cls->socket_id = params->socket_id;
allocate_acl_ipv4_5tuple_rule(struct rte_flow_classifier *cls)
{
struct rte_flow_classify_rule *rule;
- int log_level;
rule = malloc(sizeof(struct rte_flow_classify_rule));
if (!rule)
cls->ntuple_filter.dst_port_mask;
rule->rules.u.ipv4_5tuple.dst_port = cls->ntuple_filter.dst_port;
- log_level = rte_log_get_level(librte_flow_classify_logtype);
-
- if (log_level == RTE_LOG_DEBUG)
+ if (rte_log_can_log(librte_flow_classify_logtype, RTE_LOG_DEBUG))
print_acl_ipv4_key_add(&rule->u.key.key_add);
/* key delete values */
&rule->u.key.key_add.field_value[PROTO_FIELD_IPV4],
NUM_FIELDS_IPV4 * sizeof(struct rte_acl_field));
- if (log_level == RTE_LOG_DEBUG)
+ if (rte_log_can_log(librte_flow_classify_logtype, RTE_LOG_DEBUG))
print_acl_ipv4_key_delete(&rule->u.key.key_del);
return rule;
return rule;
}
}
+ free(rule);
return NULL;
}
}
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;
}
return ret;
}
-RTE_INIT(librte_flow_classify_init_log);
-
-static void
-librte_flow_classify_init_log(void)
-{
- librte_flow_classify_logtype =
- rte_log_register("librte.flow_classify");
- if (librte_flow_classify_logtype >= 0)
- rte_log_set_level(librte_flow_classify_logtype, RTE_LOG_INFO);
-}
+RTE_LOG_REGISTER(librte_flow_classify_logtype, lib.flow_classify, INFO);