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