[7/8] fib: enable on Windows
Checks
Commit Message
The FIB library builds on Windows as long as sys/queue.h is defined.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
app/test/test_fib.c | 22 +---------------------
app/test/test_fib6.c | 24 ++----------------------
app/test/test_fib6_perf.c | 15 +--------------
app/test/test_fib_perf.c | 19 +++----------------
lib/fib/meson.build | 6 ------
lib/fib/rte_fib.c | 1 +
lib/fib/rte_fib6.c | 1 +
7 files changed, 9 insertions(+), 79 deletions(-)
Comments
On Wed, Nov 30, 2022 at 05:44:38PM -0800, Stephen Hemminger wrote:
> The FIB library builds on Windows as long as sys/queue.h is defined.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
@@ -9,28 +9,10 @@
#include <rte_ip.h>
#include <rte_log.h>
+#include <rte_fib.h>
#include "test.h"
-#ifdef RTE_EXEC_ENV_WINDOWS
-static int
-test_fib(void)
-{
- printf("fib not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-static int
-test_slow_fib(void)
-{
- printf("slow_fib not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-#else
-
-#include <rte_fib.h>
-
typedef int32_t (*rte_fib_test)(void);
static int32_t test_create_invalid(void);
@@ -433,7 +415,5 @@ test_slow_fib(void)
return unit_test_suite_runner(&fib_slow_tests);
}
-#endif /* !RTE_EXEC_ENV_WINDOWS */
-
REGISTER_TEST_COMMAND(fib_autotest, test_fib);
REGISTER_TEST_COMMAND(fib_slow_autotest, test_slow_fib);
@@ -9,29 +9,11 @@
#include <rte_memory.h>
#include <rte_log.h>
-
-#include "test.h"
-
-#ifdef RTE_EXEC_ENV_WINDOWS
-static int
-test_fib6(void)
-{
- printf("fib not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-static int
-test_slow_fib6(void)
-{
- printf("slow_fib not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-#else
-
#include <rte_rib6.h>
#include <rte_fib6.h>
+#include "test.h"
+
typedef int32_t (*rte_fib6_test)(void);
static int32_t test_create_invalid(void);
@@ -442,7 +424,5 @@ test_slow_fib6(void)
return unit_test_suite_runner(&fib6_slow_tests);
}
-#endif /* !RTE_EXEC_ENV_WINDOWS */
-
REGISTER_TEST_COMMAND(fib6_autotest, test_fib6);
REGISTER_TEST_COMMAND(fib6_slow_autotest, test_slow_fib6);
@@ -10,21 +10,10 @@
#include <rte_cycles.h>
#include <rte_random.h>
#include <rte_memory.h>
+#include <rte_fib6.h>
#include "test.h"
-#ifdef RTE_EXEC_ENV_WINDOWS
-static int
-test_fib6_perf(void)
-{
- printf("fib6_perf not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-#else
-
-#include <rte_fib6.h>
-
#include "test_lpm6_data.h"
#define TEST_FIB_ASSERT(cond) do { \
@@ -167,6 +156,4 @@ test_fib6_perf(void)
return 0;
}
-#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/
-
REGISTER_TEST_COMMAND(fib6_perf_autotest, test_fib6_perf);
@@ -12,22 +12,11 @@
#include <rte_random.h>
#include <rte_branch_prediction.h>
#include <rte_ip.h>
+#include <rte_fib.h>
#include "test.h"
#include "test_xmmt_ops.h"
-#ifdef RTE_EXEC_ENV_WINDOWS
-static int
-test_fib_perf(void)
-{
- printf("fib_perf not supported on Windows, skipping test\n");
- return TEST_SKIPPED;
-}
-
-#else
-
-#include <rte_fib.h>
-
#define TEST_FIB_ASSERT(cond) do { \
if (!(cond)) { \
printf("Error at line %d:\n", __LINE__); \
@@ -246,7 +235,7 @@ static void generate_random_rule_prefix(uint32_t ip_class, uint8_t depth)
/* Only generate rest bits except the most significant
* fixed bits for IP address class
*/
- start = lrand48() & mask;
+ start = rte_rand() & mask;
ptr_rule = &large_route_table[num_route_entries];
for (k = 0; k < rule_num; k++) {
ptr_rule->ip = (start << (RTE_FIB_MAX_DEPTH - depth))
@@ -265,7 +254,7 @@ static void insert_rule_in_random_pos(uint32_t ip, uint8_t depth)
struct route_rule tmp;
do {
- pos = lrand48();
+ pos = rte_rand();
try_count++;
} while ((try_count < 10) && (pos > num_route_entries));
@@ -420,6 +409,4 @@ test_fib_perf(void)
return 0;
}
-#endif /* !RTE_EXEC_ENV_WINDOWS */
-
REGISTER_TEST_COMMAND(fib_perf_autotest, test_fib_perf);
@@ -2,12 +2,6 @@
# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
# Copyright(c) 2019 Intel Corporation
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
-
sources = files('rte_fib.c', 'rte_fib6.c', 'dir24_8.c', 'trie.c')
headers = files('rte_fib.h', 'rte_fib6.h')
deps += ['rib']
@@ -5,6 +5,7 @@
#include <stdint.h>
#include <string.h>
+#include <sys/queue.h>
#include <rte_eal_memconfig.h>
#include <rte_errno.h>
@@ -5,6 +5,7 @@
#include <stdint.h>
#include <string.h>
+#include <sys/queue.h>
#include <rte_eal_memconfig.h>
#include <rte_tailq.h>