Hi Ori,

Pls see my reply.

Hi Walter and Ferruh,

I need your voice :)

> -----Original Message-----
> From: Ori Kam [mailto:[email protected]]
> Sent: Thursday, July 12, 2018 13:58
> To: Xu, Rosen <[email protected]>; [email protected]
> Cc: Yigit, Ferruh <[email protected]>; [email protected]
> Subject: RE: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf
> initialization
> 
> Hi,
> 
> PSB
> 
> > -----Original Message-----
> > From: Xu, Rosen [mailto:[email protected]]
> > Sent: Thursday, July 12, 2018 8:27 AM
> > To: Ori Kam <[email protected]>; [email protected]
> > Cc: Yigit, Ferruh <[email protected]>; [email protected]
> > 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:[email protected]]
> > > Sent: Thursday, July 12, 2018 13:17
> > > To: Xu, Rosen <[email protected]>; [email protected]
> > > Cc: Yigit, Ferruh <[email protected]>; [email protected]; Ori Kam
> > > <[email protected]>
> > > 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:[email protected]] On Behalf Of Rosen Xu
> > > > Sent: Thursday, July 12, 2018 5:10 AM
> > > > To: [email protected]
> > > > Cc: [email protected]; [email protected]; Ori Kam
> > > > <[email protected]>; [email protected]
> > > > 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: [email protected]
> > > >
> > > > Signed-off-by: Rosen Xu <[email protected]>
> > > > ---
> > > >  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

Reply via email to