From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 40ED2A0524; Fri, 27 Nov 2020 17:01:14 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3F5A6C93E; Fri, 27 Nov 2020 17:01:11 +0100 (CET) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by dpdk.org (Postfix) with ESMTP id B4253C8FE; Fri, 27 Nov 2020 17:01:08 +0100 (CET) Received: from [192.168.38.17] (aros.oktetlabs.ru [192.168.38.17]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 0C9437F41F; Fri, 27 Nov 2020 19:01:07 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 0C9437F41F DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1606492867; bh=qT44WuOtfgLsDFNLCVfQVhKrlZd4cOiu+z1AorvKeZ4=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=djsJ608qXIcqJcN4/RdlMPP6CQM0QZnrsGXueZGLvBvMHbs514TjIbPxRjMiLjkyu sHR/D1DxQ3XHdxKW3LMW+gGRUu6hQy1npWRG2IgZ/3EXoiysfqHqfpsdRm8ggqS6jQ cs4lQJu9Ew3ItzYzcLvjuy2xQd0JdpntiuCgj3gw= To: Gregory Etelson , dev@dpdk.org Cc: matan@nvidia.com, rasland@nvidia.com, thomas@monjalon.net, ajit.khaparde@broadcom.com, stable@dpdk.org, Wenzhuo Lu , Beilei Xing , Bernard Iremonger References: <20200811061443.8214-1-getelson@nvidia.com> <20201126164302.19120-1-getelson@nvidia.com> From: Andrew Rybchenko Organization: OKTET Labs Message-ID: <3948b2ca-f9b9-c34a-d6ae-e9c66fbc16ea@oktetlabs.ru> Date: Fri, 27 Nov 2020 19:01:06 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: <20201126164302.19120-1-getelson@nvidia.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: fix testpmd flows left before port stop. 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/26/20 7:43 PM, Gregory Etelson wrote: > According to RTE flow user guide, PMD will not keep flow rules after > port stop. Application resources that refer to flow rules become > obsolete after port stop and must not be used. > Testpmd maintains linked list of active flows for each port. Entries in > that list are allocated dynamically and must be explicitly released to > prevent memory leak. > The patch releases testpmd port flow_list that holds remaining flows > before port is stopped. > > Cc: stable@dpdk.org > > Signed-off-by: Gregory Etelson > --- > app/test-pmd/testpmd.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index 33fc0fddf5..0bb192b2f5 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -2806,6 +2806,9 @@ stop_port(portid_t pid) > } > } > > + if (port->flow_list) > + port_flow_flush(pi); > + > if (rte_eth_dev_stop(pi) != 0) > RTE_LOG(ERR, EAL, "rte_eth_dev_stop failed for port %u\n", > pi); > port_flow_flush() does rte_flow_flush() which is not strictly required. Description sounds like we should cleanup testpmd lists only.