From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 72FCE42BB0; Sat, 27 May 2023 04:14:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D6A6F42D3B; Sat, 27 May 2023 04:13:49 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 2F8E540DFB for ; Sat, 27 May 2023 04:13:46 +0200 (CEST) Received: from kwepemm600004.china.huawei.com (unknown [172.30.72.56]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4QSlfj3WTqzLmMb; Sat, 27 May 2023 10:12:13 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemm600004.china.huawei.com (7.193.23.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sat, 27 May 2023 10:13:44 +0800 From: Huisong Li To: CC: , , , , , , Subject: [PATCH V6 5/5] app/testpmd: stop forwarding in new or destroy event Date: Sat, 27 May 2023 10:11:21 +0800 Message-ID: <20230527021121.31647-6-lihuisong@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20230527021121.31647-1-lihuisong@huawei.com> References: <20220825024425.10534-1-lihuisong@huawei.com> <20230527021121.31647-1-lihuisong@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600004.china.huawei.com (7.193.23.242) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When testpmd receives the new or destroy event, the port related information will be updated. Testpmd must stop packet forwarding before updating the information to avoid some serious problems. Signed-off-by: Huisong Li --- app/test-pmd/testpmd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index f03b3dfb84..7d9d6decc9 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -3939,6 +3939,8 @@ eth_event_callback(portid_t port_id, enum rte_eth_event_type type, void *param, switch (type) { case RTE_ETH_EVENT_NEW: + if (test_done == 0) + stop_packet_forwarding(); if (setup_on_probe_event) setup_attached_port(port_id); break; @@ -3949,6 +3951,8 @@ eth_event_callback(portid_t port_id, enum rte_eth_event_type type, void *param, "Could not set up deferred device removal\n"); break; case RTE_ETH_EVENT_DESTROY: + if (test_done == 0) + stop_packet_forwarding(); ports[port_id].port_status = RTE_PORT_CLOSED; printf("Port %u is closed\n", port_id); if (rte_eal_alarm_set(100000, remove_invalid_ports_callback, -- 2.22.0