From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [ovs-dev] [PATCH RFC] netdev-dpdk: Fix device obtain mac address when received first packet in vhost type Date: Mon, 27 Nov 2017 22:27:32 +0800 Message-ID: <20171127142515.GA450@yliu-dev> References: <2017112417590937512732@arraynetworks.com.cn> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Aaron Conole , "jianfeng.tan" , "ovs-dev@openvswitch.org" , Maxime Coquelin , cloud , qemu-devel , dev To: Chen Hailin Return-path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id A64CD201 for ; Mon, 27 Nov 2017 15:27:52 +0100 (CET) Content-Disposition: inline In-Reply-To: <2017112417590937512732@arraynetworks.com.cn> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Nov 24, 2017 at 05:59:09PM +0800, Chen Hailin wrote: > Hi Aaron Conole && Jianfeng, > > The stp could not work in ovs-dpdk vhostuser. > Because the attached vhost device doesn't have MAC address. > > Now we have two ways to solve this problem. > 1. The vhost learns MAC address from packet like as my first patch. I do agree with Aaron this is not the right way. > 2. The virtio notifies MAC address actively to vhost user . Unfortunately, AFAIK, there is no way to achieve that so far. we could either let virtio/QEMU to expose the CQ to vhost or add a new VHOST_USER message to carry the mac address. While vhost-user is a generic interface adding a virtio-net specific message also doesn't seem quite right. Exposing CQ is probably the best we can do. Anyway, both need spec change. --yliu > > In my opinions, if we treat it as a device, we should allocate > MAC address for the device when the VM started. > > Which one do you think better? > > > > Best Regards, > Chen Hailin > chenhl@arraynetworks.com.cn > > From: Aaron Conole > Date: 2017-11-18 10:00 > To: Hailin Chen > CC: ovs-dev@openvswitch.org; Maxime Coquelin; cloud@arraynetworks.com.cn > Subject: Re: [ovs-dev] [PATCH RFC] netdev-dpdk: Fix device obtain mac address when received first packet in vhost type > Hi Hailin, > > Hailin Chen writes: > > > The stp could not work on netdev-dpdk if network is loop. > > Because the stp protocol negotiates designate port by sending > > BPDU packets which contains MAC address. > > However the device doesn't have MAC address in vhostuser type. > > Thus, function send_bpdu_cb would not send BPDU packets. > > > > This patch will set the MAC for device when received first packet. > > > > Signed-off-by: Hailin Chen > > --- > > Thanks for the patch. > > In general, I don't think this is the right approach to deal with this > type of issue. I believe the problem statement is that OvS bridge is > unaware of the guest MAC address - did I get it right? In that case, I > would think that a better way to solve this would be to have virtio tell > the mac address of the guest. I don't recall right now if that's > allowed in the virtio spec, but I do remember some kind of negotiation > features. > > I've CC'd Maxime, who is one of the maintainers of the virtio code from > DPDK side. Perhaps there is an alternate way to solve this. > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eJKO7-00069I-L4 for qemu-devel@nongnu.org; Mon, 27 Nov 2017 09:28:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eJKO3-0006TU-MS for qemu-devel@nongnu.org; Mon, 27 Nov 2017 09:27:59 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:40575) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eJKO3-0006Sh-D9 for qemu-devel@nongnu.org; Mon, 27 Nov 2017 09:27:55 -0500 Date: Mon, 27 Nov 2017 22:27:32 +0800 From: Yuanhan Liu Message-ID: <20171127142515.GA450@yliu-dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2017112417590937512732@arraynetworks.com.cn> Subject: Re: [Qemu-devel] [dpdk-dev] [ovs-dev] [PATCH RFC] netdev-dpdk: Fix device obtain mac address when received first packet in vhost type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Chen Hailin Cc: Aaron Conole , "jianfeng.tan" , "ovs-dev@openvswitch.org" , Maxime Coquelin , cloud , qemu-devel , dev On Fri, Nov 24, 2017 at 05:59:09PM +0800, Chen Hailin wrote: > Hi Aaron Conole && Jianfeng, > > The stp could not work in ovs-dpdk vhostuser. > Because the attached vhost device doesn't have MAC address. > > Now we have two ways to solve this problem. > 1. The vhost learns MAC address from packet like as my first patch. I do agree with Aaron this is not the right way. > 2. The virtio notifies MAC address actively to vhost user . Unfortunately, AFAIK, there is no way to achieve that so far. we could either let virtio/QEMU to expose the CQ to vhost or add a new VHOST_USER message to carry the mac address. While vhost-user is a generic interface adding a virtio-net specific message also doesn't seem quite right. Exposing CQ is probably the best we can do. Anyway, both need spec change. --yliu > > In my opinions, if we treat it as a device, we should allocate > MAC address for the device when the VM started. > > Which one do you think better? > > > > Best Regards, > Chen Hailin > chenhl@arraynetworks.com.cn > > From: Aaron Conole > Date: 2017-11-18 10:00 > To: Hailin Chen > CC: ovs-dev@openvswitch.org; Maxime Coquelin; cloud@arraynetworks.com.cn > Subject: Re: [ovs-dev] [PATCH RFC] netdev-dpdk: Fix device obtain mac address when received first packet in vhost type > Hi Hailin, > > Hailin Chen writes: > > > The stp could not work on netdev-dpdk if network is loop. > > Because the stp protocol negotiates designate port by sending > > BPDU packets which contains MAC address. > > However the device doesn't have MAC address in vhostuser type. > > Thus, function send_bpdu_cb would not send BPDU packets. > > > > This patch will set the MAC for device when received first packet. > > > > Signed-off-by: Hailin Chen > > --- > > Thanks for the patch. > > In general, I don't think this is the right approach to deal with this > type of issue. I believe the problem statement is that OvS bridge is > unaware of the guest MAC address - did I get it right? In that case, I > would think that a better way to solve this would be to have virtio tell > the mac address of the guest. I don't recall right now if that's > allowed in the virtio spec, but I do remember some kind of negotiation > features. > > I've CC'd Maxime, who is one of the maintainers of the virtio code from > DPDK side. Perhaps there is an alternate way to solve this. > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev