[dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test

2015-09-11 Thread roy.fan.zh...@intel.com
From: Fan Zhang 

Test_table has been modified to work on updated macros to access meta-data
stored in the mbuf structure.

Signed-off-by: Fan Zhang 
---
 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_FLAGS0

 /* 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 

[dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test

2015-09-08 Thread Jasvinder Singh
LPM table and test-pipeline has been modified to include
name parameter of the lpm table.

Signed-off-by: Jasvinder Singh 
---
 app/test-pipeline/pipeline_lpm.c  |   1 +
 app/test-pipeline/pipeline_lpm_ipv6.c |   1 +
 app/test/test_table_combined.c|   2 +
 app/test/test_table_tables.c  | 102 --
 4 files changed, 63 insertions(+), 43 deletions(-)

diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index b1a2c13..c03799c 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -112,6 +112,7 @@ app_main_loop_worker_pipeline_lpm(void) {
/* Table configuration */
{
struct rte_table_lpm_params table_lpm_params = {
+   .name = "LPM",
.n_rules = 1 << 24,
.entry_unique_size =
sizeof(struct rte_pipeline_table_entry),
diff --git a/app/test-pipeline/pipeline_lpm_ipv6.c 
b/app/test-pipeline/pipeline_lpm_ipv6.c
index 3f24a2d..02b7a9c 100644
--- a/app/test-pipeline/pipeline_lpm_ipv6.c
+++ b/app/test-pipeline/pipeline_lpm_ipv6.c
@@ -113,6 +113,7 @@ app_main_loop_worker_pipeline_lpm_ipv6(void) {
/* Table configuration */
{
struct rte_table_lpm_ipv6_params table_lpm_ipv6_params = {
+   .name = "LPM",
.n_rules = 1 << 24,
.number_tbl8s = 1 << 21,
.entry_unique_size =
diff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c
index dd09da5..f5c7c9b 100644
--- a/app/test/test_table_combined.c
+++ b/app/test/test_table_combined.c
@@ -293,6 +293,7 @@ test_table_lpm_combined(void)

/* Traffic flow */
struct rte_table_lpm_params lpm_params = {
+   .name = "LPM",
.n_rules = 1 << 16,
.entry_unique_size = 8,
.offset = 0,
@@ -352,6 +353,7 @@ test_table_lpm_ipv6_combined(void)

/* Traffic flow */
struct rte_table_lpm_ipv6_params lpm_ipv6_params = {
+   .name = "LPM",
.n_rules = 1 << 16,
.number_tbl8s = 1 << 13,
.entry_unique_size = 8,
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 566964b..9d75fbf 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -322,6 +322,7 @@ test_table_lpm(void)

/* Initialize params and create tables */
struct rte_table_lpm_params lpm_params = {
+   .name = "LPM",
.n_rules = 1 << 24,
.entry_unique_size = entry_size,
.offset = 1
@@ -331,40 +332,47 @@ test_table_lpm(void)
if (table != NULL)
return -1;

-   lpm_params.n_rules = 0;
+   lpm_params.name = NULL;

table = rte_table_lpm_ops.f_create(_params, 0, entry_size);
if (table != NULL)
return -2;

+   lpm_params.name = "LPM";
+   lpm_params.n_rules = 0;
+
+   table = rte_table_lpm_ops.f_create(_params, 0, entry_size);
+   if (table != NULL)
+   return -3;
+
lpm_params.n_rules = 1 << 24;
lpm_params.offset = 32;
lpm_params.entry_unique_size = 0;

table = rte_table_lpm_ops.f_create(_params, 0, entry_size);
if (table != NULL)
-   return -3;
+   return -4;

lpm_params.entry_unique_size = entry_size + 1;

table = rte_table_lpm_ops.f_create(_params, 0, entry_size);
if (table != NULL)
-   return -4;
+   return -5;

lpm_params.entry_unique_size = entry_size;

table = rte_table_lpm_ops.f_create(_params, 0, entry_size);
if (table == NULL)
-   return -5;
+   return -6;

/* Free */
status = rte_table_lpm_ops.f_free(table);
if (status < 0)
-   return -6;
+   return -7;

status = rte_table_lpm_ops.f_free(NULL);
if (status == 0)
-   return -7;
+   return -8;

/* Add */
struct rte_table_lpm_key lpm_key;
@@ -372,75 +380,75 @@ test_table_lpm(void)

table = rte_table_lpm_ops.f_create(_params, 0, 1);
if (table == NULL)
-   return -8;
+   return -9;

status = rte_table_lpm_ops.f_add(NULL, _key, , _found,
_ptr);
if (status == 0)
-   return -9;
+   return -10;

status = rte_table_lpm_ops.f_add(table, NULL, , _found,
_ptr);
if (status == 0)
-   return -10;
+   return -11;

status = rte_table_lpm_ops.f_add(table, _key, NULL, _found,
_ptr);
if (status == 0)
-   return -11;
+   return -12;

lpm_key.depth = 0;
status = rte_table_lpm_ops.f_add(table, _key, ,