From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 2AADBAAD3 for ; Mon, 16 Apr 2018 18:10:31 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Apr 2018 09:10:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,459,1517904000"; d="scan'208";a="42341970" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.42]) ([10.237.221.42]) by FMSMGA003.fm.intel.com with ESMTP; 16 Apr 2018 09:10:24 -0700 To: Tiwei Bie Cc: Qi Zhang , Xiao Wang , John McNamara , Marko Kovacevic , Beilei Xing , Wenzhuo Lu , Rasesh Mody , Harish Patil , Shahed Shaikh , Tetsuya Mukawa , Yuanhan Liu , Maxime Coquelin , Marcin Wojtas , Michal Krawczyk , Guy Tzalik , Evgeny Schemeilin , Konstantin Ananyev , Adrien Mazarguil , Nelio Laranjeiro , Yongseok Koh , dev@dpdk.org References: <20180313180534.232296-1-ferruh.yigit@intel.com> <20180410154102.uv7og3ff4y5ylc3m@debian> <20180414105546.25vqtpcfkexwlkhp@debian> From: Ferruh Yigit Openpgp: preference=signencrypt Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 Q6pZKA2mTQxEKA== Message-ID: Date: Mon, 16 Apr 2018 17:10:24 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180414105546.25vqtpcfkexwlkhp@debian> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] drivers/net: update link status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Apr 2018 16:10:31 -0000 On 4/14/2018 11:55 AM, Tiwei Bie wrote: > On Fri, Apr 13, 2018 at 10:53:55PM +0100, Ferruh Yigit wrote: >> On 4/10/2018 4:41 PM, Tiwei Bie wrote: >>> On Tue, Mar 13, 2018 at 06:05:34PM +0000, Ferruh Yigit wrote: >>>> Update link status related feature document items and minor updates in >>>> some link status related functions. >>>> >>>> Signed-off-by: Ferruh Yigit >>>> --- >>>> doc/guides/nics/features/fm10k.ini | 2 ++ >>>> doc/guides/nics/features/fm10k_vf.ini | 2 ++ >>>> doc/guides/nics/features/i40e_vf.ini | 1 + >>>> doc/guides/nics/features/igb_vf.ini | 1 + >>>> doc/guides/nics/features/qede.ini | 1 - >>>> doc/guides/nics/features/qede_vf.ini | 1 - >>>> doc/guides/nics/features/vhost.ini | 2 -- >>>> doc/guides/nics/features/virtio_vec.ini | 1 + >>>> drivers/net/e1000/em_ethdev.c | 2 +- >>>> drivers/net/ena/ena_ethdev.c | 2 +- >>>> drivers/net/fm10k/fm10k_ethdev.c | 6 ++---- >>>> drivers/net/i40e/i40e_ethdev_vf.c | 2 +- >>>> drivers/net/ixgbe/ixgbe_ethdev.c | 2 +- >>>> drivers/net/mlx4/mlx4_ethdev.c | 2 +- >>>> drivers/net/mlx5/mlx5_ethdev.c | 2 +- >>>> 15 files changed, 15 insertions(+), 14 deletions(-) >>> [...] >>>> diff --git a/doc/guides/nics/features/vhost.ini b/doc/guides/nics/features/vhost.ini >>>> index dffd1f493..31302745a 100644 >>>> --- a/doc/guides/nics/features/vhost.ini >>>> +++ b/doc/guides/nics/features/vhost.ini >>>> @@ -4,8 +4,6 @@ >>>> ; Refer to default.ini for the full list of available PMD features. >>>> ; >>>> [Features] >>>> -Link status = Y >>>> -Link status event = Y >>> >>> I think vhost PMD supports above features. >> >> I am not able to find where it is supported. >> >> Some virtual PMDs report fixed link, with empty link_update() dev_ops, and they >> are not reported as supporting Link status, as far as I can see vhost also one >> of them. >> >> And for Link status event, PMD needs to support LSC interrupts and should >> register interrupt handler for it, which I can't find for vhost. >> >> I will send next version without updating above one, please point me where these >> support added if I missed them. > > In drivers/net/vhost/rte_eth_vhost.c you could find below functions: > > static int > new_device(int vid) > { > ...... > > eth_dev->data->dev_link.link_status = ETH_LINK_UP; > > ...... > > _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL); > > ...... > } > > static void > destroy_device(int vid) > { > ...... > > eth_dev->data->dev_link.link_status = ETH_LINK_DOWN; > > ...... > > _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL); > > ...... > } > > They are the callbacks for vhost library. > > When a frontend (e.g. QEMU) is connected to this vhost backend > and the frontend virtio device becomes ready, new_device() will > be called by the vhost library, and the link status will be > updated to UP. > > And when e.g. the connection is closed, destroy_device() will be > called by the vhost library, and the link status will be updated > to DOWN. Got it. This behavior is similar for virtual PMDs. Provide static link information and update link as UP during start and update it as DOWN during stop. Other virtual PMDs doesn't report this feature, so removed from vhost as well for consistency. > > So vhost PMD reports meaningful link status and also generates > link status events. Yes PMD process user callbacks on link change [1], but I am not sure that is what meant from "link status event", what I understand is link interrupts supported in PMD level which seems not the case for vhost. [1] This is something else but why calling user callback in link update is in PMD discretion, shouldn't it be something done automatically in ethdev layer, somehow. > > Thanks >