From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 62AF02C55 for ; Mon, 27 Nov 2017 17:35:57 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2017 08:35:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,465,1505804400"; d="scan'208";a="181130570" Received: from tanjianf-mobl.ccr.corp.intel.com (HELO [10.255.24.209]) ([10.255.24.209]) by fmsmga006.fm.intel.com with ESMTP; 27 Nov 2017 08:35:53 -0800 To: Aaron Conole , Yuanhan Liu References: <20171127142515.GA450@yliu-dev> Cc: Chen Hailin , "ovs-dev@openvswitch.org" , Maxime Coquelin , qemu-devel , dev From: "Tan, Jianfeng" Message-ID: Date: Tue, 28 Nov 2017 00:35:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [ovs-dev] [PATCH RFC] netdev-dpdk: Fix device obtain mac address when received first packet in vhost type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Nov 2017 16:35:57 -0000 On 11/28/2017 12:14 AM, Aaron Conole wrote: > Yuanhan Liu writes: > >> 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. > There are other possible ways. libvirt knows about the mac address from > the domain xml file. Perhaps it's possible to set the mac column in the > database to the correct value when the port is being created in ovs? > This would be an action taken by the orchestration tool. In OVS db, we can only see vhost port, but not virtio port. That is to say, we could use different mac for vhost port from virtio port, especially when it works as a vrouter instead of vswitch. > > Additionally, there's a mechanism in virtio-net to set the mac address > from the host to the guest. Is it possible to expose that functionality > through vhost-user? We can assign mac addr when starting QEMU. After that, I suppose we cannot set mac addr any more, let alone setting it from vhost-user side (vhost-user protocol does not support it yet). Thanks, Jianfeng > > Then when the orchestration tool sets the mac, it can be propagated, and > mac_in_use can reflect the appropriate value. I think that's a workable > solution, but I might have missed something. > >> --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