test/threads: add unit test
[dpdk.git] / app / test / test_table_tables.c
index 20df2e9..010dd5a 100644 (file)
@@ -2,6 +2,8 @@
  * Copyright(c) 2010-2016 Intel Corporation
  */
 
+#ifndef RTE_EXEC_ENV_WINDOWS
+
 #include <string.h>
 #include <rte_byteorder.h>
 #include <rte_table_lpm_ipv6.h>
@@ -28,7 +30,8 @@ table_test table_tests[] = {
                        APP_METADATA_OFFSET(0));                        \
        key = RTE_MBUF_METADATA_UINT8_PTR(mbuf,                 \
                        APP_METADATA_OFFSET(32));                       \
-       memset(key, 0, 32);                                             \
+       if (mbuf->priv_size + mbuf->buf_len >= 64)                      \
+               memset(key, 0, 32);                                     \
        k32 = (uint32_t *) key;                                         \
        k32[0] = (value);                                               \
        *signature = pipeline_test_hash(key, NULL, 0, 0);                       \
@@ -289,10 +292,10 @@ test_table_lpm(void)
        struct rte_mbuf *mbufs[RTE_PORT_IN_BURST_SIZE_MAX];
        void *table;
        char *entries[RTE_PORT_IN_BURST_SIZE_MAX];
-       char entry;
+       uint64_t entry;
        void *entry_ptr;
        int key_found;
-       uint32_t entry_size = 1;
+       uint32_t entry_size = sizeof(entry);
 
        /* Initialize params and create tables */
        struct rte_table_lpm_params lpm_params = {
@@ -354,7 +357,7 @@ test_table_lpm(void)
        struct rte_table_lpm_key lpm_key;
        lpm_key.ip = 0xadadadad;
 
-       table = rte_table_lpm_ops.f_create(&lpm_params, 0, 1);
+       table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
        if (table == NULL)
                return -9;
 
@@ -455,16 +458,16 @@ test_table_lpm_ipv6(void)
        struct rte_mbuf *mbufs[RTE_PORT_IN_BURST_SIZE_MAX];
        void *table;
        char *entries[RTE_PORT_IN_BURST_SIZE_MAX];
-       char entry;
+       uint64_t entry;
        void *entry_ptr;
        int key_found;
-       uint32_t entry_size = 1;
+       uint32_t entry_size = sizeof(entry);
 
        /* Initialize params and create tables */
        struct rte_table_lpm_ipv6_params lpm_params = {
                .name = "LPM",
                .n_rules = 1 << 24,
-               .number_tbl8s = 1 << 21,
+               .number_tbl8s = 1 << 18,
                .entry_unique_size = entry_size,
                .offset = APP_METADATA_OFFSET(32)
        };
@@ -492,7 +495,7 @@ test_table_lpm_ipv6(void)
        if (table != NULL)
                return -4;
 
-       lpm_params.number_tbl8s = 1 << 21;
+       lpm_params.number_tbl8s = 1 << 18;
        lpm_params.entry_unique_size = 0;
        table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
        if (table != NULL)
@@ -911,7 +914,7 @@ test_table_hash_cuckoo(void)
                .n_keys = 1 << 16,
                .n_buckets = 1 << 16,
                .f_hash = pipeline_test_hash_cuckoo,
-               .seed = 0, 
+               .seed = 0,
        };
 
        table = rte_table_hash_cuckoo_ops.f_create(NULL, 0, entry_size);
@@ -1052,3 +1055,4 @@ test_table_hash_cuckoo(void)
        return 0;
 }
 
+#endif /* !RTE_EXEC_ENV_WINDOWS */