From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Subject: [PATCH v3 14/16] table: convert RTE_LOGTYPE_TABLE to dynamic logtype
Date: Thu, 9 Feb 2023 17:07:22 -0800 [thread overview]
Message-ID: <20230210010724.890413-15-stephen@networkplumber.org> (raw)
In-Reply-To: <20230210010724.890413-1-stephen@networkplumber.org>
Use logtype suffixes for various components of this library.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/eal/common/eal_common_log.c | 1 -
lib/eal/include/rte_log.h | 2 +-
lib/table/rte_table_acl.c | 90 +++++++++++++------------------
lib/table/rte_table_array.c | 23 ++++----
lib/table/rte_table_hash_cuckoo.c | 30 ++++++-----
lib/table/rte_table_hash_ext.c | 34 +++++++-----
lib/table/rte_table_hash_key16.c | 56 ++++++++++---------
lib/table/rte_table_hash_key32.c | 62 ++++++++++-----------
lib/table/rte_table_hash_key8.c | 59 ++++++++++----------
lib/table/rte_table_hash_lru.c | 35 ++++++------
lib/table/rte_table_lpm.c | 54 +++++++++----------
lib/table/rte_table_lpm_ipv6.c | 56 +++++++++----------
lib/table/rte_table_stub.c | 9 ++--
13 files changed, 257 insertions(+), 254 deletions(-)
diff --git a/lib/eal/common/eal_common_log.c b/lib/eal/common/eal_common_log.c
index 7002e267be37..a4e718e51d12 100644
--- a/lib/eal/common/eal_common_log.c
+++ b/lib/eal/common/eal_common_log.c
@@ -350,7 +350,6 @@ struct logtype {
static const struct logtype logtype_strings[] = {
{RTE_LOGTYPE_EAL, "lib.eal"},
{RTE_LOGTYPE_PMD, "pmd"},
- {RTE_LOGTYPE_TABLE, "lib.table"},
{RTE_LOGTYPE_PIPELINE, "lib.pipeline"},
{RTE_LOGTYPE_CRYPTODEV, "lib.cryptodev"},
{RTE_LOGTYPE_EVENTDEV, "lib.eventdev"},
diff --git a/lib/eal/include/rte_log.h b/lib/eal/include/rte_log.h
index ff714a703be7..af87eb42ddb3 100644
--- a/lib/eal/include/rte_log.h
+++ b/lib/eal/include/rte_log.h
@@ -40,7 +40,7 @@ extern "C" {
/* was RTE_LOGTYPE_METER */
/* was RTE_LOGTYPE_SCHED */
/* was RTE_LOGTYPE_PORT */
-#define RTE_LOGTYPE_TABLE 14 /**< Log related to table. */
+ /* was RTE_LOGTYPE_TABLE */
#define RTE_LOGTYPE_PIPELINE 15 /**< Log related to pipeline. */
/* was RTE_LOGTYPE_MBUF */
#define RTE_LOGTYPE_CRYPTODEV 17 /**< Log related to cryptodev. */
diff --git a/lib/table/rte_table_acl.c b/lib/table/rte_table_acl.c
index 53fd5c66adb5..87081f183862 100644
--- a/lib/table/rte_table_acl.c
+++ b/lib/table/rte_table_acl.c
@@ -11,6 +11,11 @@
#include "rte_table_acl.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_acl, acl, INFO);
+#define TABLE_ACL_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_acl, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifdef RTE_TABLE_STATS_COLLECT
#define RTE_TABLE_ACL_STATS_PKTS_IN_ADD(table, val) \
@@ -65,22 +70,20 @@ rte_table_acl_create(
/* Check input parameters */
if (p == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Invalid value for params\n", __func__);
+ TABLE_ACL_LOG(ERR, "Invalid value for params");
return NULL;
}
if (p->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Invalid value for name\n", __func__);
+ TABLE_ACL_LOG(ERR, "Invalid value for name");
return NULL;
}
if (p->n_rules == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid value for n_rules\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Invalid value for n_rules");
return NULL;
}
if ((p->n_rule_fields == 0) ||
(p->n_rule_fields > RTE_ACL_MAX_FIELDS)) {
- RTE_LOG(ERR, TABLE, "%s: Invalid value for n_rule_fields\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Invalid value for n_rule_fields");
return NULL;
}
@@ -98,9 +101,7 @@ rte_table_acl_create(
acl = rte_zmalloc_socket("TABLE", total_size, RTE_CACHE_LINE_SIZE,
socket_id);
if (acl == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for ACL table\n",
- __func__, total_size);
+ TABLE_ACL_LOG(ERR,"Cannot allocate %u bytes for ACL table", total_size);
return NULL;
}
@@ -140,7 +141,7 @@ rte_table_acl_free(void *table)
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -164,8 +165,7 @@ rte_table_acl_build(struct rte_table_acl *acl, struct rte_acl_ctx **acl_ctx)
/* Create low level ACL table */
ctx = rte_acl_create(&acl->acl_params);
if (ctx == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot create low level ACL table\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Cannot create low level ACL table");
return -1;
}
@@ -176,9 +176,7 @@ rte_table_acl_build(struct rte_table_acl *acl, struct rte_acl_ctx **acl_ctx)
status = rte_acl_add_rules(ctx, acl->acl_rule_list[i],
1);
if (status != 0) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot add rule to low level ACL table\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Cannot add rule to low level ACL table");
rte_acl_free(ctx);
return -1;
}
@@ -196,9 +194,7 @@ rte_table_acl_build(struct rte_table_acl *acl, struct rte_acl_ctx **acl_ctx)
/* Build low level ACl table */
status = rte_acl_build(ctx, &acl->cfg);
if (status != 0) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot build the low level ACL table\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Cannot build the low level ACL table");
rte_acl_free(ctx);
return -1;
}
@@ -226,29 +222,27 @@ rte_table_acl_entry_add(
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (key == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "key parameter is NULL");
return -EINVAL;
}
if (entry == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "entry parameter is NULL");
return -EINVAL;
}
if (key_found == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key_found parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "key_found parameter is NULL");
return -EINVAL;
}
if (entry_ptr == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry_ptr parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "entry_ptr parameter is NULL");
return -EINVAL;
}
if (rule->priority > RTE_ACL_MAX_PRIORITY) {
- RTE_LOG(ERR, TABLE, "%s: Priority is too high\n", __func__);
+ TABLE_ACL_LOG(ERR, "Priority is too high");
return -EINVAL;
}
@@ -291,8 +285,7 @@ rte_table_acl_entry_add(
/* Return if max rules */
if (free_pos_valid == 0) {
- RTE_LOG(ERR, TABLE, "%s: Max number of rules reached\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "Max number of rules reached");
return -ENOSPC;
}
@@ -342,16 +335,15 @@ rte_table_acl_entry_delete(
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (key == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "key parameter is NULL");
return -EINVAL;
}
if (key_found == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key_found parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "key_found parameter is NULL");
return -EINVAL;
}
@@ -424,29 +416,27 @@ rte_table_acl_entry_add_bulk(
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (keys == NULL) {
- RTE_LOG(ERR, TABLE, "%s: keys parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "keys parameter is NULL");
return -EINVAL;
}
if (entries == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entries parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "entries parameter is NULL");
return -EINVAL;
}
if (n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: 0 rules to add\n", __func__);
+ TABLE_ACL_LOG(ERR, "0 rules to add");
return -EINVAL;
}
if (key_found == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key_found parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "key_found parameter is NULL");
return -EINVAL;
}
if (entries_ptr == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entries_ptr parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "entries_ptr parameter is NULL");
return -EINVAL;
}
@@ -455,20 +445,18 @@ rte_table_acl_entry_add_bulk(
struct rte_table_acl_rule_add_params *rule;
if (keys[i] == NULL) {
- RTE_LOG(ERR, TABLE, "%s: keys[%" PRIu32 "] parameter is NULL\n",
- __func__, i);
+ TABLE_ACL_LOG(ERR, "keys[%" PRIu32 "] parameter is NULL\n", i);
return -EINVAL;
}
if (entries[i] == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entries[%" PRIu32 "] parameter is NULL\n",
- __func__, i);
+ TABLE_ACL_LOG(ERR, "entries[%" PRIu32 "] parameter is NULL\n", i);
return -EINVAL;
}
rule = keys[i];
if (rule->priority > RTE_ACL_MAX_PRIORITY) {
- RTE_LOG(ERR, TABLE, "%s: Priority is too high\n", __func__);
+ TABLE_ACL_LOG(ERR, "Priority is too high");
return -EINVAL;
}
}
@@ -604,27 +592,25 @@ rte_table_acl_entry_delete_bulk(
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (keys == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key parameter is NULL\n", __func__);
+ TABLE_ACL_LOG(ERR, "key parameter is NULL");
return -EINVAL;
}
if (n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: 0 rules to delete\n", __func__);
+ TABLE_ACL_LOG(ERR, "0 rules to delete");
return -EINVAL;
}
if (key_found == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key_found parameter is NULL\n",
- __func__);
+ TABLE_ACL_LOG(ERR, "key_found parameter is NULL");
return -EINVAL;
}
for (i = 0; i < n_keys; i++) {
if (keys[i] == NULL) {
- RTE_LOG(ERR, TABLE, "%s: keys[%" PRIu32 "] parameter is NULL\n",
- __func__, i);
+ TABLE_ACL_LOG(ERR, "keys[%" PRIu32 "] parameter is NULL", i);
return -EINVAL;
}
}
diff --git a/lib/table/rte_table_array.c b/lib/table/rte_table_array.c
index 54a0c42f7dd2..47b5a2b15b2b 100644
--- a/lib/table/rte_table_array.c
+++ b/lib/table/rte_table_array.c
@@ -11,6 +11,11 @@
#include "rte_table_array.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_array, array, INFO);
+#define TABLE_ARRAY_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_array, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifdef RTE_TABLE_STATS_COLLECT
#define RTE_TABLE_ARRAY_STATS_PKTS_IN_ADD(table, val) \
@@ -61,9 +66,7 @@ rte_table_array_create(void *params, int socket_id, uint32_t entry_size)
total_size = total_cl_size * RTE_CACHE_LINE_SIZE;
t = rte_zmalloc_socket("TABLE", total_size, RTE_CACHE_LINE_SIZE, socket_id);
if (t == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for array table\n",
- __func__, total_size);
+ TABLE_ARRAY_LOG(ERR, "Cannot allocate %u bytes for array table\n", total_size);
return NULL;
}
@@ -83,7 +86,7 @@ rte_table_array_free(void *table)
/* Check input parameters */
if (t == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ARRAY_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -107,25 +110,23 @@ rte_table_array_entry_add(
/* Check input parameters */
if (table == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_ARRAY_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (key == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key parameter is NULL\n", __func__);
+ TABLE_ARRAY_LOG(ERR, "key parameter is NULL");
return -EINVAL;
}
if (entry == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry parameter is NULL\n", __func__);
+ TABLE_ARRAY_LOG(ERR, "entry parameter is NULL");
return -EINVAL;
}
if (key_found == NULL) {
- RTE_LOG(ERR, TABLE, "%s: key_found parameter is NULL\n",
- __func__);
+ TABLE_ARRAY_LOG(ERR, "key_found parameter is NULL");
return -EINVAL;
}
if (entry_ptr == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry_ptr parameter is NULL\n",
- __func__);
+ TABLE_ARRAY_LOG(ERR, "entry_ptr parameter is NULL");
return -EINVAL;
}
diff --git a/lib/table/rte_table_hash_cuckoo.c b/lib/table/rte_table_hash_cuckoo.c
index c77eccf52722..7b1f1575e564 100644
--- a/lib/table/rte_table_hash_cuckoo.c
+++ b/lib/table/rte_table_hash_cuckoo.c
@@ -10,6 +10,11 @@
#include "rte_table_hash_cuckoo.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash, hash, INFO);
+#define TABLE_HASH_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifdef RTE_TABLE_STATS_COLLECT
#define RTE_TABLE_HASH_CUCKOO_STATS_PKTS_IN_ADD(table, val) \
@@ -47,27 +52,27 @@ static int
check_params_create_hash_cuckoo(struct rte_table_hash_cuckoo_params *params)
{
if (params == NULL) {
- RTE_LOG(ERR, TABLE, "NULL Input Parameters.\n");
+ TABLE_HASH_LOG(ERR, "NULL Input Parameters.");
return -EINVAL;
}
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "Table name is NULL.\n");
+ TABLE_HASH_LOG(ERR, "Table name is NULL.");
return -EINVAL;
}
if (params->key_size == 0) {
- RTE_LOG(ERR, TABLE, "Invalid key_size.\n");
+ TABLE_HASH_LOG(ERR, "Invalid key_size.");
return -EINVAL;
}
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "Invalid n_keys.\n");
+ TABLE_HASH_LOG(ERR, "Invalid n_keys.");
return -EINVAL;
}
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "f_hash is NULL.\n");
+ TABLE_HASH_LOG(ERR, "f_hash is NULL.");
return -EINVAL;
}
@@ -94,9 +99,8 @@ rte_table_hash_cuckoo_create(void *params,
t = rte_zmalloc_socket(p->name, total_size, RTE_CACHE_LINE_SIZE, socket_id);
if (t == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for cuckoo hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH_LOG(ERR, "Cannot allocate %u bytes for cuckoo hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -114,9 +118,8 @@ rte_table_hash_cuckoo_create(void *params,
if (h_table == NULL) {
h_table = rte_hash_create(&hash_cuckoo_params);
if (h_table == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: failed to create cuckoo hash table %s\n",
- __func__, p->name);
+ TABLE_HASH_LOG(ERR, "failed to create cuckoo hash table %s",
+ p->name);
rte_free(t);
return NULL;
}
@@ -131,9 +134,8 @@ rte_table_hash_cuckoo_create(void *params,
t->key_offset = p->key_offset;
t->h_table = h_table;
- RTE_LOG(INFO, TABLE,
- "%s: Cuckoo hash table %s memory footprint is %u bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH_LOG(INFO, "Cuckoo hash table %s memory footprint is %u bytes",
+ p->name, total_size);
return t;
}
diff --git a/lib/table/rte_table_hash_ext.c b/lib/table/rte_table_hash_ext.c
index 70ea84fa2e51..ca16328c1612 100644
--- a/lib/table/rte_table_hash_ext.c
+++ b/lib/table/rte_table_hash_ext.c
@@ -11,6 +11,11 @@
#include "rte_table_hash.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash_ext, hash.ext, INFO);
+#define TABLE_HASH_EXT_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash_ext, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#define KEYS_PER_BUCKET 4
struct bucket {
@@ -128,33 +133,33 @@ check_params_create(struct rte_table_hash_params *params)
{
/* name */
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: name invalid value\n", __func__);
+ TABLE_HASH_EXT_LOG(ERR, "name invalid value");
return -EINVAL;
}
/* key_size */
if ((params->key_size < sizeof(uint64_t)) ||
(!rte_is_power_of_2(params->key_size))) {
- RTE_LOG(ERR, TABLE, "%s: key_size invalid value\n", __func__);
+ TABLE_HASH_EXT_LOG(ERR, "key_size invalid value");
return -EINVAL;
}
/* n_keys */
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: n_keys invalid value\n", __func__);
+ TABLE_HASH_EXT_LOG(ERR, "n_keys invalid value");
return -EINVAL;
}
/* n_buckets */
if ((params->n_buckets == 0) ||
(!rte_is_power_of_2(params->n_buckets))) {
- RTE_LOG(ERR, TABLE, "%s: n_buckets invalid value\n", __func__);
+ TABLE_HASH_EXT_LOG(ERR, "n_buckets invalid value");
return -EINVAL;
}
/* f_hash */
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "%s: f_hash invalid value\n", __func__);
+ TABLE_HASH_EXT_LOG(ERR, "f_hash invalid value");
return -EINVAL;
}
@@ -211,9 +216,9 @@ rte_table_hash_ext_create(void *params, int socket_id, uint32_t entry_size)
key_sz + key_stack_sz + bkt_ext_stack_sz + data_sz;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes"
- " for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH_EXT_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -222,14 +227,15 @@ rte_table_hash_ext_create(void *params, int socket_id, uint32_t entry_size)
RTE_CACHE_LINE_SIZE,
socket_id);
if (t == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes"
- " for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH_EXT_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s (%u-byte key): Hash table %s memory "
- "footprint is %" PRIu64 " bytes\n",
- __func__, p->key_size, p->name, total_size);
+
+ TABLE_HASH_EXT_LOG(INFO,
+ "(%u-byte key): Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->key_size, p->name, total_size);
/* Memory initialization */
t->key_size = p->key_size;
diff --git a/lib/table/rte_table_hash_key16.c b/lib/table/rte_table_hash_key16.c
index 04d7fd64bd97..5501a9c5fc54 100644
--- a/lib/table/rte_table_hash_key16.c
+++ b/lib/table/rte_table_hash_key16.c
@@ -11,6 +11,11 @@
#include "rte_table_hash.h"
#include "rte_lru.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash16, hash16, INFO);
+#define TABLE_HASH16_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash16, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#define KEY_SIZE 16
#define KEYS_PER_BUCKET 4
@@ -107,33 +112,32 @@ check_params_create(struct rte_table_hash_params *params)
{
/* name */
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: name invalid value\n", __func__);
+ TABLE_HASH16_LOG(ERR, "name invalid value");
return -EINVAL;
}
/* key_size */
if (params->key_size != KEY_SIZE) {
- RTE_LOG(ERR, TABLE, "%s: key_size invalid value\n", __func__);
+ TABLE_HASH16_LOG(ERR, "key_size invalid value");
return -EINVAL;
}
/* n_keys */
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: n_keys is zero\n", __func__);
+ TABLE_HASH16_LOG(ERR, "n_keys is zero");
return -EINVAL;
}
/* n_buckets */
if ((params->n_buckets == 0) ||
(!rte_is_power_of_2(params->n_buckets))) {
- RTE_LOG(ERR, TABLE, "%s: n_buckets invalid value\n", __func__);
+ TABLE_HASH16_LOG(ERR, "n_buckets invalid value");
return -EINVAL;
}
/* f_hash */
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "%s: f_hash function pointer is NULL\n",
- __func__);
+ TABLE_HASH16_LOG(ERR, "f_hash function pointer is NULL");
return -EINVAL;
}
@@ -181,9 +185,9 @@ rte_table_hash_create_key16_lru(void *params,
total_size = sizeof(struct rte_table_hash) + n_buckets * bucket_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH16_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -192,14 +196,14 @@ rte_table_hash_create_key16_lru(void *params,
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH16_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s: Hash table %s memory footprint "
- "is %" PRIu64 " bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH16_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = n_buckets;
@@ -236,7 +240,7 @@ rte_table_hash_free_key16_lru(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH16_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -391,9 +395,9 @@ rte_table_hash_create_key16_ext(void *params,
total_size = sizeof(struct rte_table_hash) +
(p->n_buckets + n_buckets_ext) * bucket_size + stack_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH16_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -402,14 +406,14 @@ rte_table_hash_create_key16_ext(void *params,
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH16_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s: Hash table %s memory footprint "
- "is %" PRIu64 " bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH16_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = p->n_buckets;
@@ -446,7 +450,7 @@ rte_table_hash_free_key16_ext(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH16_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
diff --git a/lib/table/rte_table_hash_key32.c b/lib/table/rte_table_hash_key32.c
index 88d8f69c72ed..d830c6b3784a 100644
--- a/lib/table/rte_table_hash_key32.c
+++ b/lib/table/rte_table_hash_key32.c
@@ -11,11 +11,16 @@
#include "rte_table_hash.h"
#include "rte_lru.h"
-#define KEY_SIZE 32
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash32, hash32, INFO);
+#define TABLE_HASH32_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash32, \
+ "%s(): " fmt "\n", __func__, ##args)
+
+#define KEY_SIZE 32
#define KEYS_PER_BUCKET 4
-#define RTE_BUCKET_ENTRY_VALID 0x1LLU
+#define RTE_BUCKET_ENTRY_VALID 0x1LLU
#ifdef RTE_TABLE_STATS_COLLECT
@@ -111,33 +116,32 @@ check_params_create(struct rte_table_hash_params *params)
{
/* name */
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: name invalid value\n", __func__);
+ TABLE_HASH32_LOG(ERR, "name invalid value");
return -EINVAL;
}
/* key_size */
if (params->key_size != KEY_SIZE) {
- RTE_LOG(ERR, TABLE, "%s: key_size invalid value\n", __func__);
+ TABLE_HASH32_LOG(ERR, "key_size invalid value");
return -EINVAL;
}
/* n_keys */
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: n_keys is zero\n", __func__);
+ TABLE_HASH32_LOG(ERR, "n_keys is zero");
return -EINVAL;
}
/* n_buckets */
if ((params->n_buckets == 0) ||
(!rte_is_power_of_2(params->n_buckets))) {
- RTE_LOG(ERR, TABLE, "%s: n_buckets invalid value\n", __func__);
+ TABLE_HASH32_LOG(ERR, "n_buckets invalid value");
return -EINVAL;
}
/* f_hash */
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "%s: f_hash function pointer is NULL\n",
- __func__);
+ TABLE_HASH32_LOG(ERR, "f_hash function pointer is NULL");
return -EINVAL;
}
@@ -184,9 +188,9 @@ rte_table_hash_create_key32_lru(void *params,
KEYS_PER_BUCKET * entry_size);
total_size = sizeof(struct rte_table_hash) + n_buckets * bucket_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH32_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -195,15 +199,14 @@ rte_table_hash_create_key32_lru(void *params,
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH32_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE,
- "%s: Hash table %s memory footprint "
- "is %" PRIu64 " bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH32_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = n_buckets;
@@ -244,7 +247,7 @@ rte_table_hash_free_key32_lru(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH32_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -400,9 +403,9 @@ rte_table_hash_create_key32_ext(void *params,
total_size = sizeof(struct rte_table_hash) +
(p->n_buckets + n_buckets_ext) * bucket_size + stack_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH32_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -411,15 +414,14 @@ rte_table_hash_create_key32_ext(void *params,
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH32_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE,
- "%s: Hash table %s memory footprint "
- "is %" PRIu64" bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH32_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64" bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = p->n_buckets;
@@ -460,7 +462,7 @@ rte_table_hash_free_key32_ext(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH32_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
diff --git a/lib/table/rte_table_hash_key8.c b/lib/table/rte_table_hash_key8.c
index 035d24276946..9678ee0741e5 100644
--- a/lib/table/rte_table_hash_key8.c
+++ b/lib/table/rte_table_hash_key8.c
@@ -11,7 +11,12 @@
#include "rte_table_hash.h"
#include "rte_lru.h"
-#define KEY_SIZE 8
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash8, hash8, INFO);
+#define TABLE_HASH8_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash8, \
+ "%s(): " fmt "\n", __func__, ##args)
+
+#define KEY_SIZE 8
#define KEYS_PER_BUCKET 4
@@ -101,33 +106,32 @@ check_params_create(struct rte_table_hash_params *params)
{
/* name */
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: name invalid value\n", __func__);
+ TABLE_HASH8_LOG(ERR, "name invalid value");
return -EINVAL;
}
/* key_size */
if (params->key_size != KEY_SIZE) {
- RTE_LOG(ERR, TABLE, "%s: key_size invalid value\n", __func__);
+ TABLE_HASH8_LOG(ERR, "key_size invalid value");
return -EINVAL;
}
/* n_keys */
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: n_keys is zero\n", __func__);
+ TABLE_HASH8_LOG(ERR, "n_keys is zero");
return -EINVAL;
}
/* n_buckets */
if ((params->n_buckets == 0) ||
(!rte_is_power_of_2(params->n_buckets))) {
- RTE_LOG(ERR, TABLE, "%s: n_buckets invalid value\n", __func__);
+ TABLE_HASH8_LOG(ERR, "n_buckets invalid value");
return -EINVAL;
}
/* f_hash */
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "%s: f_hash function pointer is NULL\n",
- __func__);
+ TABLE_HASH8_LOG(ERR, "f_hash function pointer is NULL");
return -EINVAL;
}
@@ -173,9 +177,9 @@ rte_table_hash_create_key8_lru(void *params, int socket_id, uint32_t entry_size)
total_size = sizeof(struct rte_table_hash) + n_buckets * bucket_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes"
- " for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH8_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -184,15 +188,15 @@ rte_table_hash_create_key8_lru(void *params, int socket_id, uint32_t entry_size)
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes"
- " for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH8_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s: Hash table %s memory footprint "
- "is %" PRIu64 " bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH8_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = n_buckets;
@@ -226,7 +230,7 @@ rte_table_hash_free_key8_lru(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH8_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -377,9 +381,9 @@ rte_table_hash_create_key8_ext(void *params, int socket_id, uint32_t entry_size)
(p->n_buckets + n_buckets_ext) * bucket_size + stack_size;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE, "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH8_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -388,15 +392,14 @@ rte_table_hash_create_key8_ext(void *params, int socket_id, uint32_t entry_size)
RTE_CACHE_LINE_SIZE,
socket_id);
if (f == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %" PRIu64 " bytes "
- "for hash table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH8_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s: Hash table %s memory footprint "
- "is %" PRIu64 " bytes\n",
- __func__, p->name, total_size);
+ TABLE_HASH8_LOG(INFO,
+ "Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->name, total_size);
/* Memory initialization */
f->n_buckets = p->n_buckets;
@@ -430,7 +433,7 @@ rte_table_hash_free_key8_ext(void *table)
/* Check input parameters */
if (f == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_HASH8_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
diff --git a/lib/table/rte_table_hash_lru.c b/lib/table/rte_table_hash_lru.c
index c31acc11cf23..9bc64f74c922 100644
--- a/lib/table/rte_table_hash_lru.c
+++ b/lib/table/rte_table_hash_lru.c
@@ -14,6 +14,11 @@
#define KEYS_PER_BUCKET 4
+RTE_LOG_REGISTER_SUFFIX(table_logtype_hash_lru, hash.lru, INFO);
+#define TABLE_HASH_LRU_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_hash_lru, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifdef RTE_TABLE_STATS_COLLECT
#define RTE_TABLE_HASH_LRU_STATS_PKTS_IN_ADD(table, val) \
@@ -105,33 +110,33 @@ check_params_create(struct rte_table_hash_params *params)
{
/* name */
if (params->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: name invalid value\n", __func__);
+ TABLE_HASH_LRU_LOG(ERR, "name invalid value");
return -EINVAL;
}
/* key_size */
if ((params->key_size < sizeof(uint64_t)) ||
(!rte_is_power_of_2(params->key_size))) {
- RTE_LOG(ERR, TABLE, "%s: key_size invalid value\n", __func__);
+ TABLE_HASH_LRU_LOG(ERR, "key_size invalid value");
return -EINVAL;
}
/* n_keys */
if (params->n_keys == 0) {
- RTE_LOG(ERR, TABLE, "%s: n_keys invalid value\n", __func__);
+ TABLE_HASH_LRU_LOG(ERR, "n_keys invalid value");
return -EINVAL;
}
/* n_buckets */
if ((params->n_buckets == 0) ||
(!rte_is_power_of_2(params->n_buckets))) {
- RTE_LOG(ERR, TABLE, "%s: n_buckets invalid value\n", __func__);
+ TABLE_HASH_LRU_LOG(ERR, "n_buckets invalid value");
return -EINVAL;
}
/* f_hash */
if (params->f_hash == NULL) {
- RTE_LOG(ERR, TABLE, "%s: f_hash invalid value\n", __func__);
+ TABLE_HASH_LRU_LOG(ERR, "f_hash invalid value");
return -EINVAL;
}
@@ -187,10 +192,9 @@ rte_table_hash_lru_create(void *params, int socket_id, uint32_t entry_size)
key_stack_sz + data_sz;
if (total_size > SIZE_MAX) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %" PRIu64 " bytes for hash "
- "table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH_LRU_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
@@ -199,15 +203,14 @@ rte_table_hash_lru_create(void *params, int socket_id, uint32_t entry_size)
RTE_CACHE_LINE_SIZE,
socket_id);
if (t == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %" PRIu64 " bytes for hash "
- "table %s\n",
- __func__, total_size, p->name);
+ TABLE_HASH_LRU_LOG(ERR,
+ "Cannot allocate %" PRIu64 " bytes for hash table %s",
+ total_size, p->name);
return NULL;
}
- RTE_LOG(INFO, TABLE, "%s (%u-byte key): Hash table %s memory footprint"
- " is %" PRIu64 " bytes\n",
- __func__, p->key_size, p->name, total_size);
+ TABLE_HASH_LRU_LOG(INFO,
+ "(%u-byte key): Hash table %s memory footprint is %" PRIu64 " bytes",
+ p->key_size, p->name, total_size);
/* Memory initialization */
t->key_size = p->key_size;
diff --git a/lib/table/rte_table_lpm.c b/lib/table/rte_table_lpm.c
index 9de9e8a20d77..653e2604fd34 100644
--- a/lib/table/rte_table_lpm.c
+++ b/lib/table/rte_table_lpm.c
@@ -13,6 +13,11 @@
#include "rte_table_lpm.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_lpm, lpm, INFO);
+#define TABLE_LPM_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_lpm, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifndef RTE_TABLE_LPM_MAX_NEXT_HOPS
#define RTE_TABLE_LPM_MAX_NEXT_HOPS 65536
#endif
@@ -59,30 +64,27 @@ rte_table_lpm_create(void *params, int socket_id, uint32_t entry_size)
/* Check input parameters */
if (p == NULL) {
- RTE_LOG(ERR, TABLE, "%s: NULL input parameters\n", __func__);
+ TABLE_LPM_LOG(ERR, "NULL input parameters");
return NULL;
}
if (p->n_rules == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid n_rules\n", __func__);
+ TABLE_LPM_LOG(ERR, "Invalid n_rules");
return NULL;
}
if (p->number_tbl8s == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid number_tbl8s\n", __func__);
+ TABLE_LPM_LOG(ERR, "Invalid number_tbl8s");
return NULL;
}
if (p->entry_unique_size == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid entry_unique_size\n",
- __func__);
+ TABLE_LPM_LOG(ERR, "Invalid entry_unique_size");
return NULL;
}
if (p->entry_unique_size > entry_size) {
- RTE_LOG(ERR, TABLE, "%s: Invalid entry_unique_size\n",
- __func__);
+ TABLE_LPM_LOG(ERR, "Invalid entry_unique_size");
return NULL;
}
if (p->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Table name is NULL\n",
- __func__);
+ TABLE_LPM_LOG(ERR, "Table name is NULL");
return NULL;
}
entry_size = RTE_ALIGN(entry_size, sizeof(uint64_t));
@@ -93,9 +95,8 @@ rte_table_lpm_create(void *params, int socket_id, uint32_t entry_size)
lpm = rte_zmalloc_socket("TABLE", total_size, RTE_CACHE_LINE_SIZE,
socket_id);
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for LPM table\n",
- __func__, total_size);
+ TABLE_LPM_LOG(ERR, "Cannot allocate %u bytes for LPM table",
+ total_size);
return NULL;
}
@@ -107,7 +108,7 @@ rte_table_lpm_create(void *params, int socket_id, uint32_t entry_size)
if (lpm->lpm == NULL) {
rte_free(lpm);
- RTE_LOG(ERR, TABLE, "Unable to create low-level LPM table\n");
+ TABLE_LPM_LOG(ERR, "Unable to create low-level LPM table");
return NULL;
}
@@ -127,7 +128,7 @@ rte_table_lpm_free(void *table)
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -187,22 +188,20 @@ rte_table_lpm_entry_add(
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (ip_prefix == NULL) {
- RTE_LOG(ERR, TABLE, "%s: ip_prefix parameter is NULL\n",
- __func__);
+ TABLE_LPM_LOG(ERR, "ip_prefix parameter is NULL");
return -EINVAL;
}
if (entry == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry parameter is NULL\n", __func__);
+ TABLE_LPM_LOG(ERR, "entry parameter is NULL");
return -EINVAL;
}
if ((ip_prefix->depth == 0) || (ip_prefix->depth > 32)) {
- RTE_LOG(ERR, TABLE, "%s: invalid depth (%d)\n",
- __func__, ip_prefix->depth);
+ TABLE_LPM_LOG(ERR, "invalid depth (%d)", ip_prefix->depth);
return -EINVAL;
}
@@ -216,7 +215,7 @@ rte_table_lpm_entry_add(
uint8_t *nht_entry;
if (nht_find_free(lpm, &nht_pos) == 0) {
- RTE_LOG(ERR, TABLE, "%s: NHT full\n", __func__);
+ TABLE_LPM_LOG(ERR, "NHT full");
return -1;
}
@@ -226,7 +225,7 @@ rte_table_lpm_entry_add(
/* Add rule to low level LPM table */
if (rte_lpm_add(lpm->lpm, ip_prefix->ip, ip_prefix->depth, nht_pos) < 0) {
- RTE_LOG(ERR, TABLE, "%s: LPM rule add failed\n", __func__);
+ TABLE_LPM_LOG(ERR, "LPM rule add failed");
return -1;
}
@@ -253,16 +252,15 @@ rte_table_lpm_entry_delete(
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (ip_prefix == NULL) {
- RTE_LOG(ERR, TABLE, "%s: ip_prefix parameter is NULL\n",
- __func__);
+ TABLE_LPM_LOG(ERR, "ip_prefix parameter is NULL");
return -EINVAL;
}
if ((ip_prefix->depth == 0) || (ip_prefix->depth > 32)) {
- RTE_LOG(ERR, TABLE, "%s: invalid depth (%d)\n", __func__,
+ TABLE_LPM_LOG(ERR, "invalid depth (%d)",
ip_prefix->depth);
return -EINVAL;
}
@@ -271,7 +269,7 @@ rte_table_lpm_entry_delete(
status = rte_lpm_is_rule_present(lpm->lpm, ip_prefix->ip,
ip_prefix->depth, &nht_pos);
if (status < 0) {
- RTE_LOG(ERR, TABLE, "%s: LPM algorithmic error\n", __func__);
+ TABLE_LPM_LOG(ERR, "LPM algorithmic error");
return -1;
}
if (status == 0) {
@@ -282,7 +280,7 @@ rte_table_lpm_entry_delete(
/* Delete rule from the low-level LPM table */
status = rte_lpm_delete(lpm->lpm, ip_prefix->ip, ip_prefix->depth);
if (status) {
- RTE_LOG(ERR, TABLE, "%s: LPM rule delete failed\n", __func__);
+ TABLE_LPM_LOG(ERR, "LPM rule delete failed");
return -1;
}
diff --git a/lib/table/rte_table_lpm_ipv6.c b/lib/table/rte_table_lpm_ipv6.c
index 8fde2c012f7c..9f87832ca8f0 100644
--- a/lib/table/rte_table_lpm_ipv6.c
+++ b/lib/table/rte_table_lpm_ipv6.c
@@ -12,6 +12,11 @@
#include "rte_table_lpm_ipv6.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_lpm6, lpm6, INFO);
+#define TABLE_LPM6_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_lpm6, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#define RTE_TABLE_LPM_MAX_NEXT_HOPS 256
#ifdef RTE_TABLE_STATS_COLLECT
@@ -56,30 +61,27 @@ rte_table_lpm_ipv6_create(void *params, int socket_id, uint32_t entry_size)
/* Check input parameters */
if (p == NULL) {
- RTE_LOG(ERR, TABLE, "%s: NULL input parameters\n", __func__);
+ TABLE_LPM6_LOG(ERR, "NULL input parameters");
return NULL;
}
if (p->n_rules == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid n_rules\n", __func__);
+ TABLE_LPM6_LOG(ERR, "Invalid n_rules");
return NULL;
}
if (p->number_tbl8s == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid n_rules\n", __func__);
+ TABLE_LPM6_LOG(ERR, "Invalid n_rules");
return NULL;
}
if (p->entry_unique_size == 0) {
- RTE_LOG(ERR, TABLE, "%s: Invalid entry_unique_size\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "Invalid entry_unique_size");
return NULL;
}
if (p->entry_unique_size > entry_size) {
- RTE_LOG(ERR, TABLE, "%s: Invalid entry_unique_size\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "Invalid entry_unique_size");
return NULL;
}
if (p->name == NULL) {
- RTE_LOG(ERR, TABLE, "%s: Table name is NULL\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "Table name is NULL");
return NULL;
}
entry_size = RTE_ALIGN(entry_size, sizeof(uint64_t));
@@ -90,9 +92,8 @@ rte_table_lpm_ipv6_create(void *params, int socket_id, uint32_t entry_size)
lpm = rte_zmalloc_socket("TABLE", total_size, RTE_CACHE_LINE_SIZE,
socket_id);
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for LPM IPv6 table\n",
- __func__, total_size);
+ TABLE_LPM6_LOG(ERR, "Cannot allocate %u bytes for LPM IPv6 table",
+ total_size);
return NULL;
}
@@ -103,8 +104,7 @@ rte_table_lpm_ipv6_create(void *params, int socket_id, uint32_t entry_size)
lpm->lpm = rte_lpm6_create(p->name, socket_id, &lpm6_config);
if (lpm->lpm == NULL) {
rte_free(lpm);
- RTE_LOG(ERR, TABLE,
- "Unable to create low-level LPM IPv6 table\n");
+ TABLE_LPM6_LOG(ERR, "Unable to create low-level LPM IPv6 table\n");
return NULL;
}
@@ -124,7 +124,7 @@ rte_table_lpm_ipv6_free(void *table)
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM6_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
@@ -184,21 +184,20 @@ rte_table_lpm_ipv6_entry_add(
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM6_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (ip_prefix == NULL) {
- RTE_LOG(ERR, TABLE, "%s: ip_prefix parameter is NULL\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "ip_prefix parameter is NULL");
return -EINVAL;
}
if (entry == NULL) {
- RTE_LOG(ERR, TABLE, "%s: entry parameter is NULL\n", __func__);
+ TABLE_LPM6_LOG(ERR, "entry parameter is NULL");
return -EINVAL;
}
if ((ip_prefix->depth == 0) || (ip_prefix->depth > 128)) {
- RTE_LOG(ERR, TABLE, "%s: invalid depth (%d)\n", __func__,
+ TABLE_LPM6_LOG(ERR, "invalid depth (%d)",
ip_prefix->depth);
return -EINVAL;
}
@@ -213,7 +212,7 @@ rte_table_lpm_ipv6_entry_add(
uint8_t *nht_entry;
if (nht_find_free(lpm, &nht_pos) == 0) {
- RTE_LOG(ERR, TABLE, "%s: NHT full\n", __func__);
+ TABLE_LPM6_LOG(ERR, "NHT full");
return -1;
}
@@ -224,7 +223,7 @@ rte_table_lpm_ipv6_entry_add(
/* Add rule to low level LPM table */
if (rte_lpm6_add(lpm->lpm, ip_prefix->ip, ip_prefix->depth,
nht_pos) < 0) {
- RTE_LOG(ERR, TABLE, "%s: LPM IPv6 rule add failed\n", __func__);
+ TABLE_LPM6_LOG(ERR, "LPM IPv6 rule add failed");
return -1;
}
@@ -252,16 +251,15 @@ rte_table_lpm_ipv6_entry_delete(
/* Check input parameters */
if (lpm == NULL) {
- RTE_LOG(ERR, TABLE, "%s: table parameter is NULL\n", __func__);
+ TABLE_LPM6_LOG(ERR, "table parameter is NULL");
return -EINVAL;
}
if (ip_prefix == NULL) {
- RTE_LOG(ERR, TABLE, "%s: ip_prefix parameter is NULL\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "ip_prefix parameter is NULL");
return -EINVAL;
}
if ((ip_prefix->depth == 0) || (ip_prefix->depth > 128)) {
- RTE_LOG(ERR, TABLE, "%s: invalid depth (%d)\n", __func__,
+ TABLE_LPM6_LOG(ERR, "invalid depth (%d)",
ip_prefix->depth);
return -EINVAL;
}
@@ -270,8 +268,7 @@ rte_table_lpm_ipv6_entry_delete(
status = rte_lpm6_is_rule_present(lpm->lpm, ip_prefix->ip,
ip_prefix->depth, &nht_pos);
if (status < 0) {
- RTE_LOG(ERR, TABLE, "%s: LPM IPv6 algorithmic error\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "LPM IPv6 algorithmic error");
return -1;
}
if (status == 0) {
@@ -282,8 +279,7 @@ rte_table_lpm_ipv6_entry_delete(
/* Delete rule from the low-level LPM table */
status = rte_lpm6_delete(lpm->lpm, ip_prefix->ip, ip_prefix->depth);
if (status) {
- RTE_LOG(ERR, TABLE, "%s: LPM IPv6 rule delete failed\n",
- __func__);
+ TABLE_LPM6_LOG(ERR, "LPM IPv6 rule delete failed");
return -1;
}
diff --git a/lib/table/rte_table_stub.c b/lib/table/rte_table_stub.c
index 23d0de5c79b0..6ea978adfe80 100644
--- a/lib/table/rte_table_stub.c
+++ b/lib/table/rte_table_stub.c
@@ -8,6 +8,11 @@
#include "rte_table_stub.h"
+RTE_LOG_REGISTER_SUFFIX(table_logtype_stub, stub, INFO);
+#define TABLE_STUB_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, table_logtype_stub, \
+ "%s(): " fmt "\n", __func__, ##args)
+
#ifdef RTE_TABLE_STATS_COLLECT
#define RTE_TABLE_LPM_STATS_PKTS_IN_ADD(table, val) \
@@ -38,9 +43,7 @@ rte_table_stub_create(__rte_unused void *params,
stub = rte_zmalloc_socket("TABLE", size, RTE_CACHE_LINE_SIZE,
socket_id);
if (stub == NULL) {
- RTE_LOG(ERR, TABLE,
- "%s: Cannot allocate %u bytes for stub table\n",
- __func__, size);
+ TABLE_STUB_LOG(ERR, "Cannot allocate %u bytes for stub table", size);
return NULL;
}
--
2.39.1
next prev parent reply other threads:[~2023-02-10 1:09 UTC|newest]
Thread overview: 255+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-07 20:41 [RFC 00/13] Replace static logtypes with static Stephen Hemminger
2023-02-07 20:41 ` [RFC 01/13] doc: document intention to deprecate RTE_LOGTYPE_USER* Stephen Hemminger
2023-02-07 20:41 ` [RFC 02/13] gso: remove logtype Stephen Hemminger
2023-02-07 20:41 ` [RFC 03/13] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-07 20:41 ` [RFC 04/13] efd: replace RTE_LOGTYPE_EFD with local type Stephen Hemminger
2023-02-07 20:41 ` [RFC 05/13] mbuf: replace RTE_LOGTYPE_MBUF with dynamic type Stephen Hemminger
2023-02-07 20:41 ` [RFC 06/13] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-07 20:41 ` [RFC 07/13] power: replace RTE_LOGTYPE_POWER " Stephen Hemminger
2023-02-07 20:41 ` [RFC 08/13] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-07 20:41 ` [RFC 09/13] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-07 20:41 ` [RFC 10/13] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-07 20:41 ` [RFC 11/13] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-07 20:41 ` [RFC 12/13] hash: replace RTE_LOGTYPE_HASH " Stephen Hemminger
2023-02-07 20:41 ` [RFC 13/13] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 00/17] static logtype removal Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 01/17] doc: document intention to deprecate RTE_LOGTYPE_USER* Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 02/17] ip_frag: use a dynamic logtype Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 03/17] reorder: " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 04/17] latencystats: use " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 05/17] gso: remove logtype Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 06/17] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 07/17] efd: replace RTE_LOGTYPE_EFD with local type Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 08/17] mbuf: replace RTE_LOGTYPE_MBUF with dynamic type Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 09/17] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 10/17] power: replace RTE_LOGTYPE_POWER " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 11/17] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 12/17] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 13/17] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 14/17] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 15/17] hash: replace RTE_LOGTYPE_HASH " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 16/17] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-07 23:04 ` [RFC v2 17/17] port: replace RTE_LOGTYPE_PORT " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 00/16] Replace use of static logtypes Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 01/16] gso: remove logtype Stephen Hemminger
2023-02-10 1:47 ` fengchengwen
2023-02-10 2:29 ` Hu, Jiayu
2023-02-10 2:46 ` Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 02/16] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 03/16] efd: replace RTE_LOGTYPE_EFD with local type Stephen Hemminger
2023-02-10 2:03 ` fengchengwen
2023-02-10 2:47 ` Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 04/16] mbuf: replace RTE_LOGTYPE_MBUF with dynamic type Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 05/16] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 06/16] power: replace RTE_LOGTYPE_POWER " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 07/16] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 08/16] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 09/16] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 10/16] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 11/16] hash: replace RTE_LOGTYPE_HASH " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 12/16] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 13/16] port: replace RTE_LOGTYPE_PORT " Stephen Hemminger
2023-02-10 1:07 ` Stephen Hemminger [this message]
2023-02-10 1:07 ` [PATCH v3 15/16] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-10 1:07 ` [PATCH v3 16/16] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic log type Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 00/19] Replace use of static logtypes Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 01/19] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 02/19] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 03/19] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 04/19] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 05/19] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 06/19] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 07/19] power: replace RTE_LOGTYPE_POWER " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 08/19] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 09/19] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 10/19] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 11/19] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 12/19] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 13/19] port: replace RTE_LOGTYPE_PORT " Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 14/19] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 15/19] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 16/19] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 17/19] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 18/19] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-13 19:55 ` [PATCH v4 19/19] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 00/22] Replace us of static logtypes Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-14 2:18 ` [PATCH v5 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-14 2:19 ` [PATCH v5 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 00/22] Replace use of static logtypes in libraries Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-15 7:26 ` Hu, Jiayu
2023-02-15 17:12 ` Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-14 22:47 ` [PATCH v6 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 00/22] Replace use of static logtypes in libraries Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-16 1:23 ` Hu, Jiayu
2023-02-15 17:23 ` [PATCH v7 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-22 16:34 ` Hunt, David
2023-02-15 17:23 ` [PATCH v7 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-15 19:14 ` Medvedkin, Vladimir
2023-02-15 17:23 ` [PATCH v7 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-15 17:23 ` [PATCH v7 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 00/22] Convert static logtypes in libraries Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-21 14:55 ` David Marchand
2023-02-21 17:07 ` Stephen Hemminger
2023-03-29 23:31 ` Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-20 23:35 ` [PATCH v8 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-21 15:02 ` David Marchand
2023-02-21 15:10 ` David Marchand
2023-02-20 23:35 ` [PATCH v8 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 00/22] Convert static logtypes in libraries Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-22 16:34 ` Hunt, David
2023-02-21 19:01 ` [PATCH v9 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-22 16:33 ` Hunt, David
2023-02-21 19:01 ` [PATCH v9 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-22 16:32 ` Hunt, David
2023-02-21 19:01 ` [PATCH v9 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-21 19:01 ` [PATCH v9 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-22 7:37 ` [EXT] " Akhil Goyal
2023-02-21 19:02 ` [PATCH v9 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-21 19:02 ` [PATCH v9 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 00/22] Convert static log type values in libraries Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-22 16:36 ` Hunt, David
2023-02-22 16:07 ` [PATCH v10 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-22 16:36 ` Hunt, David
2023-02-22 16:07 ` [PATCH v10 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-22 16:35 ` Hunt, David
2023-02-22 16:07 ` [PATCH v10 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-22 16:07 ` [PATCH v10 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-22 16:08 ` [PATCH v10 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-22 16:08 ` [PATCH v10 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-22 16:08 ` [PATCH v10 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 00/22] Convert static log type values in libraries Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 01/22] gso: don't log message on non TCP/UDP Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 02/22] eal: drop no longer used GSO logtype Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 03/22] log: drop unused RTE_LOGTYPE_TIMER Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 04/22] efd: replace RTE_LOGTYPE_EFD with dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 05/22] mbuf: replace RTE_LOGTYPE_MBUF " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 06/22] acl: replace LOGTYPE_ACL " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 07/22] examples/power: replace use of RTE_LOGTYPE_POWER Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 08/22] examples/l3fwd-power: " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 09/22] power: replace RTE_LOGTYPE_POWER with dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 10/22] ring: replace RTE_LOGTYPE_RING " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 11/22] mempool: replace RTE_LOGTYPE_MEMPOOL " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 12/22] lpm: replace RTE_LOGTYPE_LPM with dynamic types Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 13/22] kni: replace RTE_LOGTYPE_KNI with dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 14/22] sched: replace RTE_LOGTYPE_SCHED " Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 15/22] examples/ipsecgw: replace RTE_LOGTYPE_PORT Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 16/22] port: replace RTE_LOGTYPE_PORT with dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 17/22] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 18/22] app/test: remove use of RTE_LOGTYPE_PIPELINE Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 19/22] pipeline: replace RTE_LOGTYPE_PIPELINE with dynamic type Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 20/22] hash: move rte_thash_gfni stubs out of header file Stephen Hemminger
2023-02-22 21:55 ` [PATCH v11 21/22] hash: move rte_hash_set_alg out header Stephen Hemminger
2023-02-23 7:11 ` Ruifeng Wang
2023-02-23 7:27 ` Ruifeng Wang
2023-02-24 9:45 ` Ruifeng Wang
2023-02-22 21:55 ` [PATCH v11 22/22] hash: convert RTE_LOGTYPE_HASH to dynamic type Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230210010724.890413-15-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=cristian.dumitrescu@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).