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 C3485A0C53; Wed, 3 Nov 2021 15:38:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5F9D141134; Wed, 3 Nov 2021 15:38:13 +0100 (CET) Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) by mails.dpdk.org (Postfix) with ESMTP id 0B2B440E5A for ; Wed, 3 Nov 2021 15:38:12 +0100 (CET) Received: by mail-yb1-f173.google.com with SMTP id j75so6900789ybj.6 for ; Wed, 03 Nov 2021 07:38:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=us8w7QxCZKITeTegOPnx/nBnd/wKKXxRajczQ54NeUY=; b=NGXG+WqhVTwuL9gVzobF4IYPwd/mrtuCI4JVlJlgDa8w0nqDCVXc+H7sQ6ty9Q+xV0 WRFve7W2NQJ9JV4VcdxGAvrr7hmtwF3yYBlJJVP5137IA2dXgFc2NvMaRDa1WNVgOq2T w/pQObteirW0Ab8ILFU4+nuOMUiyFfJAtkT1xxNAXIS2QUl+MdqPULdhQm9L1pCDRdRC 75NhN/360aV5m3qBN8Fz/LtQg+q2jM1EkL2gZC29pUMTxlAjcL+J4wwUhMoGt3RkvBc2 jJV+hICG4z8L1WrdJzw3ZKmuxC9rmdNdL7vIJ92koTNhob7auBmbJtX2Pg74NJ5jgByh okiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=us8w7QxCZKITeTegOPnx/nBnd/wKKXxRajczQ54NeUY=; b=uD3osHJhc/ZluZ/akyAxCXXVwOWvq56dp0DBwq6nPLBebtJJjwBrAwqnPYYyYYA8oL HSWZfF+Z4lIcGzNrc6aJ7Y/s7zx6vT2a5lmIUu6JSWEruJi8yubtqdeP8/5x5ftuYmGu PCkTUlGZcZ+engjJK7KLd3oQaZHDgJOAa1arGMhhd0RdzyYewndFGeaFMiQ1xDkfN3br RMQWNAVMEvN7MeAV2a5rRDl5vbT8QiWGT1w4yfl7Qnt45pmjzQpXBHVNnCjanzqYV4YF Hx77K7/jO2KLqNVpDHN5yGGBjiitcWkQXYFcE7310ABz4CmzXVeRYSLbWmV7tIhOsp+L nPlA== X-Gm-Message-State: AOAM533Bke6xCbSFRni2ImKTjub9oysbxw66nl7kPkccyHNtfADn4xrN cdjGV0S3C4JKhsC6lB2ghWxtHD9SKLgoVZhM5kA= X-Google-Smtp-Source: ABdhPJzJCX4YwMsFSuo3vH+53+PNYde78YlxeSm6CKhsGqRziKvGkJo87+m+5p8AI4P4IRE3C+f7oQH/2I12oktNJ3k= X-Received: by 2002:a25:ac6:: with SMTP id 189mr45603335ybk.330.1635950290992; Wed, 03 Nov 2021 07:38:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ben Magistro Date: Wed, 3 Nov 2021 10:38:00 -0400 Message-ID: To: "Ananyev, Konstantin" Cc: "Richardson, Bruce" , "dev@dpdk.org" , ben.magistro@trinitycyber.com, Stefan Baranoff Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [dpdk-dev] Overriding rte_config.h 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 Sender: "dev" Thanks for the clarification. I agree bumping RTE_LIBRTE_IP_FRAG_MAX_FRAG to 8 probably makes sense to easily support jumbo frames. The other use case we have is supporting highly fragmented UDP. To support this we were increasing to 64 (next power of 2) based on a 64K UDP max and a link MTU of 1200 (VPN/tunneling). I am not sure this is a value that makes sense for the majority of use cases. On Tue, Nov 2, 2021 at 11:09 AM Ananyev, Konstantin < konstantin.ananyev@intel.com> wrote: > > > > > > > On Fri, Oct 29, 2021 at 09:48:30AM -0400, Ben Magistro wrote: > > > > > > > With the transition to meson, what is the best way to provide > custom values > > > > > > > to parameters in rte_config.h? When using makefiles, (from > memory, I > > > > > > > think) we used common_base as a template that was copied in as > a > > > > > > > replacement for defconfig_x86.... Our current thinking is to > apply a > > > > > > > locally maintained patch so that we can track custom values > easier to the > > > > > > > rte_config.h file unless there is another way to pass in an > overridden > > > > > > > value. As an example, one of the values we are customizing is > > > > > > > IP_FRAG_MAX_FRAG. > > > > > > > > > > > > > > Cheers, > > > > > > > > > > > > > There is no one defined way for overriding values in rte_config > with the > > > > > > meson build system, as values there are ones that should rarely > need to be > > > > > > overridden. If it's the case that one does need tuning, we > generally want > > > > > > to look to either change the default so it works for everyone, or > > > > > > alternatively look to replace it with a runtime option. > > > > > > > > > > > > In the absense of that, a locally maintained patch may be > reasonable. To > > > > > > what value do you want to change MAX_FRAG? Would it be worth > considering as > > > > > > a newer default value in DPDK itself, since the current default > is fairly > > > > > > low? > > > > > > > > > > That might be an option, with IP_FRAG_MAX_FRAG==8 it should be able > > > > > to cover common jumbo frame size (9K) pretty easily. > > > > > As a drawback default reassembly table size will double. > > > > > > > > Maybe not. I'm not an expert in the library, but it seems the basic > struct > > > > used for tracking the packets and fragments is "struct ip_frag_pkt". > Due to > > > > the other data in the struct and the linked-list overheads, the > actual size > > > > increase when doubling MAX_FRAG from 4 to 8 is only 25%. According > to gdb > > > > on my debug build it goes from 192B to 256B. > > > > > > Ah yes, you right, struct ip_frag should fit into 16B, key seems the > biggest one. > > > > > > > > > > > > Even better would be to go a step further and rework lib/ip_frag > > > > > to make it configurable runtime parameter. > > > > > > > > > Agree. However, that's not as quick a fix as just increasing the > default > > > > max segs value which could be done immediately if there is consensus > on it. > > > > > > You mean for 21.11? > > > I don't mind in principle, but would like to know other people > thoughts here. > > > Another thing - we didn't announce it in advance, and it is > definitely an ABI change. > > > > I notice from this patch you submitted that the main structure in > question > > is being hidden[1]. Will it still be an ABI change if that patch is > merged > > in? > > Yes, it would unfortunately: > struct rte_ip_frag_death_row still remains public. > > > Alternatively, should a fragment count increase be considered as part of > > that change? > > I don't think they are really related. > This patch just hides some structs that are already marked as 'internal' > and not used by public API. It doesn't make any changes in the public > structs layout. > But I suppose we can bring that question (increase of > RTE_LIBRTE_IP_FRAG_MAX_FRAG) to > tomorrow TB meeting, and ask for approval. > > > /Bruce > > > > [1] > http://patches.dpdk.org/project/dpdk/patch/20211101124915.9640-1-konstantin.ananyev@intel.com/ >