[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