app/test: convert all tests to register system
[dpdk.git] / app / test / test_kni.c
index 5ed5045..60683d2 100644 (file)
@@ -1,13 +1,13 @@
 /*-
  *   BSD LICENSE
- * 
- *   Copyright(c) 2010-2013 Intel Corporation. All rights reserved.
+ *
+ *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
  *   All rights reserved.
- * 
+ *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
  *   are met:
- * 
+ *
  *     * Redistributions of source code must retain the above copyright
  *       notice, this list of conditions and the following disclaimer.
  *     * Redistributions in binary form must reproduce the above copyright
@@ -17,7 +17,7 @@
  *     * Neither the name of Intel Corporation nor the names of its
  *       contributors may be used to endorse or promote products derived
  *       from this software without specific prior written permission.
- * 
+ *
  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -37,8 +37,6 @@
 #include <string.h>
 #include <sys/wait.h>
 
-#include <cmdline_parse.h>
-
 #include "test.h"
 
 #ifdef RTE_LIBRTE_KNI
@@ -146,7 +144,7 @@ static int
 kni_change_mtu(uint8_t port_id, unsigned new_mtu)
 {
        printf("Change MTU of port %d to %u\n", port_id, new_mtu);
-       kni_pkt_mtu = new_mtu;  
+       kni_pkt_mtu = new_mtu;
        printf("Change MTU of port %d to %i successfully.\n",
                                         port_id, kni_pkt_mtu);
        return 0;
@@ -210,6 +208,7 @@ test_kni_loop(__rte_unused void *arg)
                                        rte_pktmbuf_free(pkts_burst[i]);
                                }
                        }
+                       rte_delay_ms(10);
                }
        } else if (lcore_id == lcore_egress) {
                while (1) {
@@ -220,6 +219,7 @@ test_kni_loop(__rte_unused void *arg)
                        stats.egress += num;
                        for (nb_tx = 0; nb_tx < num; nb_tx++)
                                rte_pktmbuf_free(pkts_burst[nb_tx]);
+                       rte_delay_ms(10);
                }
        }
 
@@ -390,7 +390,7 @@ test_kni_processing(uint8_t port_id, struct rte_mempool *mp)
        rte_eth_dev_info_get(port_id, &info);
        conf.addr = info.pci_dev->addr;
        conf.id = info.pci_dev->id;
-       rte_snprintf(conf.name, sizeof(conf.name), TEST_KNI_PORT);
+       snprintf(conf.name, sizeof(conf.name), TEST_KNI_PORT);
 
        /* core id 1 configured for kernel thread */
        conf.core_id = 1;
@@ -458,7 +458,7 @@ test_kni_processing(uint8_t port_id, struct rte_mempool *mp)
                return -1;
        }
        test_kni_ctx = NULL;
-       
+
        /* test of releasing a released kni device */
        if (rte_kni_release(kni) == 0) {
                printf("should not release a released kni device\n");
@@ -477,7 +477,7 @@ test_kni_processing(uint8_t port_id, struct rte_mempool *mp)
                printf("fail to release kni\n");
                return -1;
        }
-       
+
        return ret;
 fail_kni:
        if (rte_kni_release(kni) < 0) {
@@ -488,7 +488,7 @@ fail_kni:
        return ret;
 }
 
-int
+static int
 test_kni(void)
 {
        int ret = -1;
@@ -509,11 +509,6 @@ test_kni(void)
                printf("fail to create mempool for kni\n");
                return -1;
        }
-       ret = rte_pmd_init_all();
-       if (ret < 0) {
-               printf("fail to initialize PMD\n");
-               return -1;
-       }
        ret = rte_eal_pci_probe();
        if (ret < 0) {
                printf("fail to probe PCI devices\n");
@@ -652,7 +647,7 @@ test_kni(void)
 
        /* test of getting KNI device with an invalid string name */
        memset(&conf, 0, sizeof(conf));
-       rte_snprintf(conf.name, sizeof(conf.name), "testing");
+       snprintf(conf.name, sizeof(conf.name), "testing");
        kni = rte_kni_get(conf.name);
        if (kni) {
                ret = -1;
@@ -685,13 +680,9 @@ fail:
        return ret;
 }
 
-#else /* RTE_LIBRTE_KNI */
-
-int
-test_kni(void)
-{
-       printf("The KNI library is not included in this build\n");
-       return 0;
-}
-
+static struct test_command kni_cmd = {
+       .command = "kni_autotest",
+       .callback = test_kni,
+};
+REGISTER_TEST_COMMAND(kni_cmd);
 #endif /* RTE_LIBRTE_KNI */