On 9/28/2018 12:51 AM, Dan Gora wrote:
> On Thu, Sep 27, 2018 at 8:44 PM, Ferruh Yigit <ferruh.yi...@intel.com> wrote:
>>> Well, yes the link_status (link up, link down) _is_ applied to the KNI
>>> interface.  When that occurs, most people want to know what the link
>>> speed is that the link came up at.
>>
>> +1 to this, people would like to know link speed of the interface.
>> Are you printing link speed of interface? You are printing whatever user 
>> pass to
>> API.
> 
> There is no such thing as "link speed of the interface".  The link
> speed is the speed of the underlying Ethernet link that the interface
> corresponds to.  This is true for all other ethernet interfaces in the
> kernel.

This is an API to set link status of KNI interface, KNI interface is a virtual
interface and no need to be backed by a physical interface at all.

Only kni sample application uses it in a way to match a physical interface to a
KNI interface, but please check KNI PMD where you can have multiple KNI
interface without any physical device at all.

> 
>> I guess you trust to user to provide correct values there, but since only 
>> link
>> up & down matters, what prevents user to leave other fields, like speed, just
>> random values?
> 
> Nothing.  What prevents anyone from providing random values for
> anything?  The point of the API was to make it super simple, just:
> 
> rte_eth_link_get_nowait(portid, &link);
> rte_kni_update_link(p[portid]->kni[i], &link);

You are only thinking about this use case. Normally the input to API should be
verified right, for this case there is no way to verify it and vales are not
used at all, it is just printed in API.

OK to print link information but please do so in sample application before
calling API, not in API please.

> 
> No messing around with the link info retrieved from
> rte_eth_link_get(_nowait), just dump in the struct that was returned.
> 

Reply via email to