From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v4 1/3] lib/librte_ether: add support for port reset Date: Thu, 13 Apr 2017 12:06:32 +0200 Message-ID: <4157272.TqMeIE0yWW@xps13> References: <1490866456-52241-1-git-send-email-wei.zhao1@intel.com> <2601191342CEEE43887BDE71AB9772583FAE5871@IRSMSX109.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: "Ananyev, Konstantin" , "Mcnamara, John" , dev@dpdk.org, "Lu, Wenzhuo" To: "Zhao1, Wei" Return-path: Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by dpdk.org (Postfix) with ESMTP id 8857B2C6E for ; Thu, 13 Apr 2017 12:06:34 +0200 (CEST) Received: by mail-wr0-f180.google.com with SMTP id z109so32560648wrb.1 for ; Thu, 13 Apr 2017 03:06:34 -0700 (PDT) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2017-04-13 08:55, Zhao1, Wei: > From: Ananyev, Konstantin > > From: Zhao1, Wei > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > > 2017-04-06 02:57, Zhao1, Wei: > > > > > > /** > > > > > > > + * Reset an ethernet device when it's not working. One > > > > > > > + scenario is, after PF > > > > > > > + * port is down and up, the related VF port should be reset. > > > > > > > + * The API will stop the port, clear the rx/tx queues, > > > > > > > + re-setup the rx/tx > > > > > > > + * queues, restart the port. > > > > > > > > > > > > s/The API/This function/ > > > > > > > > > > > > Please explain exactly the responsibility of this function, and > > > > > > how it is different from calling stop/configure/start. > > > > > > > > > > In this reset feature, reset function can do the calling > > > > > stop/configure/start process, but also It can also do some restore > > > > > work for the port, for example, it can restore the added > > > > > parameters of > > > > vlan, mac_addrs, promisc_unicast_enabled falg and > > > > promisc_multicast_enabled flag. > > > > Ok, but why start/stop can't do these things? > > Konstantin > > This is because in i40e PMD code, start and stop process do not have the process of store and restore > the added key parameters. Not only i40e but also other PMD code. So, in the function pointed to by dev_reset, > we add specific function do store and restore of some of the important parameters listed above. Why store and restore cannot be implemented in start/stop functions?