aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMaxim Uvarov <maxim.uvarov@linaro.org>2014-12-18 14:26:28 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2014-12-22 18:14:43 +0300
commit798031917802eeba232a9a1cde7bc92e791b0e64 (patch)
treeaf6affb54aa7a17ab922738a9309fea99e86de1b /test
parentd3ab1869515fc15ef53de8558872df1e7e56bb3f (diff)
validation: pktio: add mac, promisc and mtu tests
Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'test')
-rw-r--r--test/validation/odp_pktio.c89
1 files changed, 80 insertions, 9 deletions
diff --git a/test/validation/odp_pktio.c b/test/validation/odp_pktio.c
index f7dc80b09..ea721a869 100644
--- a/test/validation/odp_pktio.c
+++ b/test/validation/odp_pktio.c
@@ -403,6 +403,74 @@ static void test_odp_pktio_sched_multi(void)
pktio_test_txrx(ODP_QUEUE_TYPE_SCHED, 4);
}
+static void test_odp_pktio_mtu(void)
+{
+ int ret;
+ int mtu;
+ odp_pktio_t pktio = create_pktio(iface_name[0]);
+
+ mtu = odp_pktio_mtu(pktio);
+ CU_ASSERT(mtu > 0);
+
+ printf(" %d ", mtu);
+
+ ret = odp_pktio_close(pktio);
+ CU_ASSERT(ret == 0);
+
+ return;
+}
+
+static void test_odp_pktio_promisc(void)
+{
+ int ret;
+ odp_pktio_t pktio = create_pktio(iface_name[0]);
+
+ ret = odp_pktio_promisc_mode_set(pktio, 1);
+ CU_ASSERT(0 == ret);
+
+ /* Verify that promisc mode set */
+ ret = odp_pktio_promisc_mode(pktio);
+ CU_ASSERT(1 == ret);
+
+ ret = odp_pktio_promisc_mode_set(pktio, 0);
+ CU_ASSERT(0 == ret);
+
+ /* Verify that promisc mode is not set */
+ ret = odp_pktio_promisc_mode(pktio);
+ CU_ASSERT(0 == ret);
+
+ ret = odp_pktio_close(pktio);
+ CU_ASSERT(ret == 0);
+
+ return;
+}
+
+static void test_odp_pktio_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: wrong addr_size. Expected 0. */
+ mac_len = odp_pktio_mac_addr(pktio, mac_addr, 2);
+ CU_ASSERT(0 == mac_len);
+
+ ret = odp_pktio_close(pktio);
+ CU_ASSERT(0 == ret);
+
+ return;
+}
+
static void test_odp_pktio_open(void)
{
odp_pktio_t pktio;
@@ -483,19 +551,22 @@ static int term_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", test_odp_pktio_mtu},
+ {"pktio promisc mode", test_odp_pktio_promisc},
+ {"pktio mac", test_odp_pktio_mac},
CU_TEST_INFO_NULL
};
CU_SuiteInfo odp_testsuites[] = {
- {"odp_pktio",
+ {"Packet I/O",
init_pktio_suite, term_pktio_suite, NULL, NULL, pktio_tests},
CU_SUITE_INFO_NULL
};