[dpdk-dev] [patch v3] doc: announce API change in ethdev offload flags
Jerin Jacob Kollanukkaran
jerinj at marvell.com
Thu Aug 8 12:00:55 CEST 2019
> -----Original Message-----
> From: Ananyev, Konstantin <konstantin.ananyev at intel.com>
> Sent: Thursday, August 8, 2019 2:53 PM
> To: Pavan Nikhilesh Bhagavatula <pbhagavatula at marvell.com>; Jerin Jacob
> Kollanukkaran <jerinj at marvell.com>; stephen at networkplumber.org;
> arybchenko at solarflare.com; hemant.agrawal at nxp.com;
> thomas at monjalon.net; Yigit, Ferruh <ferruh.yigit at intel.com>; Richardson,
> Bruce <bruce.richardson at intel.com>; Neil Horman
> <nhorman at tuxdriver.com>; Mcnamara, John <john.mcnamara at intel.com>;
> Kovacevic, Marko <marko.kovacevic at intel.com>
> Cc: dev at dpdk.org
> Subject: [EXT] RE: [dpdk-dev] [patch v3] doc: announce API change in ethdev
> offload flags
> External Email
> Hi guys,
> > From: Pavan Nikhilesh <pbhagavatula at marvell.com>
> > Add new offload flags ``DEV_RX_OFFLOAD_PTYPE``,
> > and ``DEV_RX_OFFLOAD_FLOW_MARK``.
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> > Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>
> > Acked-by: Jerin Jacob <jerinj at marvell.com>
> > ---
> > v3 Changes:
> > - DEV_RX_OFFLOAD_RSS -> DEV_RX_OFFLOAD_RSS_HASH (anndrew).
> > v2 Changes:
> > - Reword for clarity.
> > doc/guides/rel_notes/deprecation.rst | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> > diff --git a/doc/guides/rel_notes/deprecation.rst
> > b/doc/guides/rel_notes/deprecation.rst
> > index 37b8592b6..056c5709f 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -78,3 +78,16 @@ Deprecation Notices
> > to set new power environment if power environment was already
> > In this case the function will return -1 unless the environment is unset
> > (using ``rte_power_unset_env``). Other function usage scenarios will not
> > +
> > +* ethdev: New offload flags ``DEV_RX_OFFLOAD_PTYPE``,
> > +``DEV_RX_OFFLOAD_RSS_HASH``
> > + and ``DEV_RX_OFFLOAD_FLOW_MARK`` will be added in 19.11.
> One question about DEV_RX_OFFLOAD_PTYPE:
> Does it mean that new ol_flags value (PKT_RX_PTYPE) will be introduced to
> indicate that mbuf.packet_type value is set?
> Or PMD will have to set mbuf.packet_type to zero, when
> DEV_RX_OFFLOAD_PTYPE was not enabled by user?
I was thinking when DEV_RX_OFFLOAD_PTYPE is set
- mbuf.packet_type will be valid and mbuf.packet_type will have parsed packet type.
If not set
- mbuf.packet_type can be anything application should not use mbuf.packet_type field.
This will avoid writes 0 to mbuf.packet_type and packet_type parsing if offload is not set.
> If so, what is the advantage?
> Again in that case, would it be more plausible to introduce something like:
> rte_eth_dev_set_supported_ptypes(uint16_t port_id, uint32_t
> ptype_mask); instead of DEV_RX_OFFLOAD_PTYPE?
Any scheme is fine where we can skip the write 0 to mbuf.packet_type and packet_type parsing
If application is NOT interested in packet_type.
> > + This will allow application to enable or disable PMDs from updating
> > + ``rte_mbuf`` fields ``rte_mbuf::packet_type``,
> > + ``rte_mbuf::hash::rss`` and ``rte_mbuf::hash::fdir`` respectively.
> > + This scheme will allow PMDs to avoid writes to ``rte_mbuf`` fields
> > + on Rx and thereby improve Rx performance if application wishes do so.
> > + In 19.11 PMDs will still update the fields even when the offloads
> > + are not enabled.
> > + The exact semantics of the flags will be worked out later either by
> > + making them negative offloads to avoid application change or
> > + positive offload to align with existing offload flag semantics.
> > --
> > 2.17.1
More information about the dev