[dpdk-dev] [dpdk-stable] [PATCH] net/i40e: fix assignment of enum values

Wu, Jingjing jingjing.wu at intel.com
Sat Sep 23 04:05:46 CEST 2017



> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Saturday, September 23, 2017 12:48 AM
> To: Jastrzebski, MichalX K <michalx.k.jastrzebski at intel.com>; Wu, Jingjing
> <jingjing.wu at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org; Jain, Deepak K <deepak.k.jain at intel.com>; Kulasek, TomaszX
> <tomaszx.kulasek at intel.com>; stable at dpdk.org
> Subject: Re: [dpdk-stable] [PATCH] net/i40e: fix assignment of enum values
> 
> On 9/22/2017 1:36 PM, Michal Jastrzebski wrote:
> > From: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> >
> > mixed_enums: Mixing enum types enum i40e_vsi_type and enum
> >              virtchnl_vsi_type for type
> >
> > Coverity issue 158651
> > Fixes: a58860f68929 ("net/i40e/base: use new virtchnl header file")
> > Cc: jingjing.wu at intel.com
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev_vf.c | 10 +++++++++-
> >  1 file changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> > index 73c315a..a8d2740 100644
> > --- a/drivers/net/i40e/i40e_ethdev_vf.c
> > +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> > @@ -1295,7 +1295,15 @@ static int i40evf_dev_xstats_get(struct rte_eth_dev *dev,
> >  	if (hw->mac.type == I40E_MAC_X722_VF)
> >  		vf->flags = I40E_FLAG_RSS_AQ_CAPABLE;
> >  	vf->vsi.vsi_id = vf->vsi_res->vsi_id;
> > -	vf->vsi.type = (enum i40e_vsi_type)vf->vsi_res->vsi_type;
> > +
> > +	switch (vf->vsi_res->vsi_type) {
> > +	case VIRTCHNL_VSI_SRIOV:
> > +		vf->vsi.type = I40E_VSI_SRIOV;
> > +		break;
> > +	default:
> > +		vf->vsi.type = I40E_VSI_TYPE_UNKNOWN;
> 
> This changes the behavior.
> 
> Previously:
> vsi_type == VIRTCHNL_VSI_TYPE_INVALID ?  type = I40E_VSI_MAIN
> 
> Now:
> vsi_type == VIRTCHNL_VSI_TYPE_INVALID ?  type = I40E_VSI_TYPE_UNKNOWN

For vsi_type in VF, only SRIOV type is valid. 
I40E_VSI_MAIN is used for PF Lan vsi, even it doesn't cause error, but 
we need to translate it to correct meaning.

Acked-by: Jingjing Wu <jingjing.wu at intel.com>



More information about the dev mailing list