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 F327658ED for ; Wed, 17 Aug 2016 13:18:12 +0200 (CEST) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (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 10DCE4E32E; Wed, 17 Aug 2016 11:18:12 +0000 (UTC) Received: from [10.36.4.8] (vpn1-4-8.ams2.redhat.com [10.36.4.8]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7HBI9je032284 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 17 Aug 2016 07:18:10 -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: Date: Wed, 17 Aug 2016 13:18:08 +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.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 17 Aug 2016 11:18:12 +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: Wed, 17 Aug 2016 11:18:13 -0000 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. Let me know if I can help in implementation, I'll be happy to contribute. > 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). 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. Any thoughts? Thanks, Maxime > On 8/16/2016 10:56 AM, Yuanhan Liu wrote: >> On Tue, Aug 09, 2016 at 04:42:33PM +0530, Pankaj Chauhan wrote: >>> Hi, >>> >>> I am working on an NXP platform where we intend to use user space vhost >>> switch (examples/vhost) as backend for VIRTIO devices. But there are two >>> limitations in current vhost-switch (examples/vhost)that are >>> restricting my >>> use case: >>> >>> 1. The vhost-switch application is tightly integrated with Intel >>> VMDQ. Since >>> my device doesn't have VMDQ i can not use this application directly. >> Sorry being late (I was on biz trip last week). >> >> Yes, a vhost example should not do that. We have an internal TODO to >> remove it. Actually, to make it optional, and Jianfeng was working on >> that. Well, seems that you two have already had some discussions. >> >>> 2. The vhost-switch application supports only one external or >>> physical port >>> (non virtio devices), but my requirement is to have multiple physical >>> ports >>> and multiple virtio devices. >> What are you going to achieve? BTW, have you tried testpmd (with >> vhost-pmd)? > > Example testpmd will not allow those complex switching logics. > > Thanks, > Jianfeng > >> I'm with impression that it might be a better option to you. >> >> --yliu >> >>> In summary my requirement is to do whatever vhost-switch is doing, in >>> addition to that add support for following: >>> >>> 1. support devices that don't have VMDQ. >>> 2. Support multiple physical ports. >>> >>> I need suggestions on the approach i should take: whether to add >>> support of >>> above mentioned in existing vhost-switch (examples/vhost) or write >>> another >>> application (based on librte_vhost only) to support my requirements. >>> >>> I'll work on it after the suggestion i get from the list, and send >>> the RFC >>> patch. >>> >>> Thanks, >>> Pankaj >>> >