[dpdk-dev] [PATCH] app/testpmd: do not enable Rx offloads by default

Lu, Wenzhuo wenzhuo.lu at intel.com
Fri Jan 26 09:06:55 CET 2018


> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Friday, January 26, 2018 3:48 PM
> To: Lu, Wenzhuo <wenzhuo.lu at intel.com>
> Cc: Moti Haimovsky <motih at mellanox.com>; dev at dpdk.org;
> shahafs at mellanox.com; Yigit, Ferruh <ferruh.yigit at intel.com>
> Subject: Re: [PATCH] app/testpmd: do not enable Rx offloads by default
> 
> 26/01/2018 08:30, Lu, Wenzhuo:
> > From: Thomas Monjalon [mailto:thomas at monjalon.net]
> > > 25/01/2018 02:11, Lu, Wenzhuo:
> > > > > --- a/app/test-pmd/testpmd.c
> > > > > +++ b/app/test-pmd/testpmd.c
> > > > > @@ -305,9 +305,7 @@ struct fwd_engine * fwd_engines[] = {
> > > > >   */
> > > > >  struct rte_eth_rxmode rx_mode = {
> > > > >  	.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum
> frame
> > > > > length. */
> > > > > -	.offloads = (DEV_RX_OFFLOAD_VLAN_FILTER |
> > > > > -		     DEV_RX_OFFLOAD_VLAN_STRIP |
> > > > > -		     DEV_RX_OFFLOAD_CRC_STRIP),
> > > > > +	.offloads = 0,
> > > >
> > > > Change the default behavior may trigger other problems. I think TX
> > > > offload
> > > could be a good reference. Get the capability and check what's
> > > supported first, then ignore the not supported functions with
> > > printing a warning but not block anything...
> > >
> > > I agree that we should check the capabilities before requesting an offload.
> > > But I disagree on another point: we should not enable an offload if
> > > the user did not request it explicitly. It makes things unclear.
> > > This is a testing tool, it should be close to the ethdev API behavior.
> > >
> > > Why these offload flags are silently enabled?
> >
> > I don't think it's silently. It's a global configuration. In this case, testpmd is
> the user, it does request it explicitly. If it's not so explicit, maybe we can
> consider moving all the configuration to a specific configure file.
> > Talking about why it's enabled by default. Hard to figure out the history.
> To my opinion, the original designer wants to simulate the common case.
> 
> Please do not justify a design mistake by history.
> 
> This is a test tool, so we don't care about the common case.
> A test tool should not try to guess the best configuration.
> Only the user should decide the configuration to apply, and the default
> should be empty, as the API is.
I see the divergence. You think testpmd is a tool, so it should be white paper as the tool users may suppose it is.
I think testpmd is an example to let the APP developers know how to use DPDK. So any pre-configuration is acceptable.


More information about the dev mailing list