X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_kni.c;h=7243ade100cf5c385b60f0d07f257b2c96169d86;hb=a59ffe7eb952b5777419e880cb4330bb86f8d8ad;hp=962bfad18c5f94167f9d75cab64b687cff22c300;hpb=6f41fe75e2dd8dd38f7bea7b9501edd4f9b72fa5;p=dpdk.git diff --git a/app/test/test_kni.c b/app/test/test_kni.c index 962bfad18c..7243ade100 100644 --- a/app/test/test_kni.c +++ b/app/test/test_kni.c @@ -39,7 +39,6 @@ #include "test.h" -#ifdef RTE_LIBRTE_KNI #include #include #include @@ -48,8 +47,7 @@ #define NB_MBUF 8192 #define MAX_PACKET_SZ 2048 -#define MBUF_SZ \ - (MAX_PACKET_SZ + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM) +#define MBUF_DATA_SZ (MAX_PACKET_SZ + RTE_PKTMBUF_HEADROOM) #define PKT_BURST_SZ 32 #define MEMPOOL_CACHE_SZ PKT_BURST_SZ #define SOCKET 0 @@ -59,7 +57,7 @@ #define IFCONFIG "/sbin/ifconfig " #define TEST_KNI_PORT "test_kni_port" - +#define KNI_TEST_MAX_PORTS 4 /* The threshold number of mbufs to be transmitted or received. */ #define KNI_NUM_MBUF_THRESHOLD 100 static int kni_pkt_mtu = 0; @@ -119,17 +117,10 @@ test_kni_create_mempool(void) mp = rte_mempool_lookup("kni_mempool"); if (!mp) - mp = rte_mempool_create("kni_mempool", + mp = rte_pktmbuf_pool_create("kni_mempool", NB_MBUF, - MBUF_SZ, - MEMPOOL_CACHE_SZ, - sizeof(struct rte_pktmbuf_pool_private), - rte_pktmbuf_pool_init, - NULL, - rte_pktmbuf_init, - NULL, - SOCKET, - 0); + MEMPOOL_CACHE_SZ, 0, MBUF_DATA_SZ, + SOCKET); return mp; } @@ -246,7 +237,7 @@ test_kni_allocate_lcores(void) } printf("count: %u\n", count); - return (count == 2 ? 0 : -1); + return count == 2 ? 0 : -1; } static int @@ -407,17 +398,6 @@ test_kni_processing(uint8_t port_id, struct rte_mempool *mp) printf("fail to create kni\n"); return -1; } - if (rte_kni_get_port_id(kni) != port_id) { - printf("fail to get port id\n"); - ret = -1; - goto fail_kni; - } - - if (rte_kni_info_get(RTE_MAX_ETHPORTS)) { - printf("Unexpectedly get a KNI successfully\n"); - ret = -1; - goto fail_kni; - } test_kni_ctx = kni; test_kni_processing_flag = 0; @@ -488,7 +468,7 @@ fail_kni: return ret; } -int +static int test_kni(void) { int ret = -1; @@ -499,6 +479,9 @@ test_kni(void) struct rte_eth_dev_info info; struct rte_kni_ops ops; + /* Initialize KNI subsytem */ + rte_kni_init(KNI_TEST_MAX_PORTS); + if (test_kni_allocate_lcores() < 0) { printf("No enough lcores for kni processing\n"); return -1; @@ -509,11 +492,6 @@ test_kni(void) printf("fail to create mempool for kni\n"); return -1; } - ret = rte_eal_pci_probe(); - if (ret < 0) { - printf("fail to probe PCI devices\n"); - return -1; - } nb_ports = rte_eth_dev_count(); if (nb_ports == 0) { @@ -602,14 +580,6 @@ test_kni(void) goto fail; } - /* test of getting port id according to NULL kni context */ - if (rte_kni_get_port_id(NULL) < RTE_MAX_ETHPORTS) { - ret = -1; - printf("unexpectedly get port id successfully by NULL kni " - "pointer\n"); - goto fail; - } - /* test of releasing NULL kni context */ ret = rte_kni_release(NULL); if (ret == 0) { @@ -655,23 +625,6 @@ test_kni(void) "a never used name string\n"); goto fail; } - - /* test the interface of creating a KNI, for backward compatibility */ - memset(&ops, 0, sizeof(ops)); - ops = kni_ops; - kni = rte_kni_create(port_id, MAX_PACKET_SZ, mp, &ops); - if (!kni) { - ret = -1; - printf("Fail to create a KNI device for port %d\n", port_id); - goto fail; - } - - ret = rte_kni_release(kni); - if (ret < 0) { - printf("Fail to release a KNI device\n"); - goto fail; - } - ret = 0; fail: @@ -680,13 +633,8 @@ fail: return ret; } -#else /* RTE_LIBRTE_KNI */ - -int -test_kni(void) -{ - printf("The KNI library is not included in this build\n"); - return 0; -} - -#endif /* RTE_LIBRTE_KNI */ +static struct test_command kni_cmd = { + .command = "kni_autotest", + .callback = test_kni, +}; +REGISTER_TEST_COMMAND(kni_cmd);