DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Vlad Zolotarov <vladz@scylladb.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, vladz@cloudius-systems.com
Subject: Re: [dpdk-dev] [PATCH 1/7] ethdev: remove unused flag from header
Date: Fri, 1 Dec 2017 15:51:01 -0800	[thread overview]
Message-ID: <2588d596-19be-483a-507f-565b01ff5615@intel.com> (raw)
In-Reply-To: <49eb13f1-e12f-071a-b58b-1cd4852b7c8b@scylladb.com>

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.

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.

> 
>>
>> Fixes: 8eecb3295aed ("ixgbe: add LRO support")
>> Cc: vladz@cloudius-systems.com
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>>  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 <stdint.h>
>>  
>> -/* Use this macro to check if LRO API is supported */
>> -#define RTE_ETHDEV_HAS_LRO_SUPPORT
>> -
>>  #include <rte_log.h>
>>  #include <rte_interrupts.h>
>>  #include <rte_dev.h>
> 

  parent reply	other threads:[~2017-12-01 23:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-01  2:29 Ferruh Yigit
2017-12-01  2:29 ` [dpdk-dev] [PATCH 2/7] ethdev: fix port id storage Ferruh Yigit
2017-12-01  9:01   ` Hemant Agrawal
2017-12-01 23:52   ` Ferruh Yigit
2017-12-01  2:29 ` [dpdk-dev] [PATCH 3/7] ethdev: separate driver APIs Ferruh Yigit
2017-12-01  6:24   ` Shreyansh Jain
2017-12-01  8:59   ` Hemant Agrawal
2017-12-01 23:51     ` Ferruh Yigit
2017-12-01  2:29 ` [dpdk-dev] [PATCH 4/7] ethdev: separate internal structures into own header Ferruh Yigit
2017-12-01  5:44   ` Hemant Agrawal
2017-12-01  2:29 ` [dpdk-dev] [PATCH 5/7] ethdev: reorder inline functions Ferruh Yigit
2017-12-01  2:29 ` [dpdk-dev] [PATCH 6/7] ethdev: rename function parameter for consistency Ferruh Yigit
2017-12-01  2:29 ` [dpdk-dev] [PATCH 7/7] ethdev: use opaque user callback object Ferruh Yigit
2017-12-01 10:33   ` Bruce Richardson
2017-12-01 11:22     ` Ananyev, Konstantin
2017-12-01 13:17       ` Bruce Richardson
2017-12-01 23:51         ` Ferruh Yigit
2017-12-04 10:31           ` Bruce Richardson
2017-12-04 17:49             ` Ferruh Yigit
     [not found] ` <49eb13f1-e12f-071a-b58b-1cd4852b7c8b@scylladb.com>
2017-12-01 22:30   ` [dpdk-dev] [PATCH 1/7] ethdev: remove unused flag from header Vlad Zolotarov
2017-12-01 23:51   ` Ferruh Yigit [this message]
2017-12-02  2:22     ` Vlad Zolotarov
2017-12-04 17:54       ` Ferruh Yigit
2017-12-04 19:37         ` Vlad Zolotarov
2018-01-09 16:23 ` [dpdk-dev] [PATCH v2 1/6] ethdev: fix port id storage Ferruh Yigit
2018-01-09 16:23   ` [dpdk-dev] [PATCH v2 2/6] ethdev: separate driver APIs Ferruh Yigit
2018-01-09 19:19     ` Andrew Rybchenko
2018-01-09 16:23   ` [dpdk-dev] [PATCH v2 3/6] ethdev: separate internal structures into own header Ferruh Yigit
2018-01-09 16:23   ` [dpdk-dev] [PATCH v2 4/6] ethdev: reorder inline functions Ferruh Yigit
2018-01-09 16:23   ` [dpdk-dev] [PATCH v2 5/6] ethdev: rename function parameter for consistency Ferruh Yigit
2018-01-09 16:23   ` [dpdk-dev] [PATCH v2 6/6] ethdev: return named opaque type instead of void pointer Ferruh Yigit
2018-01-09 18:55     ` Stephen Hemminger
2018-01-09 18:58     ` Stephen Hemminger
2018-01-17 21:57   ` [dpdk-dev] [PATCH v3 1/6] ethdev: fix port id storage Ferruh Yigit
2018-01-17 21:57     ` [dpdk-dev] [PATCH v3 2/6] ethdev: return named opaque type instead of void pointer Ferruh Yigit
2018-01-17 22:11       ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-01-18 10:09         ` Ferruh Yigit
2018-03-09 11:25       ` [dpdk-dev] [PATCH v4] " Ferruh Yigit
     [not found]         ` <20180309123651.GB19004@hmswarspite.think-freely.org>
2018-03-09 13:00           ` Ferruh Yigit
2018-03-09 15:16             ` Neil Horman
2018-03-09 15:45               ` Ferruh Yigit
2018-03-09 19:06                 ` Neil Horman
2018-03-20 15:51                   ` Ferruh Yigit
2018-03-20 16:34         ` [dpdk-dev] [PATCH v5] " Ferruh Yigit
2018-03-21 13:04           ` Neil Horman
2018-03-23 17:00             ` Bruce Richardson
2018-03-24  2:08               ` Neil Horman
2018-03-26  8:47                 ` Ananyev, Konstantin
2018-03-27 19:10             ` Ferruh Yigit
2018-01-17 21:57     ` [dpdk-dev] [PATCH v3 3/6] ethdev: separate driver APIs Ferruh Yigit
2018-01-17 21:58     ` [dpdk-dev] [PATCH v3 4/6] ethdev: separate internal structures into own header Ferruh Yigit
2018-01-17 22:24       ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-01-18 10:09         ` Ferruh Yigit
2018-01-17 21:58     ` [dpdk-dev] [PATCH v3 5/6] ethdev: reorder inline functions Ferruh Yigit
2018-01-17 21:58     ` [dpdk-dev] [PATCH v3 6/6] ethdev: rename function parameter for consistency Ferruh Yigit
2018-01-17 22:09     ` [dpdk-dev] [PATCH v3 1/6] ethdev: fix port id storage Thomas Monjalon
2018-01-17 22:19       ` Thomas Monjalon
2018-01-18 10:15         ` Ferruh Yigit
2018-01-18 11:29           ` Thomas Monjalon
2018-01-20 16:57     ` [dpdk-dev] [PATCH v4 1/4] ethdev: separate driver APIs Ferruh Yigit
2018-01-20 16:57       ` [dpdk-dev] [PATCH v4 2/4] ethdev: separate internal structures into own header Ferruh Yigit
2018-01-20 16:57       ` [dpdk-dev] [PATCH v4 3/4] ethdev: reorder inline functions Ferruh Yigit
2018-01-20 16:57       ` [dpdk-dev] [PATCH v4 4/4] ethdev: rename function parameter for consistency Ferruh Yigit
2018-01-21 23:12       ` [dpdk-dev] [PATCH v4 1/4] ethdev: separate driver APIs Thomas Monjalon
2018-01-21 23:35       ` [dpdk-dev] [PATCH v5 " Ferruh Yigit
2018-01-21 23:35         ` [dpdk-dev] [PATCH v5 2/4] ethdev: separate internal structures into own header Ferruh Yigit
2018-01-21 23:35         ` [dpdk-dev] [PATCH v5 3/4] ethdev: reorder inline functions Ferruh Yigit
2018-01-21 23:35         ` [dpdk-dev] [PATCH v5 4/4] ethdev: rename function parameter for consistency Ferruh Yigit
2018-01-22  0:16         ` [dpdk-dev] [PATCH v6 1/4] ethdev: separate driver APIs Ferruh Yigit
2018-01-22  0:16           ` [dpdk-dev] [PATCH v6 2/4] ethdev: separate internal structures into own header Ferruh Yigit
2018-01-22  0:16           ` [dpdk-dev] [PATCH v6 3/4] ethdev: reorder inline functions Ferruh Yigit
2018-01-22  0:16           ` [dpdk-dev] [PATCH v6 4/4] ethdev: rename function parameter for consistency Ferruh Yigit
2018-01-22  0:51           ` [dpdk-dev] [PATCH v6 1/4] ethdev: separate driver APIs Thomas Monjalon
2018-03-09 11:27     ` [dpdk-dev] [PATCH v4] ethdev: fix port id storage Ferruh Yigit
2018-03-09 12:58       ` Thomas Monjalon
2018-03-26 20:25         ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2588d596-19be-483a-507f-565b01ff5615@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=vladz@cloudius-systems.com \
    --cc=vladz@scylladb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).