From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,
Thomas Monjalon <thomas@monjalon.net>,
Anatoly Burakov <anatoly.burakov@intel.com>
Subject: [RFC v2 02/17] ip_frag: use a dynamic logtype
Date: Tue, 7 Feb 2023 15:04:23 -0800 [thread overview]
Message-ID: <20230207230438.1617331-3-stephen@networkplumber.org> (raw)
In-Reply-To: <20230207230438.1617331-1-stephen@networkplumber.org>
DPDK libraries should not be reusing RTE_LOGTYPE_USER1 in
lieu of doing proper logtype registration.
Fixes: 416707812c03 ("ip_frag: refactor reassembly code into a proper library")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/ip_frag/ip_frag_common.h | 16 ++-
lib/ip_frag/ip_frag_internal.c | 174 +++++++++++++++---------------
lib/ip_frag/rte_ip_frag_common.c | 13 +--
lib/ip_frag/rte_ipv4_reassembly.c | 14 ++-
lib/ip_frag/rte_ipv6_reassembly.c | 59 +++++-----
5 files changed, 138 insertions(+), 138 deletions(-)
diff --git a/lib/ip_frag/ip_frag_common.h b/lib/ip_frag/ip_frag_common.h
index 9c0dbdeb6eb9..134072f3e810 100644
--- a/lib/ip_frag/ip_frag_common.h
+++ b/lib/ip_frag/ip_frag_common.h
@@ -9,8 +9,16 @@
#include "ip_reassembly.h"
/* logging macros. */
+extern int ipfrag_logtype;
+
+#define IP_FRAG_ERR(fmt, args...) \
+ rte_log(RTE_LOG_ERR, ipfrag_logtype, \
+ "%s: " fmt "\n", __func__, ## args)
+
#ifdef RTE_LIBRTE_IP_FRAG_DEBUG
-#define IP_FRAG_LOG(lvl, fmt, args...) RTE_LOG(lvl, USER1, fmt, ##args)
+#define IP_FRAG_LOG(lvl, fmt, args...) \
+ rte_log(RTE_LOG ## lvl, ipfrag_logtype, \
+ "%s: " fmt "\n", __func__, ## args)
#else
#define IP_FRAG_LOG(lvl, fmt, args...) do {} while(0)
#endif /* IP_FRAG_DEBUG */
@@ -111,9 +119,9 @@ ip_frag_free_immediate(struct ip_frag_pkt *fp)
for (i = 0; i < fp->last_idx; i++) {
if (fp->frags[i].mb != NULL) {
- IP_FRAG_LOG(DEBUG, "%s:%d\n"
- "mbuf: %p, tms: %" PRIu64", key: <%" PRIx64 ", %#x>\n",
- __func__, __LINE__, fp->frags[i].mb, fp->start,
+ IP_FRAG_LOG(DEBUG,
+ "mbuf: %p, tms: %" PRIu64", key: <%" PRIx64 ", %#x>",
+ fp->frags[i].mb, fp->start,
fp->key.src_dst[0], fp->key.id);
rte_pktmbuf_free(fp->frags[i].mb);
fp->frags[i].mb = NULL;
diff --git a/lib/ip_frag/ip_frag_internal.c b/lib/ip_frag/ip_frag_internal.c
index b436a4c9313b..c633216419a2 100644
--- a/lib/ip_frag/ip_frag_internal.c
+++ b/lib/ip_frag/ip_frag_internal.c
@@ -89,7 +89,7 @@ ipv6_frag_hash(const struct ip_frag_key *key, uint32_t *v1, uint32_t *v2)
struct rte_mbuf *
ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,
- struct rte_mbuf *mb, uint16_t ofs, uint16_t len, uint16_t more_frags)
+ struct rte_mbuf *mb, uint16_t ofs, uint16_t len, uint16_t more_frags)
{
uint32_t idx;
@@ -98,15 +98,15 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,
/* this is the first fragment. */
if (ofs == 0) {
idx = (fp->frags[IP_FIRST_FRAG_IDX].mb == NULL) ?
- IP_FIRST_FRAG_IDX : UINT32_MAX;
+ IP_FIRST_FRAG_IDX : UINT32_MAX;
- /* this is the last fragment. */
+ /* this is the last fragment. */
} else if (more_frags == 0) {
fp->total_size = ofs + len;
idx = (fp->frags[IP_LAST_FRAG_IDX].mb == NULL) ?
- IP_LAST_FRAG_IDX : UINT32_MAX;
+ IP_LAST_FRAG_IDX : UINT32_MAX;
- /* this is the intermediate fragment. */
+ /* this is the intermediate fragment. */
} else if ((idx = fp->last_idx) < RTE_DIM(fp->frags)) {
fp->last_idx++;
}
@@ -119,31 +119,31 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,
/* report an error. */
if (fp->key.key_len == IPV4_KEYLEN)
- IP_FRAG_LOG(DEBUG, "%s:%d invalid fragmented packet:\n"
- "ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, "
- "total_size: %u, frag_size: %u, last_idx: %u\n"
- "first fragment: ofs: %u, len: %u\n"
- "last fragment: ofs: %u, len: %u\n\n",
- __func__, __LINE__,
- fp, fp->key.src_dst[0], fp->key.id,
- fp->total_size, fp->frag_size, fp->last_idx,
- fp->frags[IP_FIRST_FRAG_IDX].ofs,
- fp->frags[IP_FIRST_FRAG_IDX].len,
- fp->frags[IP_LAST_FRAG_IDX].ofs,
- fp->frags[IP_LAST_FRAG_IDX].len);
+ IP_FRAG_LOG(DEBUG,
+ "invalid fragmented packet:\n"
+ "ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, "
+ "total_size: %u, frag_size: %u, last_idx: %u\n"
+ "first fragment: ofs: %u, len: %u\n"
+ "last fragment: ofs: %u, len: %u\n",
+ fp, fp->key.src_dst[0], fp->key.id,
+ fp->total_size, fp->frag_size, fp->last_idx,
+ fp->frags[IP_FIRST_FRAG_IDX].ofs,
+ fp->frags[IP_FIRST_FRAG_IDX].len,
+ fp->frags[IP_LAST_FRAG_IDX].ofs,
+ fp->frags[IP_LAST_FRAG_IDX].len);
else
- IP_FRAG_LOG(DEBUG, "%s:%d invalid fragmented packet:\n"
- "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
- "total_size: %u, frag_size: %u, last_idx: %u\n"
- "first fragment: ofs: %u, len: %u\n"
- "last fragment: ofs: %u, len: %u\n\n",
- __func__, __LINE__,
- fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,
- fp->total_size, fp->frag_size, fp->last_idx,
- fp->frags[IP_FIRST_FRAG_IDX].ofs,
- fp->frags[IP_FIRST_FRAG_IDX].len,
- fp->frags[IP_LAST_FRAG_IDX].ofs,
- fp->frags[IP_LAST_FRAG_IDX].len);
+ IP_FRAG_LOG(DEBUG,
+ "invalid fragmented packet:\n"
+ "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
+ "total_size: %u, frag_size: %u, last_idx: %u\n"
+ "first fragment: ofs: %u, len: %u\n"
+ "last fragment: ofs: %u, len: %u\n",
+ fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,
+ fp->total_size, fp->frag_size, fp->last_idx,
+ fp->frags[IP_FIRST_FRAG_IDX].ofs,
+ fp->frags[IP_FIRST_FRAG_IDX].len,
+ fp->frags[IP_LAST_FRAG_IDX].ofs,
+ fp->frags[IP_LAST_FRAG_IDX].len);
/* free all fragments, invalidate the entry. */
ip_frag_free(fp, dr);
@@ -163,9 +163,9 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,
if (likely (fp->frag_size < fp->total_size)) {
return mb;
- /* if we collected all fragments, then try to reassemble. */
+ /* if we collected all fragments, then try to reassemble. */
} else if (fp->frag_size == fp->total_size &&
- fp->frags[IP_FIRST_FRAG_IDX].mb != NULL) {
+ fp->frags[IP_FIRST_FRAG_IDX].mb != NULL) {
if (fp->key.key_len == IPV4_KEYLEN)
mb = ipv4_frag_reassemble(fp);
else
@@ -177,31 +177,31 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,
/* report an error. */
if (fp->key.key_len == IPV4_KEYLEN)
- IP_FRAG_LOG(DEBUG, "%s:%d invalid fragmented packet:\n"
- "ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, "
- "total_size: %u, frag_size: %u, last_idx: %u\n"
- "first fragment: ofs: %u, len: %u\n"
- "last fragment: ofs: %u, len: %u\n\n",
- __func__, __LINE__,
- fp, fp->key.src_dst[0], fp->key.id,
- fp->total_size, fp->frag_size, fp->last_idx,
- fp->frags[IP_FIRST_FRAG_IDX].ofs,
- fp->frags[IP_FIRST_FRAG_IDX].len,
- fp->frags[IP_LAST_FRAG_IDX].ofs,
- fp->frags[IP_LAST_FRAG_IDX].len);
+ IP_FRAG_LOG(DEBUG,
+ "invalid fragmented packet:\n"
+ "ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, "
+ "total_size: %u, frag_size: %u, last_idx: %u\n"
+ "first fragment: ofs: %u, len: %u\n"
+ "last fragment: ofs: %u, len: %u\n,
+ fp, fp->key.src_dst[0], fp->key.id,
+ fp->total_size, fp->frag_size, fp->last_idx,
+ fp->frags[IP_FIRST_FRAG_IDX].ofs,
+ fp->frags[IP_FIRST_FRAG_IDX].len,
+ fp->frags[IP_LAST_FRAG_IDX].ofs,
+ fp->frags[IP_LAST_FRAG_IDX].len);
else
- IP_FRAG_LOG(DEBUG, "%s:%d invalid fragmented packet:\n"
- "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
- "total_size: %u, frag_size: %u, last_idx: %u\n"
- "first fragment: ofs: %u, len: %u\n"
- "last fragment: ofs: %u, len: %u\n\n",
- __func__, __LINE__,
- fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,
- fp->total_size, fp->frag_size, fp->last_idx,
- fp->frags[IP_FIRST_FRAG_IDX].ofs,
- fp->frags[IP_FIRST_FRAG_IDX].len,
- fp->frags[IP_LAST_FRAG_IDX].ofs,
- fp->frags[IP_LAST_FRAG_IDX].len);
+ IP_FRAG_LOG(DEBUG,
+ "invalid fragmented packet:\n"
+ "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
+ "total_size: %u, frag_size: %u, last_idx: %u\n"
+ "first fragment: ofs: %u, len: %u\n"
+ "last fragment: ofs: %u, len: %u\n",
+ fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,
+ fp->total_size, fp->frag_size, fp->last_idx,
+ fp->frags[IP_FIRST_FRAG_IDX].ofs,
+ fp->frags[IP_FIRST_FRAG_IDX].len,
+ fp->frags[IP_LAST_FRAG_IDX].ofs,
+ fp->frags[IP_LAST_FRAG_IDX].len);
/* free associated resources. */
ip_frag_free(fp, dr);
@@ -282,8 +282,8 @@ ip_frag_find(struct rte_ip_frag_tbl *tbl, struct rte_ip_frag_death_row *dr,
struct ip_frag_pkt *
ip_frag_lookup(struct rte_ip_frag_tbl *tbl,
- const struct ip_frag_key *key, uint64_t tms,
- struct ip_frag_pkt **free, struct ip_frag_pkt **stale)
+ const struct ip_frag_key *key, uint64_t tms,
+ struct ip_frag_pkt **free, struct ip_frag_pkt **stale)
{
struct ip_frag_pkt *p1, *p2;
struct ip_frag_pkt *empty, *old;
@@ -310,23 +310,21 @@ ip_frag_lookup(struct rte_ip_frag_tbl *tbl,
for (i = 0; i != assoc; i++) {
if (p1->key.key_len == IPV4_KEYLEN)
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv4_frag_pkt line0: %p, index: %u from %u\n"
- "key: <%" PRIx64 ", %#x>, start: %" PRIu64 "\n",
- __func__, __LINE__,
- tbl, tbl->max_entries, tbl->use_entries,
- p1, i, assoc,
- p1[i].key.src_dst[0], p1[i].key.id, p1[i].start);
+ IP_FRAG_LOG(DEBUG,
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv4_frag_pkt line0: %p, index: %u from %u\n"
+ "key: <%" PRIx64 ", %#x>, start: %" PRIu64,
+ tbl, tbl->max_entries, tbl->use_entries,
+ p1, i, assoc,
+ p1[i].key.src_dst[0], p1[i].key.id, p1[i].start);
else
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv6_frag_pkt line0: %p, index: %u from %u\n"
- "key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64 "\n",
- __func__, __LINE__,
- tbl, tbl->max_entries, tbl->use_entries,
- p1, i, assoc,
- IPv6_KEY_BYTES(p1[i].key.src_dst), p1[i].key.id, p1[i].start);
+ IP_FRAG_LOG(DEBUG,
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv6_frag_pkt line0: %p, index: %u from %u\n"
+ "key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64,
+ tbl, tbl->max_entries, tbl->use_entries,
+ p1, i, assoc,
+ IPv6_KEY_BYTES(p1[i].key.src_dst), p1[i].key.id, p1[i].start);
if (ip_frag_key_cmp(key, &p1[i].key) == 0)
return p1 + i;
@@ -336,23 +334,21 @@ ip_frag_lookup(struct rte_ip_frag_tbl *tbl,
old = (old == NULL) ? (p1 + i) : old;
if (p2->key.key_len == IPV4_KEYLEN)
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv4_frag_pkt line1: %p, index: %u from %u\n"
- "key: <%" PRIx64 ", %#x>, start: %" PRIu64 "\n",
- __func__, __LINE__,
- tbl, tbl->max_entries, tbl->use_entries,
- p2, i, assoc,
- p2[i].key.src_dst[0], p2[i].key.id, p2[i].start);
+ IP_FRAG_LOG(DEBUG,
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv4_frag_pkt line1: %p, index: %u from %u\n"
+ "key: <%" PRIx64 ", %#x>, start: %" PRIu64,
+ tbl, tbl->max_entries, tbl->use_entries,
+ p2, i, assoc,
+ p2[i].key.src_dst[0], p2[i].key.id, p2[i].start);
else
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv6_frag_pkt line1: %p, index: %u from %u\n"
- "key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64 "\n",
- __func__, __LINE__,
- tbl, tbl->max_entries, tbl->use_entries,
- p2, i, assoc,
- IPv6_KEY_BYTES(p2[i].key.src_dst), p2[i].key.id, p2[i].start);
+ IP_FRAG_LOG(DEBUG,
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv6_frag_pkt line1: %p, index: %u from %u\n"
+ "key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64,
+ tbl, tbl->max_entries, tbl->use_entries,
+ p2, i, assoc,
+ IPv6_KEY_BYTES(p2[i].key.src_dst), p2[i].key.id, p2[i].start);
if (ip_frag_key_cmp(key, &p2[i].key) == 0)
return p2 + i;
diff --git a/lib/ip_frag/rte_ip_frag_common.c b/lib/ip_frag/rte_ip_frag_common.c
index c1de2e81b6d0..b8ca9e019c54 100644
--- a/lib/ip_frag/rte_ip_frag_common.c
+++ b/lib/ip_frag/rte_ip_frag_common.c
@@ -52,21 +52,20 @@ rte_ip_frag_table_create(uint32_t bucket_num, uint32_t bucket_entries,
if (rte_is_power_of_2(bucket_entries) == 0 ||
nb_entries > UINT32_MAX || nb_entries == 0 ||
nb_entries < max_entries) {
- RTE_LOG(ERR, USER1, "%s: invalid input parameter\n", __func__);
+ IP_FRAG_ERR("invalid input parameter");
return NULL;
}
sz = sizeof (*tbl) + nb_entries * sizeof (tbl->pkt[0]);
if ((tbl = rte_zmalloc_socket(__func__, sz, RTE_CACHE_LINE_SIZE,
socket_id)) == NULL) {
- RTE_LOG(ERR, USER1,
- "%s: allocation of %zu bytes at socket %d failed do\n",
- __func__, sz, socket_id);
+ IP_FRAG_ERR("allocation of %zu bytes at socket %d failed do",
+ sz, socket_id);
return NULL;
}
- RTE_LOG(INFO, USER1, "%s: allocated of %zu bytes at socket %d\n",
- __func__, sz, socket_id);
+ IP_FRAG_LOG(INFO, "allocated of %zu bytes at socket %d",
+ sz, socket_id);
tbl->max_cycles = max_cycles;
tbl->max_entries = max_entries;
@@ -142,3 +141,5 @@ rte_ip_frag_table_del_expired_entries(struct rte_ip_frag_tbl *tbl,
} else
return;
}
+
+RTE_LOG_REGISTER_DEFAULT(ipfrag_logtype, INFO);
diff --git a/lib/ip_frag/rte_ipv4_reassembly.c b/lib/ip_frag/rte_ipv4_reassembly.c
index 4a89a5f5365a..2cdbdc4ee87f 100644
--- a/lib/ip_frag/rte_ipv4_reassembly.c
+++ b/lib/ip_frag/rte_ipv4_reassembly.c
@@ -120,12 +120,11 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
ip_len = rte_be_to_cpu_16(ip_hdr->total_length) - mb->l3_len;
trim = mb->pkt_len - (ip_len + mb->l3_len + mb->l2_len);
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
+ IP_FRAG_LOG(DEBUG,
"mbuf: %p, tms: %" PRIu64 ", key: <%" PRIx64 ", %#x>"
"ofs: %u, len: %d, padding: %d, flags: %#x\n"
"tbl: %p, max_cycles: %" PRIu64 ", entry_mask: %#x, "
- "max_entries: %u, use_entries: %u\n\n",
- __func__, __LINE__,
+ "max_entries: %u, use_entries: %u\n",
mb, tms, key.src_dst[0], key.id, ip_ofs, ip_len, trim, ip_flag,
tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,
tbl->use_entries);
@@ -145,11 +144,10 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
return NULL;
}
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
+ IP_FRAG_LOG(DEBUG,
"tbl: %p, max_entries: %u, use_entries: %u\n"
"ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, start: %" PRIu64
- ", total_size: %u, frag_size: %u, last_idx: %u\n\n",
- __func__, __LINE__,
+ ", total_size: %u, frag_size: %u, last_idx: %u\n",
tbl, tbl->max_entries, tbl->use_entries,
fp, fp->key.src_dst[0], fp->key.id, fp->start,
fp->total_size, fp->frag_size, fp->last_idx);
@@ -159,11 +157,11 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
mb = ip_frag_process(fp, dr, mb, ip_ofs, ip_len, ip_flag);
ip_frag_inuse(tbl, fp);
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
+ IP_FRAG_LOG(DEBUG,
"mbuf: %p\n"
"tbl: %p, max_entries: %u, use_entries: %u\n"
"ipv4_frag_pkt: %p, key: <%" PRIx64 ", %#x>, start: %" PRIu64
- ", total_size: %u, frag_size: %u, last_idx: %u\n\n",
+ ", total_size: %u, frag_size: %u, last_idx: %u\n",
__func__, __LINE__, mb,
tbl, tbl->max_entries, tbl->use_entries,
fp, fp->key.src_dst[0], fp->key.id, fp->start,
diff --git a/lib/ip_frag/rte_ipv6_reassembly.c b/lib/ip_frag/rte_ipv6_reassembly.c
index d4019e87e63a..935878cc6cdc 100644
--- a/lib/ip_frag/rte_ipv6_reassembly.c
+++ b/lib/ip_frag/rte_ipv6_reassembly.c
@@ -135,8 +135,8 @@ ipv6_frag_reassemble(struct ip_frag_pkt *fp)
#define FRAG_OFFSET(x) (rte_cpu_to_be_16(x) >> 3)
struct rte_mbuf *
rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
- struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
- struct rte_ipv6_hdr *ip_hdr, struct rte_ipv6_fragment_ext *frag_hdr)
+ struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
+ struct rte_ipv6_hdr *ip_hdr, struct rte_ipv6_fragment_ext *frag_hdr)
{
struct ip_frag_pkt *fp;
struct ip_frag_key key;
@@ -161,17 +161,16 @@ rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
ip_len = rte_be_to_cpu_16(ip_hdr->payload_len) - sizeof(*frag_hdr);
trim = mb->pkt_len - (ip_len + mb->l3_len + mb->l2_len);
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "mbuf: %p, tms: %" PRIu64
- ", key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
- "ofs: %u, len: %d, padding: %d, flags: %#x\n"
- "tbl: %p, max_cycles: %" PRIu64 ", entry_mask: %#x, "
- "max_entries: %u, use_entries: %u\n\n",
- __func__, __LINE__,
- mb, tms, IPv6_KEY_BYTES(key.src_dst), key.id, ip_ofs, ip_len,
- trim, RTE_IPV6_GET_MF(frag_hdr->frag_data),
- tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,
- tbl->use_entries);
+ IP_FRAG_LOG(DEBUG,
+ "mbuf: %p, tms: %" PRIu64
+ ", key: <" IPv6_KEY_BYTES_FMT ", %#x>, "
+ "ofs: %u, len: %d, padding: %d, flags: %#x\n"
+ "tbl: %p, max_cycles: %" PRIu64 ", entry_mask: %#x, "
+ "max_entries: %u, use_entries: %u\n",
+ mb, tms, IPv6_KEY_BYTES(key.src_dst), key.id, ip_ofs, ip_len,
+ trim, RTE_IPV6_GET_MF(frag_hdr->frag_data),
+ tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,
+ tbl->use_entries);
/* check that fragment length is greater then zero. */
if (ip_len <= 0) {
@@ -189,30 +188,28 @@ rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
return NULL;
}
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64
- ", total_size: %u, frag_size: %u, last_idx: %u\n\n",
- __func__, __LINE__,
- tbl, tbl->max_entries, tbl->use_entries,
- fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,
- fp->total_size, fp->frag_size, fp->last_idx);
+ IP_FRAG_LOG(DEBUG,
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64
+ ", total_size: %u, frag_size: %u, last_idx: %u\n",
+ tbl, tbl->max_entries, tbl->use_entries,
+ fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,
+ fp->total_size, fp->frag_size, fp->last_idx);
/* process the fragmented packet. */
mb = ip_frag_process(fp, dr, mb, ip_ofs, ip_len,
- MORE_FRAGS(frag_hdr->frag_data));
+ MORE_FRAGS(frag_hdr->frag_data));
ip_frag_inuse(tbl, fp);
- IP_FRAG_LOG(DEBUG, "%s:%d:\n"
- "mbuf: %p\n"
- "tbl: %p, max_entries: %u, use_entries: %u\n"
- "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64
- ", total_size: %u, frag_size: %u, last_idx: %u\n\n",
- __func__, __LINE__, mb,
- tbl, tbl->max_entries, tbl->use_entries,
- fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,
- fp->total_size, fp->frag_size, fp->last_idx);
+ IP_FRAG_LOG(DEBUG,
+ "mbuf: %p\n"
+ "tbl: %p, max_entries: %u, use_entries: %u\n"
+ "ipv6_frag_pkt: %p, key: <" IPv6_KEY_BYTES_FMT ", %#x>, start: %" PRIu64
+ ", total_size: %u, frag_size: %u, last_idx: %u\n",
+ mb,tbl, tbl->max_entries, tbl->use_entries,
+ fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,
+ fp->total_size, fp->frag_size, fp->last_idx);
return mb;
}
--
2.39.1
next prev parent reply other threads:[~2023-02-07 23:05 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 ` Stephen Hemminger [this message]
2023-02-07 23:04 ` [RFC v2 03/17] reorder: use a dynamic logtype 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 ` [PATCH v3 14/16] table: convert RTE_LOGTYPE_TABLE to dynamic logtype Stephen Hemminger
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=20230207230438.1617331-3-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=thomas@monjalon.net \
/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).