From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ferruh.yigit@intel.com>
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by dpdk.org (Postfix) with ESMTP id 0E9713256
 for <dev@dpdk.org>; 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?= <gaetan.rivet@6wind.com>
Cc: dev@dpdk.org
References: <cover.1500130634.git.gaetan.rivet@6wind.com>
 <cover.1500381641.git.gaetan.rivet@6wind.com>
 <d9bda0c2-0e1b-79ae-453a-2fe43118c840@intel.com>
 <63b3e33c-cc68-7a9a-c41c-91ff2ada50ff@intel.com>
 <20170803134920.GF8124@bidouze.vm.6wind.com>
From: Ferruh Yigit <ferruh.yigit@intel.com>
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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
>