From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 496761BDDB for ; Thu, 5 Jul 2018 09:54:27 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jul 2018 00:54:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,311,1526367600"; d="scan'208";a="70226574" Received: from jguo15x-mobl3.ccr.corp.intel.com (HELO [10.67.68.63]) ([10.67.68.63]) by orsmga001.jf.intel.com with ESMTP; 05 Jul 2018 00:54:20 -0700 To: Matan Azrad , Thomas Monjalon References: <1498711073-42917-1-git-send-email-jia.guo@intel.com> <07fb8f04-adee-fd0e-05b5-8d1bcca1338d@intel.com> <2612071.aGzFhBPpOt@xps> Cc: "dev@dpdk.org" , "stephen@networkplumber.org" , "bruce.richardson@intel.com" , "ferruh.yigit@intel.com" , "konstantin.ananyev@intel.com" , "gaetan.rivet@6wind.com" , "jingjing.wu@intel.com" , Mordechay Haimovsky , "harry.van.haaren@intel.com" , "qi.z.zhang@intel.com" , "shaopeng.he@intel.com" , "bernard.iremonger@intel.com" , "shreyansh.jain@nxp.com" , "helin.zhang@intel.com" From: "Guo, Jia" Message-ID: <1306d561-7f94-7fb4-eaf3-69fed092e4de@intel.com> Date: Thu, 5 Jul 2018 15:54:15 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH V4 8/9] app/testpmd: show example to handle hot unplug 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: Thu, 05 Jul 2018 07:54:27 -0000 On 7/4/2018 3:06 PM, Matan Azrad wrote: > Hi Thomas, Guo > > From: Thomas Monjalon >> 03/07/2018 11:35, Guo, Jia: >>> On 7/1/2018 3:46 PM, Matan Azrad wrote: >>>> From: Jeff Guo >>>>> --- a/app/test-pmd/testpmd.c >>>>> +++ b/app/test-pmd/testpmd.c >>>>> @@ -2206,9 +2209,12 @@ eth_dev_event_callback(char >> *device_name, >>>>> enum rte_dev_event_type type, >>>>> case RTE_DEV_EVENT_REMOVE: >>>>> RTE_LOG(ERR, EAL, "The device: %s has been removed!\n", >>>>> device_name); >>>>> - /* TODO: After finish failure handle, begin to stop >>>>> - * packet forward, stop port, close port, detach port. >>>>> - */ >>>>> + ret = rte_eth_dev_get_port_by_name(device_name, >> &port_id); >>>> As you probably know, 1 rte_device may be associated to more than one >> ethdev ports, so the ethdev port name can be different from rte_device >> name. >>>> Looks like we need a new ethdev API to get all the ports associated to >> one rte_device. >>> agree, seems that the the old ethdev API have some issue when got all >>> port by device name. we could check with ethdev maintainer and fix it >>> by specific ethdev patch later. >> This ethdev function could return an error if several ports match. >> > Just to clarify: > > The ethdev name may be different from the rte_device name of a port, > The rte_eth_dev_get_port_by_name() searches the ethdev name and not the rte_device name. > >> Ideally, we should not use this function at all. >> If you want to manage an ethdev port, why are you using an EAL event? >> There is an ethdev callback mechanism for port removal. > So, looks like the EAL event should trigger an ethdev event for all the ports associated to this rte_device. > I think that the best one to do it is the PMD, so maybe the PMD(which wants to support hot unplug) should register to the EAL event and to trigger an ethdev RMV event from the EAL callback. > > What do you think? > i think matan give an constructive option to combine the usage of eal event and ethdev event, but i am not sure which is the best one. So let this discuss on going, i will remove this 8/9 and 9/9 patches, let the patch set focus on the hotplug failure mechanism , and will use another patch set to cover the event management example in testpmd. > >