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 B5698A00C2; Thu, 6 Oct 2022 08:27:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EDBB542B82; Thu, 6 Oct 2022 08:27:11 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 5B495427F3 for ; Thu, 6 Oct 2022 08:27:06 +0200 (CEST) Received: by shelob.oktetlabs.ru (Postfix, from userid 115) id 3EB0F83; Thu, 6 Oct 2022 09:27:06 +0300 (MSK) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mail1.oktetlabs.ru X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_DISCARD autolearn=no autolearn_force=no version=3.4.6 Received: from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17]) by shelob.oktetlabs.ru (Postfix) with ESMTP id D210F7B; Thu, 6 Oct 2022 09:27:04 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru D210F7B Authentication-Results: shelob.oktetlabs.ru/D210F7B; dkim=none; dkim-atps=neutral From: Andrew Rybchenko To: Ciara Loftus , Qi Zhang Cc: dev@dpdk.org, Bruce Richardson Subject: [PATCH v4 5/6] net/af_xdp: log errors on XDP program removal failures Date: Thu, 6 Oct 2022 09:26:53 +0300 Message-Id: <20221006062654.1420349-6-andrew.rybchenko@oktetlabs.ru> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221006062654.1420349-1-andrew.rybchenko@oktetlabs.ru> References: <20220624102354.1516606-1-ciara.loftus@intel.com> <20221006062654.1420349-1-andrew.rybchenko@oktetlabs.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Make it visible in logs if something goes wrong on XDP program removal failure. Signed-off-by: Andrew Rybchenko --- drivers/net/af_xdp/rte_eth_af_xdp.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 9957de2314..f7c2321a18 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -866,18 +866,24 @@ eth_stats_reset(struct rte_eth_dev *dev) return 0; } -static void +static int remove_xdp_program(struct pmd_internals *internals) { uint32_t curr_prog_id = 0; + int ret; - if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id, - XDP_FLAGS_UPDATE_IF_NOEXIST)) { + ret = bpf_get_link_xdp_id(internals->if_index, &curr_prog_id, + XDP_FLAGS_UPDATE_IF_NOEXIST); + if (ret != 0) { AF_XDP_LOG(ERR, "bpf_get_link_xdp_id failed\n"); - return; + return ret; } - bpf_set_link_xdp_fd(internals->if_index, -1, - XDP_FLAGS_UPDATE_IF_NOEXIST); + + ret = bpf_set_link_xdp_fd(internals->if_index, -1, + XDP_FLAGS_UPDATE_IF_NOEXIST); + if (ret != 0) + AF_XDP_LOG(ERR, "bpf_set_link_xdp_fd failed\n"); + return ret; } static void @@ -932,7 +938,8 @@ eth_dev_close(struct rte_eth_dev *dev) */ dev->data->mac_addrs = NULL; - remove_xdp_program(internals); + if (remove_xdp_program(internals) != 0) + AF_XDP_LOG(ERR, "Error while removing XDP program.\n"); if (internals->shared_umem) { struct internal_list *list; -- 2.30.2