net/bnxt: fix null dereference in session cleanup
[dpdk.git] / app / test / test_reorder.c
index 58fa9c7..f0714a5 100644 (file)
@@ -2,6 +2,8 @@
  * Copyright(c) 2010-2014 Intel Corporation
  */
 
+#include "test.h"
+
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>
 #include <rte_cycles.h>
 #include <rte_errno.h>
 #include <rte_mbuf.h>
+
+#ifdef RTE_EXEC_ENV_WINDOWS
+static int
+test_reorder(void)
+{
+       printf("reorder not supported on Windows, skipping test\n");
+       return TEST_SKIPPED;
+}
+#else
+
 #include <rte_reorder.h>
 #include <rte_lcore.h>
 #include <rte_malloc.h>
 
-#include "test.h"
-
 #define BURST 32
 #define REORDER_BUFFER_SIZE 16384
 #define NUM_MBUFS (2*REORDER_BUFFER_SIZE)
@@ -149,7 +159,7 @@ test_reorder_insert(void)
        for (i = 0; i < num_bufs; i++) {
                bufs[i] = rte_pktmbuf_alloc(p);
                TEST_ASSERT_NOT_NULL(bufs[i], "Packet allocation failed\n");
-               bufs[i]->seqn = i;
+               *rte_reorder_seqn(bufs[i]) = i;
        }
 
        /* This should fill up order buffer:
@@ -183,7 +193,7 @@ test_reorder_insert(void)
        bufs[4] = NULL;
 
        /* early packet from current sequence window - full ready buffer */
-       bufs[5]->seqn = 2 * size;
+       *rte_reorder_seqn(bufs[5]) = 2 * size;
        ret = rte_reorder_insert(b, bufs[5]);
        if (!((ret == -1) && (rte_errno == ENOSPC))) {
                printf("%s:%d: No error inserting early packet with full ready buffer\n",
@@ -194,7 +204,7 @@ test_reorder_insert(void)
        bufs[5] = NULL;
 
        /* late packet */
-       bufs[6]->seqn = 3 * size;
+       *rte_reorder_seqn(bufs[6]) = 3 * size;
        ret = rte_reorder_insert(b, bufs[6]);
        if (!((ret == -1) && (rte_errno == ERANGE))) {
                printf("%s:%d: No error inserting late packet with seqn:"
@@ -208,8 +218,7 @@ test_reorder_insert(void)
 exit:
        rte_reorder_free(b);
        for (i = 0; i < num_bufs; i++) {
-               if (bufs[i] != NULL)
-                       rte_pktmbuf_free(bufs[i]);
+               rte_pktmbuf_free(bufs[i]);
        }
        return ret;
 }
@@ -250,7 +259,7 @@ test_reorder_drain(void)
        for (i = 0; i < num_bufs; i++) {
                bufs[i] = rte_pktmbuf_alloc(p);
                TEST_ASSERT_NOT_NULL(bufs[i], "Packet allocation failed\n");
-               bufs[i]->seqn = i;
+               *rte_reorder_seqn(bufs[i]) = i;
        }
 
        /* Insert packet with seqn 1:
@@ -268,8 +277,7 @@ test_reorder_drain(void)
                ret = -1;
                goto exit;
        }
-       if (robufs[0] != NULL)
-               rte_pktmbuf_free(robufs[0]);
+       rte_pktmbuf_free(robufs[0]);
 
        /* Insert more packets
         * RB[] = {NULL, NULL, NULL, NULL}
@@ -303,8 +311,7 @@ test_reorder_drain(void)
                goto exit;
        }
        for (i = 0; i < 3; i++) {
-               if (robufs[i] != NULL)
-                       rte_pktmbuf_free(robufs[i]);
+               rte_pktmbuf_free(robufs[i]);
        }
 
        /*
@@ -322,10 +329,8 @@ test_reorder_drain(void)
 exit:
        rte_reorder_free(b);
        for (i = 0; i < num_bufs; i++) {
-               if (bufs[i] != NULL)
-                       rte_pktmbuf_free(bufs[i]);
-               if (robufs[i] != NULL)
-                       rte_pktmbuf_free(robufs[i]);
+               rte_pktmbuf_free(bufs[i]);
+               rte_pktmbuf_free(robufs[i]);
        }
        return ret;
 }
@@ -390,4 +395,6 @@ test_reorder(void)
        return unit_test_suite_runner(&reorder_test_suite);
 }
 
+#endif /* !RTE_EXEC_ENV_WINDOWS */
+
 REGISTER_TEST_COMMAND(reorder_autotest, test_reorder);