[dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test
From: Fan ZhangTest_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
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, ,