From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id B99971B7DD for ; Tue, 15 May 2018 15:04:24 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2018 06:04:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,403,1520924400"; d="scan'208";a="40060194" Received: from aburakov-mobl.ger.corp.intel.com (HELO [10.252.6.248]) ([10.252.6.248]) by fmsmga008.fm.intel.com with ESMTP; 15 May 2018 06:04:21 -0700 To: Alex Kiselev , dev@dpdk.org References: <2310632874.20180514172345@gmail.com> From: "Burakov, Anatoly" Message-ID: Date: Tue, 15 May 2018 14:04:20 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <2310632874.20180514172345@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] librte_ip_frag: mbuf count, expiration 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: Tue, 15 May 2018 13:04:25 -0000 Hi Alex, On 14-May-18 3:23 PM, Alex Kiselev wrote: > Hi. > > This patch adds two features to the librte_ip_frag library: The commit message will be saved in git history for all eternity. I don't think it should start with "Hi", it's not an email :) More to the point, generally, one patch == one fix/feature. Do not combine multiple features in one patch unless there's a very strong reason to do so (such as avoiding compilation breaks). Your patch also lacks developer's certificate of origin (a sign-off), without which we cannot accept your patches into the codebase even if we really, really wanted to :) Please refer to DPDK contribution guidelines on how to formulate and submit patches to DPDK community: http://dpdk.org/doc/guides/contributing/patches.html You are also adding new API calls. New API calls should be marked as "experimental" for at least one release as per our community guidelines: http://dpdk.org/doc/guides/contributing/versioning.html Also, new API's should be added to library's respective .map file to enable proper symbol exporting for shared library builds. > > 1) it keeps track of number of mbufs holded in the fragmentation table. > rte_frag_table_mbuf_count() > > There might be situations (kind of attack when a lot of fragmented packets are sent > to a dpdk application in order to flood the fragmentation table) when no additional > mbufs must be added to the fragmentations table since it already contains to many of them. > Currently there is no way to determine the number of mbufs holded int the fragmentation table. > > 2) Fragmented packets are supposed to live no longer than max_cycles, but the lib deletes an expired packet > only occasionally when it scans a bucket to find an empty slot when adding a new packet. > Therefore a fragment might sit in the table forever. > > This patch add rte_frag_table_del_expired_entries() that scans list recently used packets > and delete the expired ones. > --- -- Thanks, Anatoly