From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 1F9D72BE6 for ; Thu, 18 Aug 2016 09:43:10 +0200 (CEST) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 365B746211; Thu, 18 Aug 2016 07:43:09 +0000 (UTC) Received: from [10.36.4.244] (vpn1-4-244.ams2.redhat.com [10.36.4.244]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7I7h6ST029140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 18 Aug 2016 03:43:07 -0400 To: "Tan, Jianfeng" , Yuanhan Liu , Pankaj Chauhan References: <20160816025614.GM30752@yliu-dev.sh.intel.com> Cc: dev@dpdk.org, hemant.agrawal@nxp.com, shreyansh.jain@nxp.com From: Maxime Coquelin Message-ID: <416fbf19-0592-176f-16fa-269b28ff4585@redhat.com> Date: Thu, 18 Aug 2016 09:43:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 18 Aug 2016 07:43:09 +0000 (UTC) Subject: Re: [dpdk-dev] vhost [query] : support for multiple ports and non VMDQ devices in vhost switch 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: Thu, 18 Aug 2016 07:43:10 -0000 Hi, On 08/18/2016 04:35 AM, Tan, Jianfeng wrote: > Hi Maxime, > > On 8/17/2016 7:18 PM, Maxime Coquelin wrote: >> Hi Jianfeng, >> >> On 08/17/2016 04:33 AM, Tan, Jianfeng wrote: >>> Hi, >>> >>> Please review below proposal of Pankaj and myself after an offline >>> discussion. (Pankaj, please correct me if I'm going somewhere wrong). >>> >>> a. Remove HW dependent option, --strip-vlan, because different kinds of >>> NICs behave differently. It's a bug fix. >>> b. Abstract switching logic into a framework, so that we can develop >>> different kinds of switching logics. In this phase, we will have two >>> switching logics: (1) a simple software-based mac learning switching; >>> (2) VMDQ based switching. Any other advanced switching logics can be >>> proposed based on this framework. >>> c. Merge tep_termination example vxlan as a switching logic of the >>> framework. >> >> I was also thinking of making physical port optional and add MAC >> learning, >> so this is all good for me. > > To make it clear, we are not proposing to eliminate physical port, > instead, we just eliminate the binding of VMDQ and virtio ports, > superseding it with a MAC learning switching. So you confirm we could have setup with only VMs, and no physical NIC? That's what I meant when saying "making physical port optional". > >> >> Let me know if I can help in implementation, I'll be happy to >> contribute. > > Thank you for participating. Currently, I'm working on item a (will be a > quick and simple fix). Pankaj is working on item b (which would be a > huge change). Item c is depending on item b. So let's wait RFC patch > from Pankaj and see what we can help. Good, let's wait for Pankaj's RFC. > >> >>> To be decided: >>> d. Support multiple physical ports. >>> e. Keep the current way to use vhost lib directly or use vhost pmd >>> instead. >> Do you see advantages of using vhost lib directly vs. pmd? >> Wouldn't using vhost pmd make achieving zero-copy harder? >> (I'm not sure, I didn't investigate the topic much for now). > > Yes, by using vhost lib, we can add back the removed feature zero-copy. > But my understanding is zero-copy (nic-to-vm or vm-to-nic) or delayed > copy (vm-to-vm) would be great and common features, which should be > integrated into vhost lib and enabled in vhost pmd, so that all > applications can benefit from it. And in fact, Yuanhan is working on the > delayed copy now. An exception is rx-side-zero-copy, I don't know if > it's common enough to be integrated in a vhost lib, because it'll > require hardware queue binding. Ok, I'm interrested in knowing how vm-to-vm delayed copy will be implemented. > Besides, vhost pmd would be easier to use than vhost lib (personal > opinion). Secondly, vhost pmd would be more clear in logic, 1:1:1 > mapping among vhost port, unix socket path, and virtio port. Thirdly, by > using vhost pmd, we can treat vhost ports the way of physical ports, > otherwise, we use different API to receive/transmit packets. I'm 100% aligned with you on this, the vhost pmd makes things more standard, so more flexible. >> >> Also, if we use pmd directly, then it would no more be a vhost switch >> only, as it could potentially be used with physical NICs also. > > You mean we are building a switch instead of vhost switch? Yes, a switch > can switch packets between virtio-virtio and virtio-physical nic. And physical-physical also, as we will be standard API with the vhost-pmd, nothing will prevent using it with only physical switches, no? Thanks, Maxime > > Thanks, > Jianfeng > >> >> Any thoughts? >> >> Thanks, >> Maxime >