From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0082.outbound.protection.outlook.com [104.47.34.82]) by dpdk.org (Postfix) with ESMTP id AF7A7F72 for ; Fri, 17 Aug 2018 13:55:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sfeZLj6N/S8oPpIx5RFkm2+8wRAI/EfuTOfImAhSKZs=; b=D3m23Y6S+d5x0awKwwI6GdYFQya34D1SUv7Igd1TUm8hb/OJoNj/SUSazCAhzjJQSGvB6I8QUSoGVjbf+3HzJ7WRKwLNpLPuLfOwD8G7Bhzs6q+Rd6QP+A5ejN0gpgNpaNaCmsBcuK/TQTzfSUIr7McqrwvsEoaDuxl8lay12eY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from ltp-pvn (111.93.218.67) by BYAPR07MB4966.namprd07.prod.outlook.com (2603:10b6:a03:5b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.21; Fri, 17 Aug 2018 11:55:26 +0000 Date: Fri, 17 Aug 2018 17:25:16 +0530 From: Pavan Nikhilesh To: Nikhil Rao , jerin.jacob@caviumnetworks.com, olivier.matz@6wind.com Cc: dev@dpdk.org Message-ID: <20180817115515.GA4360@ltp-pvn> References: <1534479652-80182-1-git-send-email-nikhil.rao@intel.com> <1534479652-80182-4-git-send-email-nikhil.rao@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1534479652-80182-4-git-send-email-nikhil.rao@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BYAPR01CA0006.prod.exchangelabs.com (2603:10b6:a02:80::19) To BYAPR07MB4966.namprd07.prod.outlook.com (2603:10b6:a03:5b::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 94ea8d34-092e-4689-0281-08d604385360 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BYAPR07MB4966; X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4966; 3:Z80rLDFfEAiPYb1qnPU6GwYF8UniszBoTh3V2abVcWdYLoERG+Z/I/t0YYeUhJMhprFPKuHX0z8x63Vh2JLUy1dwANTTFT69mE8jBIU7OLry1EYEjsxR98wnT4evTg6byntYo0IK0VV2DtIMkzgmzUziIyfGQGShgpTSCMs8eOsAz02Lt/ME6XxjvOH6FdFMshINzilPB5TW9XkHYGvcTqxppnUIQRhodmfyKTRqJ25jF3JTnaKeA07sQ+xjruk1; 25:jV9kCyS+5sh2SKwX2QWQwGkM2S8LlAp8/dmhuC/k+ozPXWOrEbEx8elMVfg43gkilU94kJSf9ttGj+CW5lA4BudZiNb41EAoTnCOBdkZHa9Yhhn3Dm98pGnQ+cvn0aY9pUr2K8wGpskKMFJNL5tboKscS9k4pH0QJMHomJqpIomRomgMOjrTAakGlLui4G5cqQ6ZqLLxcy7jI4dAbqGnxBPuh3nupOiD6k6Pw0QlJo6YE4KKc9R3B+g+FIYaVSoPefKG8rnMhQJ74vwad7gdcqrNzfsY1RXebF/gCFTHuCOSYqKpKMLL5ianTcaRlFIAxiJ4FUq9SWHEQ4DA3oM7jg==; 31:hotemDdFU+ehslbXEPCd25GlHaB26Kg1nhbozqcXoRemQmaAcuy9D4MPJ751oTrbR6uuB1oh81eQwT6YDg7MRljMGsPd3bVKOHWK4BvW2cqc1/T7yJILF3/ALm7k9plf0wxapnZslkpU9J13Nq9EjO9WTiG/14CjUMvWupcOyeh9Wq5vlrYu+76chB/pahzpnV+egZs9/Q/feW5bSSFbvjn9irluz/KWl7WchwZOht0= X-MS-TrafficTypeDiagnostic: BYAPR07MB4966: X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4966; 20:aA5ojzq7RpIxHxP4X1CsDFwiQkTI4f7KXaVQS35huAub+lxJ7xcZiE6coHJzKaw5JB1qc5kNi/wilR8q9VzHx3Zw+g470njFRr0EdN1cfyF2QLI5jOQprYrkNqJHXTrz+AYCuTttkcPOznHWyD2vyNfCcKZ2AGdXqQJYEAs/VKScGJMcmG8L1PvmWoiyPer6krMzDFIzLwTjGCuYDDLhxnfUVgqKKp/noBRzrngTc9bBvMCciDEA6i/FyQxdC02ca9nv7xhEBeI7ZNN1IpcBwvikQiumrzpWEVtxBMqxJnoOz4TUrfLyMj36C5aS+WL4uBDvXTPZeZtHgrUrO34IgoRAljMjOm+i1WeGQUsfVxaHj1hC6ZNeJ0mwWdVnBy3tniyoMsYtHfgMbd/rc1R1wXg734lybMfQSzp921JpdwGb07yobGo28wNmS52jmWK2cRmqp8PWvm+gD/9/SITWOw8YBNVlwUiSQPbNroLQyOLDBCWtThbsExpKQW52V43w57y8WZSCwqoPDUSr25lfQc+cb9weC3Pq/08mmUEq0F6pdJhbOPhBNDC5+OjUKUeKLNQaD7DKiQEAS6s6V8nEk7ENTVYltRo5ENKbEUCsVVE=; 4:a5NCa04ih2ViqL/iYxdKVuT+e6N8NbrppP76KtenLST763YkKzhWaCEwfBm+GB+bYPrhvvWeTkaEMJsErLlZyngUYWwfxY8eYtOGy99LFOvCkvgZ/byCZpWPv6qtrFppvp0d1aJYTXwMkxOkQclLN10jWDVe163nNCZyIR1p6ALTRzlHUGumCNLMiU/nocyeSuYDjKI1C6csUS7WA2ilwJE7E/udSq0w6x1sWoJKRy06pLcHBFZ5wXzJKRt2uZtOpEnC7jc0LOfG7PKHLNoBjW2YDvuQ7e4OUUQpUMpRCIgmjJ9fgZhqIOD/bqGRZQaa X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(3231311)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699016); SRVR:BYAPR07MB4966; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB4966; X-Forefront-PRVS: 076777155F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(366004)(39860400002)(136003)(376002)(396003)(189003)(199004)(14444005)(8676002)(7736002)(52116002)(305945005)(76176011)(81166006)(47776003)(66066001)(446003)(53936002)(16586007)(81156014)(58126008)(68736007)(316002)(1076002)(25786009)(8936002)(6116002)(55016002)(3846002)(11346002)(486006)(42882007)(956004)(6246003)(476003)(229853002)(33896004)(4326008)(23726003)(9686003)(6496006)(5009440100003)(5660300001)(72206003)(6306002)(478600001)(6666003)(33716001)(26005)(186003)(386003)(33656002)(16526019)(97736004)(105586002)(106356001)(50466002)(2906002)(18370500001)(107986001)(42262002); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB4966; H:ltp-pvn; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BYAPR07MB4966; 23:gULaDZFzaKidJiy7x138QO4pJSo2U/tx8wwRbS4Dc?= =?us-ascii?Q?7WKjDWb1+d47Vlg8psp961bjZNRXjHs5u40hWriH3+J9kRxVztyDueMGNYdS?= =?us-ascii?Q?+qjAHvB5OBFQi5yugKIfCzwsaa223Y2b3wHIMiwGeTtoA3ZPklVCA3DAHSeg?= =?us-ascii?Q?GjhJG1Kgl5/6iu5UAYJeoc8/zTqvZ7O0e/AKSrrBmUT/xQ4FyGQZ3An7JEBN?= =?us-ascii?Q?NGqtAnGHyXUPzt61VAoy3gvcrlH/ftMzs0/tLuD4gK+RhiiaHwG2EcTOwZsU?= =?us-ascii?Q?/MzcgEJ8TCr9wh1J3WdHwObrX5V9jq3NvrycxC5fyZcTZavBmDmjMsHAdCwe?= =?us-ascii?Q?NgndTyHgJit/pgRd34E7jnXznYA+9o/o/Vjbz2K2cEfvem26PTnT6Qm2tNbr?= =?us-ascii?Q?XHbl6g/6Hy5yDHiR/xeYqiGbJAfCiGCyGAynSn9vhfpCCbJ3qSKJXpFo7y/D?= =?us-ascii?Q?lmfEkbpy3j1ayE9sndYI45wCWGr5pEuSe/NE5GgM042Z4Z7ShRYOjvuubYI/?= =?us-ascii?Q?jqvpN9w9OxxhgzpznFGmBP9nWml/+Qr8oYuBzuQ/NX3a3lQTXTwdfbl3wA/Z?= =?us-ascii?Q?cq0GJaMVryG4nCwqF3Mc2Ph+n9sBxE8WljRSS/czfazR7qSUNcxtipgxZYc9?= =?us-ascii?Q?wPdONiwOGAVvLLUBTmlci/YnLY5txvvacqN3fIG3Hi0Opnd0wyV6xFwimXuB?= =?us-ascii?Q?yCBQegkxHYajysthM1kxIkmeUNbg/9L+rWNmgo6Skl5c/z7LKiWn2HxrXyLT?= =?us-ascii?Q?c12dBfvNdvTcCYHu9PBZfVL/5xs+TDZkgsoH0NBNzUbToJ5hsHwCDlkiBUUx?= =?us-ascii?Q?+A/v4sWBbJIlc3+uK+puZ9g9jmQgiQpuLUNs3V3kLwzLxsXRpOjpeb/IoBn4?= =?us-ascii?Q?9XfCMS7pB9v8UWlnpJjDc/x29wXZSB4PLo3BUrvE99E7PEbRFOHnDC2xmEzY?= =?us-ascii?Q?KdVisJ/yjGEvBJIy6eijEQAVr2T388G5DcBGcrjM3oxtmtEe7ALUNKOvpABR?= =?us-ascii?Q?avH4xlvg9m0lDI+55TWoCxzizgrie6uQuv5KEJX4IKaa/NVZ+asuUs0tQ/rs?= =?us-ascii?Q?wyeFzsCsA7Gcz0tVodVvytxHGtTAV9F4TZ81g8KkmcZMe29JliMhRELTOanK?= =?us-ascii?Q?TAWOEvFV5egyTtEVVBwO/3v55nMwQVsH7j+tm5o5nHUKoPGjfxND2vM+AryN?= =?us-ascii?Q?Xbp4oALfoeHYShoHCNBYvLEmmRtLR7RvP2FYRenutEVYaxrUeLoh4tHrEPF5?= =?us-ascii?Q?kisxvu7VlHyVbRpP5znlV9/rEItoQdKTsmMYqrjxbFWsJ2Ue/2mBYeDUVdmb?= =?us-ascii?Q?YdMLe69gMuDrpQHAP9mB+qOtW5xDYnjjRkMBWSik/FDE7h4t8cXuUvw8y00O?= =?us-ascii?Q?qoEozWPA2iBp6psKzDzoZrwM/Y=3D?= X-Microsoft-Antispam-Message-Info: PoTR/zOHb/Pl9wZ0WJkcdL2EG8MkVPMDBeCcAv/zrF/teSQaRc2ddFDpXf3k2nYpTlu5+Y5KiZUwVdvZwoIHIG5JJFJa6XmHxJz34faGHL3J2MvzViCONzR+qjDQ+3Sw6WjflJH+Zxz/64wWqr3izCXWuwTMWgrSgVPY8QwZ5DMKNVvnxEvP6i4zcfehOdLI9Gx/U4c47ggufI4dNpmaZD8tHEoB8Er3zBdHVkg9HCMy/CqIwxZTYm9ZjLE2HGI54bepQFHjvSeiJxtXMM03+3hvj1jx6VTVbXxxPlYIDAAo+rYvRotGNcejXhbOReW5U8Tv98Zu9s80gVFsz6BCpgZbjqWun4HUj1l/MHL38wM= X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4966; 6:cDuPiihEwNlyXQUYQ8S5O4KKzDoJpU1uz1bog01gH5x6erGaZ735ROR7IdrebwSgIvlah2eHZDfQQVhSZLfZ73SOrYU5GjYiTKjDSaULFYsaNrNeIKU12i+s5AKxXJeIllpYfsGtMYGqxSsLIbZWcEXwv6ZQ05l7zxvLsm9cWQvtwPs2IF2H3S7qP4xOZ97Jl3rXCxb+0LmahvGGhNnh7CRdSfRO8VjCYsbswe4x5qqbRQeGH3xPvsMy4Pktn84Z4nJ9zRvm9fulTdvKsdqGsRVyA5McadVnYrti1b8JQykg0I/i3Q7BMwgRUcN+0cl1s0uTDgj0X3q7XFJvcOKuv85m+z0MkKGCEb6D08T2/2+QAXmR1ji5eTMAsSRtNaJ+Zf1eMQp87y0ZbC/Ex6HF+3J2E1ASc5ZaO8qWLUUU3wGKEHSLJMpEIyrCsdEAOJqE57ZL0zF2X943+Ofo1R8ZuA==; 5:7BRgV5CSAdlhEuFJ9IxLKQOTRLYHPtZQs2EvsmempJ3LGT2qb+Za8Wcmru8rWQDe6ETLEf+7ctEHnCG3elzL187vsOsCax0WVgGMz9qLRT0kcCj99q+u6IYync5XgpPXbAYJDzRgu4FsCOY5hVyrB+Go8p90ZiFOHmZww355WRA=; 7:kVhrXC0wzPBlJ1ZdND8c0ZFK8cWB1xTyLN+k+dyVL0rf72h7nnV1f8TmjaO4x3obchJIjnrKExz5ospd9fyZshuhF1jzYE9SqMZ2uq6DK6DtkZc8DQX3HJTKKu1d0mcjkplrdLNCOMZiukZKTl1+fb55m3nufgCY7NZfLt1XON9QC9hnd6A1IJ9Quf0ntfL/3we4iSv7pU04p4CCZ4+F0sL71Aq2aeZFbi6h6Ewiv9Sc6isTdMvhKFVpZdkHizeN SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2018 11:55:26.9859 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94ea8d34-092e-4689-0281-08d604385360 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB4966 Subject: Re: [dpdk-dev] [PATCH v2 4/4] eventdev: add auto test for eth Tx adapter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Aug 2018 11:55:31 -0000 Hi Nikhil, Few comments inline. Nit: Please use --in-reply-to while sending next versions. (https://core.dpdk.org/contribute/) Thanks, Pavan On Fri, Aug 17, 2018 at 09:50:52AM +0530, Nikhil Rao wrote: > > This patch adds tests for the eth Tx adapter APIs. It also > tests the data path for the rte_service function based > implementation of the APIs. > > Signed-off-by: Nikhil Rao > --- > test/test/test_event_eth_tx_adapter.c | 676 ++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > test/test/Makefile | 1 + > test/test/meson.build | 2 + > 4 files changed, 680 insertions(+) > create mode 100644 test/test/test_event_eth_tx_adapter.c > > diff --git a/test/test/test_event_eth_tx_adapter.c b/test/test/test_event_eth_tx_adapter.c > new file mode 100644 > index 0000000..2dc487b > --- /dev/null > +++ b/test/test/test_event_eth_tx_adapter.c > +static int > +testsuite_setup(void) > +{ > + int err; > + uint8_t count; > + struct rte_event_dev_info dev_info; > + uint8_t priority; > + uint8_t queue_id; > + > + count = rte_event_dev_count(); > + if (!count) { > + printf("Failed to find a valid event device," > + " testing with event_sw0 device\n"); > + rte_vdev_init("event_sw0", NULL); > + event_dev_delete = 1; > + } > + > + struct rte_event_dev_config config = { > + .nb_event_queues = 1, > + .nb_event_ports = 1, > + }; > + > + struct rte_event_queue_conf wkr_q_conf = { > + .schedule_type = RTE_SCHED_TYPE_ORDERED, > + .priority = RTE_EVENT_DEV_PRIORITY_NORMAL, > + .nb_atomic_flows = 1024, > + .nb_atomic_order_sequences = 1024, > + }; > + > + err = rte_event_dev_info_get(TEST_DEV_ID, &dev_info); > + config.nb_event_queue_flows = dev_info.max_event_queue_flows; > + config.nb_event_port_dequeue_depth = > + dev_info.max_event_port_dequeue_depth; > + config.nb_event_port_enqueue_depth = > + dev_info.max_event_port_enqueue_depth; > + config.nb_events_limit = > + dev_info.max_num_events; > + > + rte_log_set_level(0, RTE_LOG_DEBUG); > + err = rte_event_dev_configure(TEST_DEV_ID, &config); > + TEST_ASSERT(err == 0, "Event device initialization failed err %d\n", > + err); > + if (rte_event_queue_setup(TEST_DEV_ID, 0, &wkr_q_conf) < 0) { > + printf("%d: error creating qid %d\n", __LINE__, 0); > + return -1; > + } > + if (rte_event_port_setup(TEST_DEV_ID, 0, NULL) < 0) { > + printf("Error setting up port %d\n", 0); > + return -1; > + } > + > + priority = RTE_EVENT_DEV_PRIORITY_LOWEST; queue_id is uninitilized here, garbage value might be passed. > + if (rte_event_port_link(TEST_DEV_ID, 0, &queue_id, &priority, 1) != 1) { > + printf("Error linking port\n"); > + return -1; > + } > + > + err = init_ports(); > + TEST_ASSERT(err == 0, "Port initialization failed err %d\n", err); > + > + err = rte_event_eth_tx_adapter_caps_get(TEST_DEV_ID, TEST_ETHDEV_ID, > + &default_params.caps); > + TEST_ASSERT(err == 0, "Failed to get adapter cap err %d\n", > + err); > + > + return err; > +} > + > +static uint32_t eid, tid; > + > +static int > +tx_adapter_single(uint16_t port, uint16_t tx_queue_id, > + struct rte_mbuf *m, uint8_t qid, > + uint8_t sched_type) > +{ > + struct rte_event event; > + struct rte_mbuf *r; > + int ret; > + unsigned int l; > + > + event.queue_id = qid; Set event_type to RTE_EVENT_TYPE_CPU so that underlying drivers don't mess up the packet. > + event.op = RTE_EVENT_OP_NEW; > + event.sched_type = sched_type; > + event.mbuf = m; > + > + > +static int > +tx_adapter_service(void) > +{ > + struct rte_event_eth_tx_adapter_stats stats; > + uint32_t i; > + int err; > + uint8_t ev_port, ev_qid; > + struct rte_mbuf bufs[RING_SIZE]; > + struct rte_mbuf *pbufs[RING_SIZE]; > + struct rte_event_dev_info dev_info; > + struct rte_event_dev_config dev_conf; > + struct rte_event_queue_conf qconf; > + uint32_t qcnt, pcnt; > + uint16_t q; > + int internal_port; > + > + err = rte_event_eth_tx_adapter_caps_get(TEST_DEV_ID, TEST_ETHDEV_ID, > + &default_params.caps); > + TEST_ASSERT(err == 0, "Failed to get adapter cap err %d\n", > + err); > + > + internal_port = !!(default_params.caps & > + RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT); > + > + if (internal_port) > + return TEST_SUCCESS; > + > + err = rte_event_eth_tx_adapter_queue_add(TEST_INST_ID, TEST_ETHDEV_ID, > + -1); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); > + > + err = rte_event_eth_tx_adapter_event_port_get(TEST_INST_ID, > + &ev_port); > + TEST_ASSERT_SUCCESS(err, "Failed to get event port %d", err); > + > + err = rte_event_dev_attr_get(TEST_DEV_ID, RTE_EVENT_DEV_ATTR_PORT_COUNT, > + &pcnt); > + TEST_ASSERT_SUCCESS(err, "Port count get failed"); > + > + err = rte_event_dev_attr_get(TEST_DEV_ID, > + RTE_EVENT_DEV_ATTR_QUEUE_COUNT, &qcnt); > + TEST_ASSERT_SUCCESS(err, "Queue count get failed"); > + > + err = rte_event_dev_info_get(TEST_DEV_ID, &dev_info); > + TEST_ASSERT_SUCCESS(err, "Dev info failed"); > + memset dev_config to avoid invalid values. > + dev_conf.nb_event_queue_flows = dev_info.max_event_queue_flows; > + dev_conf.nb_event_port_dequeue_depth = > + dev_info.max_event_port_dequeue_depth; > + dev_conf.nb_event_port_enqueue_depth = > + dev_info.max_event_port_enqueue_depth; > + dev_conf.nb_events_limit = > + dev_info.max_num_events; > + dev_conf.nb_event_queues = qcnt + 1; > + dev_conf.nb_event_ports = pcnt; > + err = rte_event_dev_configure(TEST_DEV_ID, &dev_conf); > + TEST_ASSERT(err == 0, "Event device initialization failed err %d\n", > + err); > + > + ev_qid = qcnt; > + qconf.nb_atomic_flows = dev_info.max_event_queue_flows; > + qconf.nb_atomic_order_sequences = 32; > + qconf.schedule_type = RTE_SCHED_TYPE_ATOMIC; > + qconf.priority = RTE_EVENT_DEV_PRIORITY_HIGHEST; > + qconf.event_queue_cfg = RTE_EVENT_QUEUE_CFG_SINGLE_LINK; > + err = rte_event_queue_setup(TEST_DEV_ID, ev_qid, &qconf); > + TEST_ASSERT_SUCCESS(err, "Failed to setup queue %u", ev_qid); On reconfigure, setup all the ports and queues so that the newly configured values are seen by them. > + > + err = rte_event_port_link(TEST_DEV_ID, ev_port, &ev_qid, NULL, 1); > + TEST_ASSERT(err == 1, "Failed to link queue port %u", > + ev_port); > + > + err = rte_event_eth_tx_adapter_start(TEST_INST_ID); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); > + > + err = rte_event_dev_service_id_get(0, &eid); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); An event device might not be needing a service core, check the capabilities before requesting service id above. > + > + err = rte_event_eth_tx_adapter_service_id_get(TEST_INST_ID, &tid); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); > + > + err = rte_service_runstate_set(tid, 1); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); > + > + err = rte_service_set_runstate_mapped_check(tid, 0); > + TEST_ASSERT(err == 0, "Expected 0 got %d", err); > +