[EXT] Re: [PATCH v5 2/2] app/testpmd: add command to process Rx metadata negotiation

Thomas Monjalon thomas at monjalon.net
Wed Jan 25 13:51:37 CET 2023


19/01/2023 11:33, Hanumanth Reddy Pothula:
> From: Thomas Monjalon <thomas at monjalon.net>
> > 21/12/2022 03:07, Hanumanth Pothula:
> > > Presently, Rx metadata is sent to PMD by default, leading to a
> > > performance drop as processing for the same in Rx path takes extra
> > > cycles.
> > >
> > > Hence, add new testpmd command,
> > >   'enable port <port_id> nic_to_pmd_rx_metadata'
> > >
> > > This command helps in sending Rx metadata to PMD and thereby Rx
> > > metadata flow command requests are processed.
> > >
> > > Signed-off-by: Hanumanth Pothula <hpothula at marvell.com>
> > 
> > As said in previous versions, please don't add such option in testpmd.
> > The problem is somewhere else, probably in your driver.
> > You should make sure your driver is not sending metadata if not needed.
> > By the way you didn't reply to the last comments on v3 in December.
> > 
> I added following comment on V4,
> - As per spec rte_eth_rx_metadata_negotiate() is processed only
> when dev_configured is set.

Not exactly. It is said
"
Invoke this API before the first rte_eth_dev_configure() invocation
to let the PMD make preparations that are inconvenient to do later.
"

> Hence can't enable(Rx metadata negotiation)
> automatically when a flow command requests metadata.

This sentence does not make any sense.
First you negotiate to prepare the feature.
Later you enable per flow.

> - Add new testpmd command to allow NIC to PMD Rx metadata negotiation.
> 
> As we can't enable Rx metadata negotiation on fly,
> introduced new testpmd command to enable Rx metadata negotiation
> by resetting the ports. 

You can enable on the fly. Fix your driver.








More information about the dev mailing list