[PATCH v2] net/ice: fix DCF state checking mechanism

Zhang, Peng1X peng1x.zhang at intel.com
Thu May 19 08:05:44 CEST 2022


This patch is aim to fix the mentioned situation.
After having failed to create rule, error code is EINVAL or EAGAIN depends whether DCF is enabled and DCF state is on or not.
In this patch conduct DPDK DCF state by create or destroy rule successfully or not.
Before patch is applied, the steps of error phenomena:
step 1. DPDK DCF state has been set to on after VF has reset and multiple rules are creating.
step 2. A VF reset happen immediately, kernel send an event to DPDK DCF and set STATE to pause.
step 3. Before DPDK DCF receive the event, it is possible a rule creation is ongoing, 
then in virtual channel queue, the rule request is in front of the "re-connect", then it will be rejected.
step 4. But the DPDK DCF state is not set to pause, error code will be set as EINVAL, not EAGAIN.
After patch is applied, the upper error should be fixed for the upper situation.
Because in step 3,because rule request is rejected, then create rule fail.
DPDK DCF state will be still pause state, and DPDK DCF is enabled.
According to the logic of conduct error code after create rule fail, error code is EAGAIN.

> -----Original Message-----
> From: Zhang, Qi Z <qi.z.zhang at intel.com>
> Sent: Wednesday, May 18, 2022 2:46 PM
> To: Zhang, Peng1X <peng1x.zhang at intel.com>; Yang, Qiming
> <qiming.yang at intel.com>; dev at dpdk.org
> Cc: stable at dpdk.org
> Subject: RE: [PATCH v2] net/ice: fix DCF state checking mechanism
> 
> 
> 
> > -----Original Message-----
> > From: Zhang, Peng1X <peng1x.zhang at intel.com>
> > Sent: Wednesday, May 18, 2022 2:36 PM
> > To: Zhang, Qi Z <qi.z.zhang at intel.com>; Yang, Qiming
> > <qiming.yang at intel.com>; dev at dpdk.org
> > Cc: stable at dpdk.org
> > Subject: RE: [PATCH v2] net/ice: fix DCF state checking mechanism
> >
> > Ok, because error phenomena happens during the period VF reset again
> > and again following situation will possible happen as following steps describe:
> > step 1. DCF state has been set to on after VF has reset.
> > step 2. A VF reset happen, kernel send an event to DCF and set STATE to
> pause.
> > step 3. Before DCF receive the event, it is possible a rule creation
> > is ongoing, then in virtual channel queue, the rule request is in
> > front of the "re-connect", then it will be rejected.
> > step 4.But the DCF state is not set to pause, according to previous
> > logic error code will be EINVAL, while not EAGAIN.
> >
> > In conclusion, in upper situation error code which should not be
> > EINVAL and EAGAIN is expected.
> 
> Ok, Please send a new version



More information about the stable mailing list