From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v2 1/5] kni: add API to set link status on kernel interface Date: Fri, 28 Sep 2018 09:03:06 +0100 Message-ID: <7811a241-524d-21fd-4852-b63e2bba7332@intel.com> References: <20180911232906.18352-1-dg@adax.com> <20180919195549.5585-1-dg@adax.com> <20180919195549.5585-2-dg@adax.com> <671135e5-a666-4254-c5c6-672c3863146b@intel.com> <61731242-db6c-0c5d-bcab-e82b45e324d7@intel.com> <846eed94-2ed7-7b89-5a3e-696ec3674a26@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, Igor Ryzhov , Stephen Hemminger To: Dan Gora Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id EA3741B199 for ; Fri, 28 Sep 2018 10:03:10 +0200 (CEST) In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 9/28/2018 12:51 AM, Dan Gora wrote: > On Thu, Sep 27, 2018 at 8:44 PM, Ferruh Yigit 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. >