From: Haomai Wang Date: Fri, 5 Aug 2016 07:40:22 +0000 (+0800) Subject: test/test_async_networkstack: add dpdk backend test X-Git-Tag: v11.1.0~368^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=80a705c89e489788b9909a5dd040ebfe063a9e18;p=ceph.git test/test_async_networkstack: add dpdk backend test Signed-off-by: Haomai Wang --- diff --git a/src/test/msgr/CMakeLists.txt b/src/test/msgr/CMakeLists.txt index c0c52945f6d8..6a1b15fdb017 100644 --- a/src/test/msgr/CMakeLists.txt +++ b/src/test/msgr/CMakeLists.txt @@ -20,7 +20,7 @@ add_executable(ceph_test_async_networkstack ) set_target_properties(ceph_test_async_networkstack PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -target_link_libraries(ceph_test_async_networkstack global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${UNITTEST_LIBS}) +target_link_libraries(ceph_test_async_networkstack global ${CRYPTO_LIBS} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${UNITTEST_LIBS}) #ceph_perf_msgr_server add_executable(ceph_perf_msgr_server perf_msgr_server.cc) diff --git a/src/test/msgr/test_async_networkstack.cc b/src/test/msgr/test_async_networkstack.cc index 7fb0e14e6b95..75a4518c2b9b 100644 --- a/src/test/msgr/test_async_networkstack.cc +++ b/src/test/msgr/test_async_networkstack.cc @@ -41,8 +41,21 @@ class NetworkWorkerTest : public ::testing::TestWithParam { NetworkWorkerTest() {} virtual void SetUp() { cerr << __func__ << " start set up " << GetParam() << std::endl; - addr = "127.0.0.1:15000"; - port_addr = "127.0.0.1:15001"; + if (strncmp(GetParam(), "dpdk", 4)) { + g_ceph_context->_conf->set_val("ms_async_transport_type", "posix", false, false); + addr = "127.0.0.1:15000"; + port_addr = "127.0.0.1:15001"; + } else { + g_ceph_context->_conf->set_val("ms_async_transport_type", "dpdk", false, false); + g_ceph_context->_conf->set_val("ms_dpdk_debug_allow_loopback", "true", false, false); + g_ceph_context->_conf->set_val("ms_async_op_threads", "2", false, false); + g_ceph_context->_conf->set_val("ms_dpdk_coremask", "0x7", false, false); + g_ceph_context->_conf->set_val("ms_dpdk_host_ipv4_addr", "172.16.218.3", false, false); + g_ceph_context->_conf->set_val("ms_dpdk_gateway_ipv4_addr", "172.16.218.2", false, false); + g_ceph_context->_conf->set_val("ms_dpdk_netmask_ipv4_addr", "255.255.255.0", false, false); + addr = "172.16.218.3:15000"; + port_addr = "172.16.218.3:15001"; + } stack = NetworkStack::create(g_ceph_context, GetParam()); stack->start(); } @@ -198,6 +211,7 @@ TEST_P(NetworkWorkerTest, SimpleTest) { while (r == -EAGAIN) { ASSERT_TRUE(cb.poll(500)); r = srv_socket.read(buf, sizeof(buf)); + cb.reset(); } ASSERT_EQ(len, r); ASSERT_EQ(0, memcmp(buf, message, len)); @@ -1011,7 +1025,8 @@ class StressFactory { }; TEST_P(NetworkWorkerTest, StressTest) { - StressFactory factory(stack, get_addr(), 16, 16, 10000, 1024, false); + StressFactory factory(stack, get_addr(), 16, 16, 10000, 1024, + strncmp(GetParam(), "dpdk", 4) == 0); StressFactory *f = &factory; exec_events([f](Worker *worker) mutable { f->start(worker); @@ -1024,6 +1039,9 @@ INSTANTIATE_TEST_CASE_P( NetworkStack, NetworkWorkerTest, ::testing::Values( +#ifdef HAVE_DPDK + "dpdk", +#endif "posix" ) );