> -----Original Message----- > From: Pavan Nikhilesh [mailto:pbhagavat...@caviumnetworks.com] > Sent: Monday, July 16, 2018 5:03 PM > To: Rao, Nikhil <nikhil....@intel.com>; > jkollanukka...@caviumnetworks.com; olivier.m...@6wind.com > Cc: dev@dpdk.org > Subject: [pbhagavat...@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 ?
> 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