From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavan Nikhilesh Subject: [PATCH 2/4] eventdev: add caps API and PMD callbacks for eth Tx adapter Date: Mon, 16 Jul 2018 19:57:06 +0530 Message-ID: <20180716142705.GA5192@ltp-pvn> References: <20180716113311.GB3118@ltp-pvn> <1F668163772FA946975B9466A9DFF729ED315E93@ORSMSX110.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: "Rao, Nikhil" , jkollanukkaran@caviumnetworks.com, olivier.matz@6wind.com Return-path: Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690056.outbound.protection.outlook.com [40.107.69.56]) by dpdk.org (Postfix) with ESMTP id 44C9D16E for ; Mon, 16 Jul 2018 16:27:23 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1F668163772FA946975B9466A9DFF729ED315E93@ORSMSX110.amr.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Jul 16, 2018 at 02:17:40PM +0000, Rao, Nikhil wrote: > > > -----Original Message----- > > From: Pavan Nikhilesh [mailto:pbhagavatula@caviumnetworks.com] > > Sent: Monday, July 16, 2018 5:03 PM > > To: Rao, Nikhil ; > > jkollanukkaran@caviumnetworks.com; olivier.matz@6wind.com > > Cc: dev@dpdk.org > > Subject: [pbhagavatula@caviumnetworks.com: Re: [dpdk-dev] [PATCH 2/4] > > eventdev: add caps API and PMD callbacks for eth Tx adapter] > > > > Hi Nikhil, > > > > On Mon, Jul 16, 2018 at 11:25:45AM +0530, Rao, Nikhil wrote: > > > On 7/10/2018 4:26 PM, Pavan Nikhilesh wrote: > > > > +int __rte_experimental > > > > +rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint32_t *caps) { > > > > The caps get API needs to be similar to rx adapter caps get i.e. it > > > > needs to have the eth_port_id as a parameter so that the underlying > > > > event dev driver can expose INTERNAL PORT capability as not all > > > > ethdev drivers have the capability to interact with the eventdevs > > internal port. > > > > > > > > rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t > > eth_port_id, > > > > uint32_t *caps); > > > Hi Pavan, > > > > > > Is querying the INTERNAL PORT on a per ethdev basis useful to the > > > application ? > > > > If an application chooses to use 2 ports one with INTERNAL PORT capability > > and one _without_ it then it would be useful to have per ethdev based > > classification similar to Rx adapter. The application can classify events based > > on event type RTE_EVENT_TYPE_ETHDEV & > > RTE_EVENT_TYPE_ETH_RX_ADAPTER to segregate between INTERNAL & > > NON-INTERNAL port at ingress side and enqueue it to either > > rte_event_eth_tx_adapter_enqueue or to the SINGLE link queue > > respectively. > > > The current tx adapter is very similar to how the eventdev pipeline app decides between using the generic_tx v/s worker_tx, I guess what you are suggesting is using the 2 concurrently. I am fine with this, > Would you always assume INTERNAL PORT on the Rx side to deduce INTERNAL PORT on the tx side ? Just curious if that was just an example, in the general case, you could have packets ingressing from an INTERNAL port and egressing on a port that is !INTERNAL ? I was just giving an example :). The application would be free to model the pipeline accordingly based on event type and caps. > > > Also, I dont think eventdev should iterate over all probed ethdevs and give > > the overall caps as an application might want only a specific ethdev to be > > connected to the event tx adapter. > > > Agreed. The current adapter only supports either the generic_tx or the worker_tx models and selects either at the earliest point it is feasible to, > > I will update the patch series for caps_get() > > Thanks, > Nikhil Thanks, Pavan