[dpdk-dev] [PATCH] ixgbe: Alternative fix for 82599 Bypass NIC, getting incorrect media type

Ananyev, Konstantin konstantin.ananyev at intel.com
Tue Jun 24 17:30:55 CEST 2014


Hi Helin,

> -----Original Message-----
> From: Zhang, Helin
> Sent: Tuesday, June 24, 2014 4:23 PM
> To: Ananyev, Konstantin; De Lara Guarch, Pablo
> Cc: dev at dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] ixgbe: Alternative fix for 82599 Bypass NIC, getting incorrect media type
> 
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananyev, Konstantin
> Sent: Tuesday, June 24, 2014 10:47 PM
> To: De Lara Guarch, Pablo; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] ixgbe: Alternative fix for 82599 Bypass NIC, getting incorrect media type
> 
> 
> > This was previosly solved in commit
> > 60a70d4e042350ca0f9200334b341063438be89b,
> > but this alternative fix solves the same issue, but without modifying
> > the ixgbe shared code.
> >
> > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
> > ---
> >  lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c  |    3 --
> >  lib/librte_pmd_ixgbe/ixgbe_82599_bypass.c |   35 ++++++++++++++++++----------
> >  2 files changed, 22 insertions(+), 16 deletions(-)
> >
> > diff --git a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c
> > b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c
> > index 93c4e35..ed97ad9 100644
> > --- a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c
> > +++ b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c
> > @@ -537,9 +537,6 @@ enum ixgbe_media_type ixgbe_get_media_type_82599(struct ixgbe_hw *hw)
> >  	case IXGBE_DEV_ID_82599_SFP_SF2:
> >  	case IXGBE_DEV_ID_82599_SFP_SF_QP:
> >  	case IXGBE_DEV_ID_82599EN_SFP:
> > -#ifdef RTE_NIC_BYPASS
> > -	case IXGBE_DEV_ID_82599_BYPASS:
> > -#endif
> >  		media_type = ixgbe_media_type_fiber;
> >  		break;
> >  	case IXGBE_DEV_ID_82599_CX4:
> > diff --git a/lib/librte_pmd_ixgbe/ixgbe_82599_bypass.c
> > b/lib/librte_pmd_ixgbe/ixgbe_82599_bypass.c
> > index 27a5f70..6748ea4 100644
> > --- a/lib/librte_pmd_ixgbe/ixgbe_82599_bypass.c
> > +++ b/lib/librte_pmd_ixgbe/ixgbe_82599_bypass.c
> > @@ -256,19 +256,6 @@ out:
> >  	return status;
> >  }
> >
> > -/*
> > - * Wrapper around ND functions to support BYPASS nic.
> > - */
> > -s32
> > -ixgbe_bypass_init_shared_code(struct ixgbe_hw *hw) -{
> > -	if (hw->device_id == IXGBE_DEV_ID_82599_BYPASS) {
> > -		hw->mac.type = ixgbe_mac_82599EB;
> > -	}
> > -
> > -	return (ixgbe_init_shared_code(hw));
> > -}
> > -
> >  static enum ixgbe_media_type
> >  ixgbe_bypass_get_media_type(struct ixgbe_hw *hw)  { @@ -284,6 +271,28
> > @@ ixgbe_bypass_get_media_type(struct ixgbe_hw *hw)
> >  	return (media_type);
> >  }
> >
> > +/*
> > + * Wrapper around ND functions to support BYPASS nic.
> > + */
> > +s32
> > +ixgbe_bypass_init_shared_code(struct ixgbe_hw *hw) {
> > +	s32 ret_val;
> > +
> > +	if (hw->device_id == IXGBE_DEV_ID_82599_BYPASS) {
> > +		hw->mac.type = ixgbe_mac_82599EB;
> > +	}
> > +
> > +	ret_val = ixgbe_init_shared_code(hw);
> > +	if (hw->device_id == IXGBE_DEV_ID_82599_BYPASS) {
> > +		hw->mac.ops.get_media_type = &ixgbe_bypass_get_media_type;
> > +		ixgbe_init_mac_link_ops_82599(hw);
> > +	}
> > +
> > +	return ret_val;
> > +}
> > +
> > +
> >  s32
> >  ixgbe_bypass_init_hw(struct ixgbe_hw *hw)  {
> > --
> 
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> 
> --------------------------------------------------------------------------------------------------------
> 
> Hi Pablo
> 
> It seems that you modified ixgbe_82599.c. Do we really need to do that modification in ixgbe_82599.c? Generally we try to avoid doing
> that.
> 
> Regards,
> Helin

Actually that's the purpose of that patch: fix the problem without modifying shared code.
So he removing previous modifications in the shared code.
Konstantin


More information about the dev mailing list