19/01/2023 11:33, Hanumanth Reddy Pothula: > From: Thomas Monjalon <tho...@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 <hpoth...@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.