-----Original Message----- From: dev [mailto:dev-boun...@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