[dpdk-dev] [PATCH v4 3/4] eventdev: Add eventdev ethernet Rx adapter
Rao, Nikhil
nikhil.rao at intel.com
Mon Sep 25 04:59:10 CEST 2017
On 9/24/2017 11:46 PM, Rao, Nikhil wrote:
> On 9/22/2017 2:40 PM, Jerin Jacob wrote:
>
>> When we worked on a prototype, we figured out that we need a separate
>> event type
>> for RX adapter. Probably RTE_EVENT_TYPE_ETHDEV_RX_ADAPTER?
>> The Reason is:
>> - In the HW based Rx adapter case, the packet are coming directly to
>> eventdev once it is configured.
>> - So on a HW implementation of the event dequeue(), CPU needs to
>> convert HW specific
>> metadata to mbuf
>> - The event dequeue() is used in two cases
>> a) octeontx eventdev driver used with any external NIC
>> b) octeontx eventdev driver used with integrated NIC(without service
>> core to inject the packet)
>> We need some identifier to understand case (a) and (b).So, in
>> dequeue(), if the
>> packet is from RTE_EVENT_TYPE_ETHDEV then we can do "HW specific
>> metadata" to mbuf
>> conversion and in another case (!RTE_EVENT_TYPE_ETHDEV) result in no mbuf
>> conversion.
>>
>> Application can check if it is an Ethernet type event by
>> ev.event_type == RTE_EVENT_TYPE_ETHDEV || ev.event_type ==
>> RTE_EVENT_TYPE_ETHDEV_RX_ADAPTER
>>
>
> As per my understanding, the case (a) uses an in built port
> Is it possible for the eventdev PMD to do the conversion based off the
> eventdev port ?
>
I realized the dequeue wouldn't have knowledge of the port the event was
injected from, the application shouldn't have to see the difference
between case (a) & (b).
Would it be possible to use the impl_opaque field within struct rte_event ?
Nikhil
More information about the dev
mailing list