From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 0E9713256 for ; Thu, 3 Aug 2017 17:48:27 +0200 (CEST) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP; 03 Aug 2017 08:48:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,316,1498546800"; d="scan'208";a="135710083" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.48]) ([10.237.220.48]) by fmsmga006.fm.intel.com with ESMTP; 03 Aug 2017 08:48:26 -0700 To: =?UTF-8?Q?Ga=c3=abtan_Rivet?= Cc: dev@dpdk.org References: <63b3e33c-cc68-7a9a-c41c-91ff2ada50ff@intel.com> <20170803134920.GF8124@bidouze.vm.6wind.com> From: Ferruh Yigit Message-ID: <562541a2-f483-d776-7eae-af402e43c17c@intel.com> Date: Thu, 3 Aug 2017 16:48:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170803134920.GF8124@bidouze.vm.6wind.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v11 00/11] introduce fail-safe PMD 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, 03 Aug 2017 15:48:29 -0000 On 8/3/2017 2:49 PM, Gaƫtan Rivet wrote: > On Thu, Aug 03, 2017 at 02:00:15PM +0100, Ferruh Yigit wrote: >> On 7/18/2017 5:08 PM, Ferruh Yigit wrote: >>> On 7/18/2017 1:48 PM, Gaetan Rivet wrote: >>>> This PMD intercepts and manages Ethernet device removal events issued by >>>> slave PMDs and re-initializes them transparently when brought back so that >>>> existing applications do not need to be modified to benefit from true >>>> hot-plugging support. >>>> >>>> The stacked PMD approach shares many similarities with the bonding PMD but >>>> with a different purpose. While bonding provides the ability to group >>>> several links into a single logical device for enhanced throughput and >>>> supports fail-over at link level, this one manages the sudden disappearance >>>> of the underlying device; it guarantees applications face a valid device in >>>> working order at all times. >>>> >>>> Each fail-safe instance is configured to run atop one or several >>>> devices, with one defined as the preferred device. Hot-plug events are >>>> handled on all of them, and Tx is always directed to the preferred device >>>> if present or to the next available failover device (Rx is always performed >>>> on all devices for simplicity). >>>> >>>> Moreover, the configured slaves (preferred or failover) do not need to be >>>> present at initialization time and may appear later. >>>> >>>> Slaves configuration is continuously synchronized with that of the virtual >>>> device, which exposes their common set of capabilities to the application. >>>> Failure to apply the current configuration state to a slave for any reason >>>> simply reschedules its initialization. >>>> >>>> This patchset depends on: >>>> >>>> [dpdk-dev] [PATCH v4 0/8] fix hotplug API >>>> http://dpdk.org/ml/archives/dev/2017-July/071340.html >>>> >>>> v1 --> v2: >>>> >>>> - Wrote documentation >>>> - Fixed commit logs, signed-off-by >>>> - Added LSC event support >>>> - A few minor fixes >>>> >>>> v2 --> v3: >>>> >>>> - Numerous bug fixes. >>>> - Complete sub-EAL rework to follow new bus API. >>>> - burst protection on sub removal. >>>> - more flexible sub definition. >>>> - flow isolated mode support. >>>> >>>> v3 --> v4: >>>> >>>> - Split back commits >>>> net/failsafe: add fast burst functions >>>> net/failsafe: support device removal >>>> That were squashed by error during a rebase >>>> - Fix segfault on port plugin >>>> - Fix isolate mode support for MLX4 ports plugin >>>> >>>> v4 --> v5: >>>> >>>> - Follow new plug / unplug API. >>>> >>>> v5 --> v6: >>>> >>>> - Follow new hotplug API. >>>> - Improve usability of hotplug API. >>>> - Fix rte_dev hotplug API implementation. >>>> - Introduce rte_eal_devargs_rmv API as EXPERIMENTAL. >>>> - Use it to clean up resources on hotplug_remove. >>>> - Fix hotplug implementation and support un pci bus. >>>> The scan was not idempotent, nor clean. >>>> Neither were the device fields. >>>> - Implement plug operation for vdev bus. >>>> This is needed for hotplug support and to make the EAL >>>> independent from vdev-specific API. >>>> - Remove useless parameters from plug / unplug API. >>>> >>>> This patchset is fairly big and complex. The hotplug API has been rushed and >>>> has never been tested outside of the special case of vdev bus. >>>> >>>> These evolutions are proposed alongside this PMD as only this PMD allows to test >>>> this API at the moment, and without those evolutions this PMD cannot be used. >>>> >>>> v6 --> v7 >>>> >>>> - Split the series in three, with >>>> vlan filter configuration store standing alone >>>> Hotplug API fixes separated >>>> Fail-safe PMD on its own. >>>> >>>> These changes should ease integration. >>>> >>>> v7 --> v8 >>>> >>>> - Fix usage examples in documentation. >>>> - Use rte_eth_dev_allocated when relevant. >>>> >>>> v8 --> v9 >>>> >>>> - Use calloc instead of rte_realloc for command line parsing. >>>> - Include errno only when necessary. >>>> >>>> v9 --> v10 >>>> >>>> - Fix rte_flow description double-free issue. >>>> Thanks Raslan for finding the issue :) >>>> - Use RTE_ASSERT instead of assert. >>>> Integrate the debug log of the fail-safe to >>>> RTE_LOG_DEBUG macro as well, allowing dynamic log levels. >>>> - Remove devices post-state-sync during slave upkeep, >>>> to avoid a useless early probe attempt. >>>> >>>> v10 --> v11 >>>> >>>> - Added Glossary in documentation. >>>> - Fixed issues oulined in [1]. >>>> - Removed Rx offload advertizement in feature matrix. >>>> >>>> [1]: http://dpdk.org/ml/archives/dev/2017-July/071406.html >>>> >>>> Gaetan Rivet (11): >>>> ethdev: add deferred intermediate device state >>>> ethdev: count devices consistently >>>> net/failsafe: add fail-safe PMD >>>> net/failsafe: add plug-in support >>>> net/failsafe: add flexible device definition >>>> net/failsafe: support flow API >>>> net/failsafe: support Rx offload capabilities >>>> net/failsafe: add fast burst functions >>>> net/failsafe: support device removal >>>> net/failsafe: support link status change event >>>> net/failsafe: support flow API isolation mode >>> >>> Series applied to dpdk-next-net/master, thanks. >> >> Hi Gaetan, >> >> Can you please send a patch to update release notes to announce the new PMD? >> > > Hi Ferruh, > > Sure > >> And can you also send a web page to list the PMD within supported NICs [1]? >> > > How can I do that? Is there a git repository for dpdk.org I can propose > a patch for? Yes there is a dpdk-web repo: http://dpdk.org/browse/tools/dpdk-web/ > >> Thanks, >> ferruh >> >> [1] >> http://dpdk.org/doc/nics >