From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 848D056A1 for ; Wed, 25 Apr 2018 14:17:33 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Apr 2018 05:17:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,326,1520924400"; d="scan'208";a="48985642" Received: from dwdohert-mobl.ger.corp.intel.com (HELO [163.33.228.206]) ([163.33.228.206]) by fmsmga004.fm.intel.com with ESMTP; 25 Apr 2018 05:17:29 -0700 To: Thomas Monjalon , qi.z.zhang@intel.com Cc: dev@dpdk.org, Adrien Mazarguil , Ferruh Yigit , Shahaf Shuler References: <20180328135433.20203-1-declan.doherty@intel.com> <20180416130605.6509-1-declan.doherty@intel.com> <20180416130605.6509-5-declan.doherty@intel.com> <190601101.P8xlxIF3tq@xps> From: "Doherty, Declan" Message-ID: Date: Wed, 25 Apr 2018 13:17:28 +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: <190601101.P8xlxIF3tq@xps> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v7 4/9] ethdev: Add port representor device flag 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: Wed, 25 Apr 2018 12:17:34 -0000 On 24/04/2018 8:37 PM, Thomas Monjalon wrote: > 16/04/2018 15:06, Declan Doherty: >> Add new device flag to specify that an ethdev port is a port representor. >> Extend rte_eth_dev_info structure to expose device flags to the user which >> enables applications to discover if a port is a representor port. > [...] >> --- a/lib/librte_ether/rte_ethdev.c >> +++ b/lib/librte_ether/rte_ethdev.c >> @@ -2431,6 +2431,8 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info) >> dev_info->driver_name = dev->device->driver->name; >> dev_info->nb_rx_queues = dev->data->nb_rx_queues; >> dev_info->nb_tx_queues = dev->data->nb_tx_queues; >> + >> + dev_info->dev_flags = dev->data->dev_flags; >> } > [...] >> --- a/lib/librte_ether/rte_ethdev.h >> +++ b/lib/librte_ether/rte_ethdev.h >> @@ -1032,6 +1032,7 @@ struct rte_eth_dev_info { >> const char *driver_name; /**< Device Driver name. */ >> unsigned int if_index; /**< Index to bound host interface, or 0 if none. >> Use if_indextoname() to translate into an interface name. */ >> + uint32_t dev_flags; /**< Device flags */ > > A similar field has been added recently: > > http://dpdk.org/browse/next/dpdk-next-net/tree/lib/librte_ether/rte_ethdev.h#n1074 > > /** Generic device capabilities */ > uint64_t dev_capa; > > It is for flags DEV_CAPA_* > Note that the prefix should be fixed to RTE_ETH_DEV, > and the doxygen comment should mention the flags prefix. > Qi, please fix. > > I think dev_capa and dev_flags are the same thing. > They could be merged. Do you have a preference for which one to keep, as dev_flags within rte_eth_dev_data is widely used by PMDs and passing this same information out through rte_eth_dev_info makes sense to me? > >> /** Device supports link state interrupt */ >> -#define RTE_ETH_DEV_INTR_LSC 0x0002 >> +#define RTE_ETH_DEV_INTR_LSC 0x0002 >> /** Device is a bonded slave */ >> -#define RTE_ETH_DEV_BONDED_SLAVE 0x0004 >> +#define RTE_ETH_DEV_BONDED_SLAVE 0x0004 >> /** Device supports device removal interrupt */ >> -#define RTE_ETH_DEV_INTR_RMV 0x0008 >> +#define RTE_ETH_DEV_INTR_RMV 0x0008 >> +/** Device is port representor */ >> +#define RTE_ETH_DEV_REPRESENTOR 0x0010 > > It seems you tried to re-align but it fails. > Better to use spaces for alignment. > sure will fix. > >