app/test: check for mbuf allocation failure
[dpdk.git] / app / test / test_table_acl.c
index 5bcc8b8..e4e9b9c 100644 (file)
@@ -31,8 +31,6 @@
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifdef RTE_LIBRTE_ACL
-
 #include <rte_hexdump.h>
 #include "test_table.h"
 #include "test_table_acl.h"
@@ -515,7 +513,12 @@ test_pipeline_single_filter(int expected_count)
                        struct rte_mbuf *mbuf;
 
                        mbuf = rte_pktmbuf_alloc(pool);
-                       memset(mbuf->pkt.data, 0x00,
+                       if (mbuf == NULL)
+                               /* this will cause test failure after cleanup
+                                * of already enqueued mbufs, as the mbuf
+                                * counts won't match */
+                               break;
+                       memset(rte_pktmbuf_mtod(mbuf, char *), 0x00,
                                sizeof(struct ipv4_5tuple));
 
                        five_tuple.proto = j;
@@ -524,7 +527,7 @@ test_pipeline_single_filter(int expected_count)
                        five_tuple.port_src = rte_bswap16(100 + j);
                        five_tuple.port_dst = rte_bswap16(200 + j);
 
-                       memcpy(mbuf->pkt.data, &five_tuple,
+                       memcpy(rte_pktmbuf_mtod(mbuf, char *), &five_tuple,
                                sizeof(struct ipv4_5tuple));
                        RTE_LOG(INFO, PIPELINE, "%s: Enqueue onto ring %d\n",
                                __func__, i);
@@ -551,7 +554,8 @@ test_pipeline_single_filter(int expected_count)
                        printf("Got %d object(s) from ring %d!\n", ret, i);
                        for (j = 0; j < ret; j++) {
                                mbuf = (struct rte_mbuf *)objs[j];
-                               rte_hexdump(stdout, "mbuf", mbuf->pkt.data, 64);
+                               rte_hexdump(stdout, "mbuf",
+                                       rte_pktmbuf_mtod(mbuf, char *), 64);
                                rte_pktmbuf_free(mbuf);
                        }
                        tx_count += ret;
@@ -587,5 +591,3 @@ test_table_ACL(void)
 
        return 0;
 }
-
-#endif