From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by dpdk.org (Postfix) with ESMTP id CDB772C28 for ; Sat, 2 Dec 2017 03:22:50 +0100 (CET) Received: by mail-qt0-f195.google.com with SMTP id a16so15368696qtj.3 for ; Fri, 01 Dec 2017 18:22:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=scylladb-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=ewLXJc+uYthUW5JR3JhSntGehzZnjhbKlaTSQ1AwX9g=; b=WzJPvaUvNG4hNWfYspgRL+n6vuq1VusKnGxBuAlNgg49tcBCF0yahdDAelC6V908HU OPvCL8JbHL4caWM0NUqP4LfuL1DpunaFeJZZrUBAJGSdbqyPZG3mWsX5/BqDpbF62Atw F+c/J4Fsv7mvEmPpvs4YaGevZDtRNwIxK6hSd3gEKNDHk9DjZYQol9x3j/9ymq27LIHL eBUyZH/AvvySvaj3IuVBMNXMygu4a8q0CBt0Mma93LYtoAjcpIic4nEIQq8mzTwGeTuI wFYv8jIdmcK1MWVoN7CYE+v0/Hkr1mZR6YV7e4nK2uo41oJuUCFfX0YNDXfAOeEQ6/0K y1Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=ewLXJc+uYthUW5JR3JhSntGehzZnjhbKlaTSQ1AwX9g=; b=YZB3pAG80cpVsw1eLVz9znyBjqZlhDa4wXN3vBQ02u0Ds5C9YNN3yFeAKAnsznzaNs a36deFHY5s6IMOguJRaqxQLaLJPeYTLkwPvgkeznPz4Q5U418wFrTRcxPOjVE4lbFxJw EVYwRPmB6UqYvAZCgnXkdTg9N0Rc/iOj2Dilv3Ch5ktYEWgl+Bs002V+uIV2+qlnjeD8 +eMQ71h40xx4Ip5nkZJd8HxL+LkB6HTZKF82EsBb2vlQuXG8lXBQHRLaQRCXvs87vFqT UOf/3hbTP+6pjkeFacao7hfpZJj24icE6ShTecoLqIT/QpbhkZfBHxEFsrZFADnaGOpV qktw== X-Gm-Message-State: AKGB3mLG4S/20P380yL9yi4woSzK4e79WMsIdjVJKiSdo0SnS8y28NJ0 Pc5OHIMzY2piQDxRjkRkE99Log== X-Google-Smtp-Source: AGs4zMbhVNMgR3b66zt4ou13gVW/Y3EOSk/gPXFldmJKysk+MhenpV7PeKHjChphMkyOlFUWnFhzDg== X-Received: by 10.200.24.25 with SMTP id q25mr11269544qtj.266.1512181369925; Fri, 01 Dec 2017 18:22:49 -0800 (PST) Received: from [192.168.1.138] (ool-68f614aa.dyn.optonline.net. [104.246.20.170]) by smtp.googlemail.com with ESMTPSA id p34sm6060021qkh.28.2017.12.01.18.22.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 01 Dec 2017 18:22:48 -0800 (PST) To: Ferruh Yigit , Thomas Monjalon Cc: dev@dpdk.org, vladz@cloudius-systems.com References: <20171201022957.64329-1-ferruh.yigit@intel.com> <49eb13f1-e12f-071a-b58b-1cd4852b7c8b@scylladb.com> <2588d596-19be-483a-507f-565b01ff5615@intel.com> From: Vlad Zolotarov Message-ID: Date: Fri, 1 Dec 2017 21:22:47 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <2588d596-19be-483a-507f-565b01ff5615@intel.com> Content-Language: en-US Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 1/7] ethdev: remove unused flag from header 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: Sat, 02 Dec 2017 02:22:51 -0000 On 12/01/2017 06:51 PM, Ferruh Yigit wrote: > On 12/1/2017 2:17 PM, Vlad Zolotarov wrote: >> >> On 11/30/2017 09:29 PM, Ferruh Yigit wrote: >>> remove RTE_ETHDEV_HAS_LRO_SUPPORT flag from header. >>> >>> Flag seems added with the patch that adds LRO support, and intention >>> looks like giving a pointer to application that library supports LRO. >> Exactly. Removing this flag may make the existing application "think" that LRO >> is not supported. >> Why do you want to remove it to begin with? > I agree that this is a little controversial, and I don't have a strong opinion > about it, I thought twice before sending or not sending the patch :) > > This flag can be useful for the applications that use different versions of the > DPDK library (with the ones does and doesn't support LRO), so that application > can be more portable. > I would understand a dynamic approach, which would be useful for distributed > applications that you don't know and can't control what version of the DPDK > library used. > But here to benefit from this flag you need to compile your application against > DPDK library, and if you are compiling it you already know if your DPDK supports > LRO or not. And this is not something keeps changing platform to platform etc, > after a specific release LRO is always supported. True but DPDK is usually not a part of your source tree - it (should) come as a library and currently there isn't any proper way to query feature set. This flag was also added after a lot of consideration as a rather ugly compromise since there wasn't (and there isn't) a proper way to do that at that (this) time. See more on that below. > > And this is the only capability support flag in the ethdev, there are many new > features introduced in each release but they are not advertised by a capability > flag. Only having LRO flag can be confusing. > > _Perhaps_ DPDK should have a way to expose the supported features, and a dynamic > runtime way can be better option than compile time macros, but it should be > generic nothing specific to LRO support. IMO it's not "perhaps" it's a "must" _however_ you can't remove this flag without giving some other tool to do the same. Querying a DPDK version would be a wrong direction because some Linux distributions (yes, I'm talking about you, Ubuntu) tend to have it's own trees with their own backports and these trees may be light years ahead in their patch level compared to vanilla trees with the same version. > >>> Fixes: 8eecb3295aed ("ixgbe: add LRO support") >>> Cc: vladz@cloudius-systems.com >>> >>> Signed-off-by: Ferruh Yigit >>> --- >>> lib/librte_ether/rte_ethdev.h | 3 --- >>> 1 file changed, 3 deletions(-) >>> >>> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h >>> index 341c2d624..e620c3706 100644 >>> --- a/lib/librte_ether/rte_ethdev.h >>> +++ b/lib/librte_ether/rte_ethdev.h >>> @@ -172,9 +172,6 @@ extern "C" { >>> >>> #include >>> >>> -/* Use this macro to check if LRO API is supported */ >>> -#define RTE_ETHDEV_HAS_LRO_SUPPORT >>> - >>> #include >>> #include >>> #include