From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-we0-f174.google.com (mail-we0-f174.google.com [74.125.82.174]) by dpdk.org (Postfix) with ESMTP id 122B6B7BB for ; Fri, 20 Feb 2015 19:07:00 +0100 (CET) Received: by wesx3 with SMTP id x3so7068432wes.6 for ; Fri, 20 Feb 2015 10:06:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=6yKRnw7IJ/pSwxQ303AYLpBVJDwVwVX++Mg6eWhP+js=; b=ZRc3EyrIP1KgiP3QQ3JcuB0c/QxFqgP+8tv4aqEfDFwEzlhjHzczb4b+U/b5Nqru9N jhQW/jDNbvyY1wvas/S08nNigvAjaGQm8iJuKG4sxTUfZrWRxwrECCfLR3lSaaHJbgVr nQX6XKaw9PXAhhmxxESd/YvJ7d0/28S+guEC8MYqn/MZETCTyLKIAD2Wf34Y2N+LW5js HwEnPHUO3T4F42t3owbl5UpADmUe71DzwMARVa3TxqLNKfXsaysmd7s9aQCOxtlFzeMG EGI+7x+BBpW7UxdkAx+8ZlqPkP0rxC+Ea/V+DLzdf5jiZw7VNiXk7Mqt83twey92NzTy NekQ== X-Gm-Message-State: ALoCoQl1MT7fp5dZQ5sDzmqAsK2h0+vmFeJ9odD8s9+I9YCGlRY/GnPr2KH4i+Mqp9EyFrbA6nw+ X-Received: by 10.194.94.164 with SMTP id dd4mr22074164wjb.56.1424455619608; Fri, 20 Feb 2015 10:06:59 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id dt7sm3382833wib.19.2015.02.20.10.06.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Feb 2015 10:06:58 -0800 (PST) From: Thomas Monjalon To: "Ouyang, Changchun" , Stephen Hemminger Date: Fri, 20 Feb 2015 19:06:28 +0100 Message-ID: <2252127.u5a9G3bq7o@xps13> Organization: 6WIND User-Agent: KMail/4.14.4 (Linux/3.18.4-1-ARCH; KDE/4.14.4; x86_64; ; ) In-Reply-To: References: <1422516249-14596-1-git-send-email-changchun.ouyang@intel.com> <1423444455-11330-1-git-send-email-changchun.ouyang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v4 00/26] Single virtio implementation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 18:07:00 -0000 > On 2/9/2015 9:14 AM, Ouyang, Changchun wrote: > > This is the patch set for single virtio implementation. > > > > Why we need single virtio? > > ============================ > > As we know currently there are at least 3 virtio PMD driver implementations: > > A) lib/librte_pmd_virtio(refer as virtio A); > > B) virtio_net_pmd by 6wind(refer as virtio B); > > C) virtio by Brocade/vyatta(refer as virtio C); > > > > Integrating 3 implementations into one could reduce the maintaining cost and time, > > in other hand, user don't need practice their application on 3 variant one by one to see > > which one is the best for them; > > > > What's the status? > > ==================== > > Currently virtio A has covered most features of virtio B except for using port io to get pci resource, > > so there is a patch(17/22) to resolve it. But on the other hand there are a few differences between > > virtio A and virtio C, it needs integrate features/codes of virtio C into virtio A. > > This patch set bases on two original RFC patch sets from Stephen Hemminger[stephen@networkplumber.org] > > Refer to [http://dpdk.org/ml/archives/dev/2014-August/004845.html ] for the original one. > > This patch set also resolves some conflict with latest codes, removed duplicated codes, fix some > > issues in original codes. > > > > What this patch set contains: > > =============================== > > 1) virtio: Rearrange resource initialization, it extracts a function to setup PCI resources; > > 2) virtio: Use weaker barriers, as DPDK driver only has to deal with the case of running on PCI > > and with SMP, In this case, the code can use the weaker barriers instead of using hard (fence) > > barriers. This may help performance a bit; > > 3) virtio: Allow starting with link down, other driver has similar behavior; > > 4) virtio: Add support for Link State interrupt; > > 5) ether: Add soft vlan encap/decap functions, it helps if HW don't support vlan strip; > > 6) virtio: Use software vlan stripping; > > 7) virtio: Remove unnecessary adapter structure; > > 8) virtio: Remove redundant vq_alignment, as vq alignment is always 4K, so use constant when needed; > > 9) virtio: Fix how states are handled during initialization, this is to match Linux kernel; > > 10) virtio: Make vtpci_get_status a local function as it is used in one file; > > 11) virtio: Check for packet headroom at compile time; > > 12) virtio: Move allocation before initialization to avoid being stuck in middle of virtio init; > > 13) virtio: Add support for vlan filtering; > > 14) virtio: Add support for multiple mac addresses; > > 15) virtio: Add ability to set MAC address; > > 16) virtio: Free mbuf's with threshold, this makes its behavior more like ixgbe; > > 17) virtio: Use port IO to get PCI resource for security reasons and match virtio-net-pmd; > > 18) virtio: Fix descriptor index issue; > > 19) ether: Fix vlan strip/insert issue; > > 20) example/vhost: Avoid inserting vlan twice and guest and host; > > 21) example/vhost: Add vlan-strip cmd line option to turn on/off vlan strip on host; > > 22) virtio: Use soft vlan strip in mergeable Rx path, this makes it has consistent logic > > with the normal Rx path. > > > > Changes in v2: > > 23) virtio: Fix zero copy break issue, the vring should be ready before virtio PMD set > > the status of DRIVER_OK; > > 24) virtio: Remove unnecessary hotspots in data path. > > > > Changes in v3: > > 25) virtio: Fix wmb issue; > > 26) Fix one minor issue in patch 20, also fix its idention. > > > > Changes in v4: > > 27) Fix updating vring descriptor index issue and memory barrier issue; > > 28) Reslove comments for patch 17. > > > > Changchun Ouyang (10): > > virtio: Use port IO to get PCI resource. > > virtio: Fix descriptor index issue > > ether: Fix vlan strip/insert issue > > example/vhost: Avoid inserting vlan twice > > example/vhost: Add vlan-strip cmd line option > > virtio: Use soft vlan strip in mergeable Rx path > > virtio: Fix zero copy break issue > > virtio: Remove hotspots > > virtio: Fix wmb issue > > virtio: Fix updating vring descriptor index issue > > > > Stephen Hemminger (16): > > virtio: Rearrange resource initialization > > virtio: Use weaker barriers > > virtio: Allow starting with link down > > virtio: Add support for Link State interrupt > > ether: Add soft vlan encap/decap functions > > virtio: Use software vlan stripping > > virtio: Remove unnecessary adapter structure > > virtio: Remove redundant vq_alignment > > virtio: Fix how states are handled during initialization > > virtio: Make vtpci_get_status local > > virtio: Check for packet headroom at compile time > > virtio: Move allocation before initialization > > virtio: Add support for vlan filtering > > virtio: Add suport for multiple mac addresses > > virtio: Add ability to set MAC address > > virtio: Free mbuf's with threshold > > Acked-by Huawei Xie Applied, thanks. The patches which were fixing previous ones have been merged. The virtio-net-pmd extension (out of tree) should be deprecated now.