DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH] test_table: initialize table parameteres
Date: Mon, 17 Aug 2015 17:58:32 +0100	[thread overview]
Message-ID: <1439830712-27362-1-git-send-email-pablo.de.lara.guarch@intel.com> (raw)

In table_autotest, the structures containing the parameters
to create the tables were not initialized, and therefore,
some checks could fail and so the unit test.

Also, due to this initialization, one of the tests that was
checking if the table was improperly initialized has been
removed, as it is not needed anymore (duplicated)

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test/test_table_tables.c | 91 ++++++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 36 deletions(-)

diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 88bebf8..566964b 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -203,8 +203,11 @@ test_table_array(void)
 	void *entry_ptr;
 	int key_found;
 
-	/* Create */
-	struct rte_table_array_params array_params;
+	/* Initialize params and create tables */
+	struct rte_table_array_params array_params = {
+		.n_entries = 7,
+		.offset = 1
+	};
 
 	table = rte_table_array_ops.f_create(NULL, 0, 1);
 	if (table != NULL)
@@ -317,8 +320,12 @@ test_table_lpm(void)
 	int key_found;
 	uint32_t entry_size = 1;
 
-	/* Create */
-	struct rte_table_lpm_params lpm_params;
+	/* Initialize params and create tables */
+	struct rte_table_lpm_params lpm_params = {
+		.n_rules = 1 << 24,
+		.entry_unique_size = entry_size,
+		.offset = 1
+	};
 
 	table = rte_table_lpm_ops.f_create(NULL, 0, entry_size);
 	if (table != NULL)
@@ -331,39 +338,33 @@ test_table_lpm(void)
 		return -2;
 
 	lpm_params.n_rules = 1 << 24;
-	lpm_params.offset = 1;
-
-	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
-	if (table != NULL)
-		return -3;
-
 	lpm_params.offset = 32;
 	lpm_params.entry_unique_size = 0;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -4;
+		return -3;
 
 	lpm_params.entry_unique_size = entry_size + 1;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -5;
+		return -4;
 
 	lpm_params.entry_unique_size = entry_size;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
-		return -6;
+		return -5;
 
 	/* Free */
 	status = rte_table_lpm_ops.f_free(table);
 	if (status < 0)
-		return -7;
+		return -6;
 
 	status = rte_table_lpm_ops.f_free(NULL);
 	if (status == 0)
-		return -8;
+		return -7;
 
 	/* Add */
 	struct rte_table_lpm_key lpm_key;
@@ -371,75 +372,75 @@ test_table_lpm(void)
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, 1);
 	if (table == NULL)
-		return -9;
+		return -8;
 
 	status = rte_table_lpm_ops.f_add(NULL, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -10;
+		return -9;
 
 	status = rte_table_lpm_ops.f_add(table, NULL, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -11;
+		return -10;
 
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, NULL, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -12;
+		return -11;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -13;
+		return -12;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -14;
+		return -13;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status != 0)
-		return -15;
+		return -14;
 
 	/* Delete */
 	status = rte_table_lpm_ops.f_delete(NULL, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -16;
+		return -15;
 
 	status = rte_table_lpm_ops.f_delete(table, NULL, &key_found, NULL);
 	if (status == 0)
-		return -17;
+		return -16;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -18;
+		return -17;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -19;
+		return -18;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -20;
+		return -19;
 
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -21;
+		return -20;
 
 	/* Traffic flow */
 	entry = 'A';
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status < 0)
-		return -22;
+		return -21;
 
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
 		if (i % 2 == 0) {
@@ -451,7 +452,7 @@ test_table_lpm(void)
 	rte_table_lpm_ops.f_lookup(table, mbufs, -1,
 		&result_mask, (void **)entries);
 	if (result_mask != expected_mask)
-		return -21;
+		return -22;
 
 	/* Free resources */
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
@@ -475,8 +476,13 @@ test_table_lpm_ipv6(void)
 	int key_found;
 	uint32_t entry_size = 1;
 
-	/* Create */
-	struct rte_table_lpm_ipv6_params lpm_params;
+	/* Initialize params and create tables */
+	struct rte_table_lpm_ipv6_params lpm_params = {
+		.n_rules = 1 << 24,
+		.number_tbl8s = 1 << 21,
+		.entry_unique_size = entry_size,
+		.offset = 32
+	};
 
 	table = rte_table_lpm_ipv6_ops.f_create(NULL, 0, entry_size);
 	if (table != NULL)
@@ -639,8 +645,14 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
 	void *entry_ptr;
 	int key_found;
 
-	/* Create */
-	struct rte_table_hash_key8_lru_params hash_params;
+	/* Initialize params and create tables */
+	struct rte_table_hash_key8_lru_params hash_params = {
+		.n_entries = 1 << 10,
+		.f_hash = pipeline_test_hash,
+		.seed = 0,
+		.signature_offset = 1,
+		.key_offset = 32
+	};
 
 	hash_params.n_entries = 0;
 
@@ -747,8 +759,15 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
 	int key_found;
 	void *entry_ptr;
 
-	/* Create */
-	struct rte_table_hash_key8_ext_params hash_params;
+	/* Initialize params and create tables */
+	struct rte_table_hash_key8_ext_params hash_params = {
+		.n_entries = 1 << 10,
+		.n_entries_ext = 1 << 4,
+		.f_hash = pipeline_test_hash,
+		.seed = 0,
+		.signature_offset = 1,
+		.key_offset = 32
+	};
 
 	hash_params.n_entries = 0;
 
-- 
2.4.2

             reply	other threads:[~2015-08-17 16:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-17 16:58 Pablo de Lara [this message]
2015-08-17 17:07 ` Thomas Monjalon

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=1439830712-27362-1-git-send-email-pablo.de.lara.guarch@intel.com \
    --to=pablo.de.lara.guarch@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).