Signed-off-by: Maxim Uvarov <[email protected]>
---
 test/validation/odp_pktio.c | 105 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 96 insertions(+), 9 deletions(-)

diff --git a/test/validation/odp_pktio.c b/test/validation/odp_pktio.c
index 0ba9938..02c4a7b 100644
--- a/test/validation/odp_pktio.c
+++ b/test/validation/odp_pktio.c
@@ -398,6 +398,90 @@ static void test_odp_pktio_sched_multi(void)
        pktio_test_txrx(ODP_QUEUE_TYPE_SCHED, 4);
 }
 
+static void pktio_test_mtu(void)
+{
+       int i;
+       int ret;
+       int def;
+       odp_pktio_t pktio = create_pktio(iface_name[0]);
+
+       printf("testing mtu for %s\n", iface_name[0]);
+
+       def = odp_pktio_mtu(pktio);
+       CU_ASSERT(def > 0);
+
+       for (i = 9000; i > 100; i /= 2) {
+               printf(" %d ", i);
+
+               ret = odp_pktio_set_mtu(pktio, i);
+               CU_ASSERT(0 == ret);
+
+               ret = odp_pktio_mtu(pktio);
+               CU_ASSERT(i == ret);
+       }
+
+       ret = odp_pktio_set_mtu(pktio, def);
+       CU_ASSERT(0 == ret);
+
+       ret = odp_pktio_close(pktio);
+       CU_ASSERT(ret == 0);
+
+       return;
+}
+
+static void pktio_test_promisc(void)
+{
+       int ret;
+       odp_pktio_t pktio = create_pktio(iface_name[0]);
+
+       printf("testing promisc for %s\n", iface_name[0]);
+
+       ret = odp_pktio_promisc_mode_set(pktio, 1);
+       CU_ASSERT(0 == ret);
+
+       /* Check */
+       ret = odp_pktio_promisc_mode(pktio);
+       CU_ASSERT(1 == ret);
+
+       ret = odp_pktio_promisc_mode_set(pktio, 0);
+       CU_ASSERT(0 == ret);
+
+       /* Check */
+       ret = odp_pktio_promisc_mode(pktio);
+       CU_ASSERT(0 == ret);
+
+       ret = odp_pktio_close(pktio);
+       CU_ASSERT(ret == 0);
+
+       return;
+}
+
+static void pktio_test_mac(void)
+{
+       unsigned char mac_addr[ODPH_ETHADDR_LEN];
+       size_t mac_len;
+       int ret;
+       odp_pktio_t pktio = create_pktio(iface_name[0]);
+
+       printf("testing mac for %s\n", iface_name[0]);
+
+       mac_len = odp_pktio_mac_addr(pktio, mac_addr, ODPH_ETHADDR_LEN);
+       CU_ASSERT(ODPH_ETHADDR_LEN == mac_len);
+
+       printf(" %X:%X:%X:%X:%X:%X ",
+              mac_addr[0], mac_addr[1], mac_addr[2],
+              mac_addr[3], mac_addr[4], mac_addr[5]);
+
+       /* Fail case */
+       mac_len = odp_pktio_mac_addr(pktio, mac_addr, 2);
+       CU_ASSERT(0 == mac_len);
+
+       ret = odp_pktio_close(pktio);
+       CU_ASSERT(ret == 0);
+
+       return;
+}
+
 static void test_odp_pktio_open(void)
 {
        odp_pktio_t pktio[2];
@@ -472,18 +556,21 @@ static int init_pktio_suite(void)
 }
 
 CU_TestInfo pktio_tests[] = {
-       {"pktio open",         test_odp_pktio_open},
-       {"pktio close",        test_odp_pktio_close},
-       {"pktio inq",          test_odp_pktio_inq},
-       {"pktio outq",         test_odp_pktio_outq},
-       {"pktio poll queues",  test_odp_pktio_poll_queue},
-       {"pktio poll multi",   test_odp_pktio_poll_multi},
-       {"pktio sched queues", test_odp_pktio_sched_queue},
-       {"pktio sched multi",  test_odp_pktio_sched_multi},
+       {"pktio open",          test_odp_pktio_open},
+       {"pktio close",         test_odp_pktio_close},
+       {"pktio inq",           test_odp_pktio_inq},
+       {"pktio outq",          test_odp_pktio_outq},
+       {"pktio poll queues",   test_odp_pktio_poll_queue},
+       {"pktio poll multi",    test_odp_pktio_poll_multi},
+       {"pktio sched queues",  test_odp_pktio_sched_queue},
+       {"pktio sched multi",   test_odp_pktio_sched_multi},
+       {"pktio mtu",           pktio_test_mtu},
+       {"pktio promisc mode",  pktio_test_promisc},
+       {"pktio mac",           pktio_test_mac},
        CU_TEST_INFO_NULL
 };
 
 CU_SuiteInfo odp_testsuites[] = {
-       {"odp_pktio", init_pktio_suite, NULL, NULL, NULL, pktio_tests},
+       {"Packet I/O", init_pktio_suite, NULL, NULL, NULL, pktio_tests},
        CU_SUITE_INFO_NULL
 };
-- 
1.8.5.1.163.gd7aced9


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to