[dpdk-dev] [PATCH] nfp: extend speed capabilities advertised

Alejandro Lucero alejandro.lucero at netronome.com
Mon Dec 19 17:18:22 CET 2016


On Mon, Dec 19, 2016 at 3:05 PM, Ferruh Yigit <ferruh.yigit at intel.com>
wrote:

> On 12/19/2016 3:02 PM, Alejandro Lucero wrote:
> >
> >
> > On Mon, Dec 19, 2016 at 2:36 PM, Ferruh Yigit <ferruh.yigit at intel.com
> > <mailto:ferruh.yigit at intel.com>> wrote:
> >
> >     Hi Alejandro,
> >
> >
> > Hi,
> >
> >
> >     On 12/19/2016 12:05 PM, Alejandro Lucero wrote:
> >     > NFP supports more speeds than just 40 and 100GB, which were
> >     > what was advertised before.
> >     >
> >     > Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com
> <mailto:alejandro.lucero at netronome.com>>
> >     > ---
> >     >  drivers/net/nfp/nfp_net.c | 4 +++-
> >     >  1 file changed, 3 insertions(+), 1 deletion(-)
> >     >
> >     > diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> >     > index 27afbfd..77015c4 100644
> >     > --- a/drivers/net/nfp/nfp_net.c
> >     > +++ b/drivers/net/nfp/nfp_net.c
> >     > @@ -1077,7 +1077,9 @@ static void nfp_net_read_mac(struct
> nfp_net_hw *hw)
> >     >       dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ;
> >     >       dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ;
> >     >
> >     > -     dev_info->speed_capa = ETH_LINK_SPEED_40G |
> ETH_LINK_SPEED_100G;
> >     > +     dev_info->speed_capa = ETH_SPEED_NUM_1G | ETH_LINK_SPEED_10G
> |
> >     > +                            ETH_SPEED_NUM_25G | ETH_SPEED_NUM_40G
> |
> >     > +                            ETH_SPEED_NUM_50G |
> ETH_LINK_SPEED_100G;
> >
> >     Does all devices driver by this driver supports all these speeds?
> >
> >     I am aware of at least one exception to this, from previous patch
> [1],
> >     should we take that into account?
> >
> >
> > So we have different NFP devices and different firmwares.
> > NFP by design support all those speeds, but the PMD relies on the
> > firmware for being able to know which is the current configured speed
> > after link negotiation. PMD development was done with a specific
> > firmware, and I was told to just report such speed by default. Last
> > firmware versions give that speed info, but old firmware versions do not.
> >
> > So, all devices support such a speed range, indeed PMD works with any of
> > them, but reported speed is always 40G with old firmware. This is a
> > firmware limitation but we have to support old and new firmware.
>
> But this information to the application will be wrong for some (old) FW.
> What do you think checking the FW version here and report capability
> based on what FW supports?
>
>
The driver advertises the right speed range supported. The problem is with
the report about the current link speed configured.
Maybe, is the right thing to do here to not report the current link speed
because the driver really does not know about it?

If you agree with this, I'm afraid the just accepted patch about the link
report needs to be modified.



> >
> >
> >
> >     Also other than that exception, can you please confirm all other
> devices
> >     support all above speeds?
> >
> >     [1]
> >     +       if ((NFD_CFG_MAJOR_VERSION_of(hw->ver) < 4) ||
> >     +           ((NFD_CFG_MINOR_VERSION_of(hw->ver) == 4) &&
> >     +           (NFD_CFG_MINOR_VERSION_of(hw->ver) == 0)))
> >     +               link.link_speed = ETH_SPEED_NUM_40G;
> >
> >
> >     >  }
> >     >
> >     >  static const uint32_t *
> >     >
> >
> >
>
>


More information about the dev mailing list