From: roy.fan.zhang@intel.com
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test
Date: Fri, 11 Sep 2015 14:35:46 +0100 [thread overview]
Message-ID: <1441978548-3582-3-git-send-email-roy.fan.zhang@intel.com> (raw)
In-Reply-To: <1441978548-3582-1-git-send-email-roy.fan.zhang@intel.com>
From: Fan Zhang <roy.fan.zhang@intel.com>
Test_table has been modified to work on updated macros to access meta-data
stored in the mbuf structure.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
app/test/test_table.h | 8 ++++++--
app/test/test_table_combined.c | 28 +++++++++++++--------------
app/test/test_table_pipeline.c | 3 ++-
app/test/test_table_tables.c | 44 ++++++++++++++++++++++--------------------
4 files changed, 45 insertions(+), 38 deletions(-)
diff --git a/app/test/test_table.h b/app/test/test_table.h
index accc6f8..2077893 100644
--- a/app/test/test_table.h
+++ b/app/test/test_table.h
@@ -78,6 +78,8 @@
#define MP_FLAGS 0
/* Macros */
+#define APP_METADATA_OFFSET(offset) (sizeof(struct rte_mbuf) + (offset))
+
#define RING_ENQUEUE(ring, value) do { \
struct rte_mbuf *m; \
uint32_t *k32, *signature; \
@@ -86,8 +88,10 @@
m = rte_pktmbuf_alloc(pool); \
if (m == NULL) \
return -1; \
- signature = RTE_MBUF_METADATA_UINT32_PTR(m, 0); \
- key = RTE_MBUF_METADATA_UINT8_PTR(m, 32); \
+ signature = RTE_MBUF_METADATA_UINT32_PTR(m, \
+ APP_METADATA_OFFSET(0)); \
+ key = RTE_MBUF_METADATA_UINT8_PTR(m, \
+ APP_METADATA_OFFSET(32)); \
k32 = (uint32_t *) key; \
k32[0] = (value); \
*signature = pipeline_test_hash(key, 0, 0); \
diff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c
index dd09da5..5da005b 100644
--- a/app/test/test_table_combined.c
+++ b/app/test/test_table_combined.c
@@ -295,7 +295,7 @@ test_table_lpm_combined(void)
struct rte_table_lpm_params lpm_params = {
.n_rules = 1 << 16,
.entry_unique_size = 8,
- .offset = 0,
+ .offset = APP_METADATA_OFFSET(0),
};
struct rte_table_lpm_key lpm_key = {
@@ -355,7 +355,7 @@ test_table_lpm_ipv6_combined(void)
.n_rules = 1 << 16,
.number_tbl8s = 1 << 13,
.entry_unique_size = 8,
- .offset = 32,
+ .offset = APP_METADATA_OFFSET(32),
};
struct rte_table_lpm_ipv6_key lpm_ipv6_key = {
@@ -417,8 +417,8 @@ test_table_hash8lru(void)
.n_entries = 1<<24,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key8lru[8];
@@ -475,8 +475,8 @@ test_table_hash16lru(void)
.n_entries = 1<<16,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key16lru[16];
@@ -533,8 +533,8 @@ test_table_hash32lru(void)
.n_entries = 1<<16,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key32lru[32];
@@ -592,8 +592,8 @@ test_table_hash8ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key8ext[8];
@@ -658,8 +658,8 @@ test_table_hash16ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key16ext[16];
@@ -724,8 +724,8 @@ test_table_hash32ext(void)
.n_entries_ext = 1<<15,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 0,
- .key_offset = 32,
+ .signature_offset = APP_METADATA_OFFSET(0),
+ .key_offset = APP_METADATA_OFFSET(32),
};
uint8_t key32ext[32];
diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
index a0a9e04..ff07cda 100644
--- a/app/test/test_table_pipeline.c
+++ b/app/test/test_table_pipeline.c
@@ -457,7 +457,8 @@ test_pipeline_single_filter(int test_type, int expected_count)
rte_panic("Failed to alloc mbuf from pool\n");
return -1;
}
- key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);
+ key = RTE_MBUF_METADATA_UINT8_PTR(m,
+ APP_METADATA_OFFSET(32));
k32 = (uint32_t *) key;
k32[0] = 0xadadadad >> (j % 2);
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 566964b..581316e 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -52,8 +52,10 @@ table_test table_tests[] = {
uint32_t *k32, *signature; \
uint8_t *key; \
mbuf = rte_pktmbuf_alloc(pool); \
- signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf, 0); \
- key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, 32); \
+ signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf, \
+ APP_METADATA_OFFSET(0)); \
+ key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \
+ APP_METADATA_OFFSET(32)); \
memset(key, 0, 32); \
k32 = (uint32_t *) key; \
k32[0] = (value); \
@@ -206,7 +208,7 @@ test_table_array(void)
/* Initialize params and create tables */
struct rte_table_array_params array_params = {
.n_entries = 7,
- .offset = 1
+ .offset = APP_METADATA_OFFSET(1)
};
table = rte_table_array_ops.f_create(NULL, 0, 1);
@@ -226,13 +228,13 @@ test_table_array(void)
return -3;
array_params.n_entries = 1 << 24;
- array_params.offset = 1;
+ array_params.offset = APP_METADATA_OFFSET(1);
table = rte_table_array_ops.f_create(&array_params, 0, 1);
if (table == NULL)
return -4;
- array_params.offset = 32;
+ array_params.offset = APP_METADATA_OFFSET(32);
table = rte_table_array_ops.f_create(&array_params, 0, 1);
if (table == NULL)
@@ -324,7 +326,7 @@ test_table_lpm(void)
struct rte_table_lpm_params lpm_params = {
.n_rules = 1 << 24,
.entry_unique_size = entry_size,
- .offset = 1
+ .offset = APP_METADATA_OFFSET(1)
};
table = rte_table_lpm_ops.f_create(NULL, 0, entry_size);
@@ -338,7 +340,7 @@ test_table_lpm(void)
return -2;
lpm_params.n_rules = 1 << 24;
- lpm_params.offset = 32;
+ lpm_params.offset = APP_METADATA_OFFSET(32);
lpm_params.entry_unique_size = 0;
table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
@@ -481,7 +483,7 @@ test_table_lpm_ipv6(void)
.n_rules = 1 << 24,
.number_tbl8s = 1 << 21,
.entry_unique_size = entry_size,
- .offset = 32
+ .offset = APP_METADATA_OFFSET(32)
};
table = rte_table_lpm_ipv6_ops.f_create(NULL, 0, entry_size);
@@ -512,7 +514,7 @@ test_table_lpm_ipv6(void)
return -2;
lpm_params.entry_unique_size = entry_size;
- lpm_params.offset = 32;
+ lpm_params.offset = APP_METADATA_OFFSET(32);
table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
if (table == NULL)
@@ -650,8 +652,8 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
.n_entries = 1 << 10,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 1,
- .key_offset = 32
+ .signature_offset = APP_METADATA_OFFSET(1),
+ .key_offset = APP_METADATA_OFFSET(32)
};
hash_params.n_entries = 0;
@@ -661,20 +663,20 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
return -1;
hash_params.n_entries = 1 << 10;
- hash_params.signature_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -2;
- hash_params.signature_offset = 0;
- hash_params.key_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(0);
+ hash_params.key_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -3;
- hash_params.key_offset = 32;
+ hash_params.key_offset = APP_METADATA_OFFSET(32);
hash_params.f_hash = NULL;
table = ops->f_create(&hash_params, 0, 1);
@@ -765,8 +767,8 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
.n_entries_ext = 1 << 4,
.f_hash = pipeline_test_hash,
.seed = 0,
- .signature_offset = 1,
- .key_offset = 32
+ .signature_offset = APP_METADATA_OFFSET(1),
+ .key_offset = APP_METADATA_OFFSET(32)
};
hash_params.n_entries = 0;
@@ -782,19 +784,19 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
return -2;
hash_params.n_entries_ext = 1 << 4;
- hash_params.signature_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -2;
- hash_params.signature_offset = 0;
- hash_params.key_offset = 1;
+ hash_params.signature_offset = APP_METADATA_OFFSET(0);
+ hash_params.key_offset = APP_METADATA_OFFSET(1);
table = ops->f_create(&hash_params, 0, 1);
if (table == NULL)
return -3;
- hash_params.key_offset = 32;
+ hash_params.key_offset = APP_METADATA_OFFSET(32);
hash_params.f_hash = NULL;
table = ops->f_create(&hash_params, 0, 1);
--
2.1.0
next prev parent reply other threads:[~2015-09-11 13:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 1/4] librte_port: " roy.fan.zhang
2015-09-11 13:35 ` roy.fan.zhang [this message]
2015-09-11 13:35 ` [dpdk-dev] [PATCH 3/4] app/test_pipeline: modify pipeline test roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice roy.fan.zhang
2015-10-19 14:21 ` Thomas Monjalon
2015-09-11 13:40 ` [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data Dumitrescu, Cristian
2015-10-19 15:02 ` Thomas Monjalon
[not found] ` <6444334.trQLVujQca@xps13>
2015-10-20 14:56 ` Dumitrescu, Cristian
-- strict thread matches above, loose matches on Subject: below --
2015-09-08 10:11 [dpdk-dev] [PATCH 0/4] librte_table: add name parameter to lpm table Jasvinder Singh
2015-09-08 10:11 ` [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test Jasvinder Singh
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=1441978548-3582-3-git-send-email-roy.fan.zhang@intel.com \
--to=roy.fan.zhang@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).