2018-06-11 18:15 GMT+02:00 Chas Williams <3ch...@gmail.com>:
>
>
> On Mon, Jun 11, 2018 at 4:01 AM Michał Krawczyk <m...@semihalf.com> wrote:
>>
>> 2018-06-10 3:35 GMT+02:00 Chas Williams <3ch...@gmail.com>:
>> >
>> >
>> > On Fri, Jun 8, 2018 at 3:37 PM Ferruh Yigit <ferruh.yi...@intel.com>
>> > wrote:
>> >>
>> >> On 6/7/2018 10:43 AM, Michal Krawczyk wrote:
>> >> > From: Rafal Kozik <r...@semihalf.com>
>> >> >
>> >> > Link speed should is not limited to 10Gb/s and it shouldn't be
>> >> > hardcoded.
>> >> >
>> >> > They link speed is set to none instead and the applications shouldn't
>> >> > rely on this value when using ENA PMD.
>> >>
>> >> Why not able to set link speed?
>> >>
>> >> And what is the link_autoneg, ETH_LINK_FIXED? What is the point of
>> >> setting
>> >> link
>> >> speed FIXED and later speed value NONE?
>> >
>> >
>> > The link speed is part of the spanning tree path computation.  I don't
>> > think
>> > picking 0 (or undefined)
>> > is the appropriate choice.  For virtual interfaces link speed is a
>> > troublesome quantity but advertising
>> > undefined seems worse then just use some constant value.
>> >
>>
>> Setting constant value is not making much sense in the virtualized
>> environment (ENA can be only used in the cloud). Link speed can be
>> very flexible in that case and that's why ENA isn't providing it. If
>> we will use constant value, what it should be? It may lead to
>> confusion or can result in the performance issues because some
>> applications are relying on this number to send max traffic.
>
>
> What applications are using this value to determine the transmit speed?
>

The pktgen for example.

>>
>> Applications should not make assumption that the link speed is always
>> giving valid value and if it is not, they should try to configure rate
>> dynamically, instead of statically.
>
>
> So advertising a fixed speed of 10G should be perfectly fine.  The
> application should not assume 10G is a valid value and will attempt
> to dynamically configure the rate.
>
> The link speed should never be used to determine a transmit rate
> for an application because you don't know the speeds in the middle
> of the network.

If we have higher upper limit, which is 25G, wouldn't that make more
sense to set is as a link speed, so the user could take it as a hint
what the upper limit is? If you prefer to keep the 10G value instead,
we will probably revert this patch.

>>
>>
>> >>
>> >>
>> >> >
>> >> > Fixes: 1173fca ("ena: add polling-mode driver")
>> >>
>> >> For next time can you please use git alias to have consistent Fixes
>> >> format
>> >>
>> >> >
>> >> > Signed-off-by: Rafal Kozik <r...@semihalf.com>
>> >> > Acked-by: Michal Krawczyk <m...@semihalf.com>
>> >> > ---
>> >> >  drivers/net/ena/ena_ethdev.c | 2 +-
>> >> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >> >
>> >> > diff --git a/drivers/net/ena/ena_ethdev.c
>> >> > b/drivers/net/ena/ena_ethdev.c
>> >> > index 5c3b6494f..9ae73e331 100644
>> >> > --- a/drivers/net/ena/ena_ethdev.c
>> >> > +++ b/drivers/net/ena/ena_ethdev.c
>> >> > @@ -848,7 +848,7 @@ static int ena_link_update(struct rte_eth_dev
>> >> > *dev,
>> >> >       adapter = (struct ena_adapter *)(dev->data->dev_private);
>> >> >
>> >> >       link->link_status = adapter->link_status ? ETH_LINK_UP :
>> >> > ETH_LINK_DOWN;
>> >> > -     link->link_speed = ETH_SPEED_NUM_10G;
>> >> > +     link->link_speed = ETH_SPEED_NUM_NONE;
>> >> >       link->link_duplex = ETH_LINK_FULL_DUPLEX;
>> >> >
>> >> >       return 0;
>> >> >
>> >>
>> >

Reply via email to