[dpdk-stable] [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

Xu, Rosen rosen.xu at intel.com
Thu Jul 12 08:22:42 CEST 2018


Hi Ori,

Pls see my reply.

Hi Walter and Ferruh,

I need your voice :)

> -----Original Message-----
> From: Ori Kam [mailto:orika at mellanox.com]
> Sent: Thursday, July 12, 2018 13:58
> To: Xu, Rosen <rosen.xu at intel.com>; dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; stable at dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf
> initialization
> 
> Hi,
> 
> PSB
> 
> > -----Original Message-----
> > From: Xu, Rosen [mailto:rosen.xu at intel.com]
> > Sent: Thursday, July 12, 2018 8:27 AM
> > To: Ori Kam <orika at mellanox.com>; dev at dpdk.org
> > Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; stable at dpdk.org
> > Subject: RE: [dpdk-dev] [PATCH] examples/flow_filtering: add
> > rte_fdir_conf initialization
> >
> > Hi Ori,
> >
> > examples/flow_filtering sample app fails on i40e [1] because i40e
> > requires explicit FDIR configuration.
> >
> > But rte_flow in and hardware independent ways of describing
> > flow-action, it shouldn't require specific config options for specific
> hardware.
> >
> 
> I don't understand why using rte flow require the use of fdir.
> it doesn't make sense to me, that  new API will need old one.

It's a good question, I also have this question about Mellanox NIC Driver mlx5_flow.c.
In this file many flow functions call fdir. :)

> > Is there any chance driver select the FDIR config automatically based
> > on rte_flow rule, unless explicitly a FDIR config set by user?
> 
> I don't know how the i40e driver is implemented but I know that Mellanox
> convert the other way around, if fdir is given it is converted to rte_flow.

Firstly, rte_fdir_conf is part of rte_eth_conf definition.
	struct rte_eth_conf {
		......
		struct rte_fdir_conf fdir_conf; /**< FDIR configuration. */
		......
	};
Secondly, default value of rte_eth_conf.fdir_conf.mode is RTE_FDIR_MODE_NONE, which means Disable FDIR support.
Thirdly, flow_filtering should align with test-pmd, in test-pmd all fdir_conf is initialized.
 
> 
> >
> > [1]
> > Flow can't be created 1 message: Check the mode in fdir_conf.
> > EAL: Error - exiting with code: 1
> >
> > > -----Original Message-----
> > > From: Ori Kam [mailto:orika at mellanox.com]
> > > Sent: Thursday, July 12, 2018 13:17
> > > To: Xu, Rosen <rosen.xu at intel.com>; dev at dpdk.org
> > > Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; stable at dpdk.org; Ori Kam
> > > <orika at mellanox.com>
> > > Subject: RE: [dpdk-dev] [PATCH] examples/flow_filtering: add
> > rte_fdir_conf
> > > initialization
> > >
> > > Hi Rosen,
> > >
> > > Why do the fdir_conf must be initialized?
> > >
> > > What is the issue you are seeing?
> > >
> > > Best,
> > > Ori
> > >
> > > > -----Original Message-----
> > > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Rosen Xu
> > > > Sent: Thursday, July 12, 2018 5:10 AM
> > > > To: dev at dpdk.org
> > > > Cc: rosen.xu at intel.com; ferruh.yigit at intel.com; Ori Kam
> > > > <orika at mellanox.com>; stable at dpdk.org
> > > > Subject: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf
> > > > initialization
> > > >
> > > > Rte_fdir_conf of rte_eth_conf should be initialized before port
> > > > initialization.
> > > >
> > > > Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of
> flow
> > > > API")
> > > > Cc: stable at dpdk.org
> > > >
> > > > Signed-off-by: Rosen Xu <rosen.xu at intel.com>
> > > > ---
> > > >  examples/flow_filtering/main.c | 6 ++++++
> > > >  1 file changed, 6 insertions(+)
> > > >
> > > > diff --git a/examples/flow_filtering/main.c
> > > > b/examples/flow_filtering/main.c index f595034..aa03e23 100644
> > > > --- a/examples/flow_filtering/main.c
> > > > +++ b/examples/flow_filtering/main.c
> > > > @@ -132,6 +132,12 @@
> > > >  				DEV_TX_OFFLOAD_SCTP_CKSUM  |
> > > >  				DEV_TX_OFFLOAD_TCP_TSO,
> > > >  		},
> > > > +		.fdir_conf = {
> > > > +			.mode = RTE_FDIR_MODE_PERFECT,
> > > > +			.pballoc = RTE_FDIR_PBALLOC_64K,
> > > > +			.status = RTE_FDIR_REPORT_STATUS,
> > > > +			.drop_queue = 127,
> > > > +		},
> > > >  	};
> > > >  	struct rte_eth_txconf txq_conf;
> > > >  	struct rte_eth_rxconf rxq_conf;
> > > > --
> > > > 1.8.3.1



More information about the stable mailing list