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:04 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.