On Wed, Dec 17, 2014 at 6:30 PM, Stuart Haslam <stuart.has...@arm.com> wrote: > > On Wed, Dec 17, 2014 at 10:41:52PM +0000, Maxim Uvarov wrote: > > Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org> > > --- > > 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]); > > This printf isn't needed, cunit tells you which test is being run, same > with the others below. > > > + > > + def = odp_pktio_mtu(pktio); > > + CU_ASSERT(def > 0); > > + > > + for (i = 9000; i > 100; i /= 2) { > > I don't think support for jumbo frames should be mandatory. > > I can't think of any 1Gb or higher NIC/SoC that doesn't support jumbo frames. This is pretty standard for higher data rate I/O these days, so no harm in verifying that here.
> > + printf(" %d ", i); > > + > > + ret = odp_pktio_set_mtu(pktio, i); > > + CU_ASSERT(0 == ret); > > + > > + ret = odp_pktio_mtu(pktio); > > + CU_ASSERT(i == ret); > > + } > > + > > This is only really testing that the APIs can be called without blowing > up, to test it properly you need to send packets and check their size is > limited to the MTU. That can be added later though. > > > + 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); > > + > > Not actually checking that enabling/disabling promiscuous mode actually > does anything. Again could be added later. > > > + 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 > > > > -- > Stuart. > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp >
_______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org http://lists.linaro.org/mailman/listinfo/lng-odp