[dpdk-dev] [RFC 0/3] ethdev: add ptype as Rx offload
stephen at networkplumber.org
Wed Aug 7 01:15:05 CEST 2019
On Tue, 6 Aug 2019 12:06:35 +0300
Andrew Rybchenko <arybchenko at solarflare.com> wrote:
> On 8/6/19 11:47 AM, Pavan Nikhilesh Bhagavatula wrote:
> >> -----Original Message-----
> >> From: Hemant Agrawal <hemant.agrawal at nxp.com>
> >> Sent: Tuesday, August 6, 2019 1:49 PM
> >> To: Pavan Nikhilesh Bhagavatula <pbhagavatula at marvell.com>; Jerin
> >> Jacob Kollanukkaran <jerinj at marvell.com>
> >> Cc: dev at dpdk.org
> >> Subject: RE: [dpdk-dev] [RFC 0/3] ethdev: add ptype as Rx offload
> >>> Add PTYPE to DEV_RX_OFFLOAD_* flags.
> >>> Currently, most of the NICs already support PTYPE parsing and update
> >> the
> >>> mbuf->packet_type through an internal lookup table, but there is no
> >> way to
> >>> disable the lookup if the application is not intrested in ptypes
> >> returned by
> >>> `rte_eth_dev_get_supported_ptypes`.
> >> [Hemant] it will also mean introducing another check in datapath, if the
> >> application has asked for PTYPE offload - copy the results to mbuf-
> >>> packet_type otherwise don't do it.
> > I think that having the check would give better performance than loading ptype table to L1
> > doing a lookup and copying it to mbuf when the application doesn't need it.
> Anyway, if PMD decides that it is better to always provide packet type
> information - there is no harm. Basically if the offload is not requested
> it makes packet_type undefined in mbuf.
> >> Your second patch is incomplete in the sense that it only adds the
> >> capability. But it does not disable the lookups?
> > It is upto the maintainer of the PMD to disable the lookup in data path. If there is a scope of optimization
> > then they could do it. There is no harm in exposing PTYPE even RX_OFFLOAD_PTYPE is not enabled.
> > I was hesitant to touch data path as it would be impossible to verify performance effect on all NICs.
> I think it is the right way to approach it especially taking transition
> into account.
With hardline API policy, this has to fail on compile for old applications.
You can't magically assume that applications using ptype will set new feature.
More information about the dev