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

Thomas Monjalon thomas at monjalon.net
Fri Jan 26 08:48:11 CET 2018


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.



More information about the dev mailing list