[openstack-dev] [nova] [neutron] PCI pass-through network support
yongli he
yongli.he at intel.com
Tue Oct 29 05:34:53 UTC 2013
On 2013?10?29? 03:22, Robert Li (baoli) wrote:
> Hi Irena,
>
> Thank you very much for your comments. See inline.
>
> --Robert
>
> On 10/27/13 3:48 AM, "Irena Berezovsky" <irenab at mellanox.com
> <mailto:irenab at mellanox.com>> wrote:
>
> Hi Robert,
>
> Thank you very much for sharing the information regarding your
> efforts. Can you please share your idea of the end to end flow?
> How do you suggest to bind Nova and Neutron?
>
>
> The end to end flow is actually encompassed in the blueprints in a
> nutshell. I will reiterate it in below. The binding between Nova and
> Neutron occurs with the neutron v2 API that nova invokes in order to
> provision the neutron services. The vif driver is responsible for
> plugging in an instance onto the networking setup that neutron has
> created on the host.
>
> Normally, one will invoke "nova boot" api with the —nic options to
> specify the nic with which the instance will be connected to the
> network. It currently allows net-id, fixed ip and/or port-id to be
> specified for the option. However, it doesn't allow one to specify
> special networking requirements for the instance. Thanks to the nova
> pci-passthrough work, one can specify PCI passthrough device(s) in the
> nova flavor. But it doesn't provide means to tie up these PCI devices
> in the case of ethernet adpators with networking services. Therefore
> the idea is actually simple as indicated by the blueprint titles, to
> provide means to tie up SRIOV devices with neutron services. A work
> flow would roughly look like this for 'nova boot':
>
> -- Specifies networking requirements in the —nic option.
> Specifically for SRIOV, allow the following to be specified in
> addition to the existing required information:
> . PCI alias
> . direct pci-passthrough/macvtap
> . port profileid that is compliant with 802.1Qbh
> The above information is optional. In the absence of them, the
> existing behavior remains.
>
> -- if special networking requirements exist, Nova api creates PCI
> requests in the nova instance type for scheduling purpose
>
> -- Nova scheduler schedules the instance based on the requested
> flavor plus the PCI requests that are created for networking.
>
> -- Nova compute invokes neutron services with PCI passthrough
> information if any
>
> -- Neutron performs its normal operations based on the request,
> such as allocating a port, assigning ip addresses, etc. Specific to
> SRIOV, it should validate the information such as profileid, and
> stores them in its db. It's also possible to associate a port
> profileid with a neutron network so that port profileid becomes
> optional in the —nic option. Neutron returns nova the port
> information, especially for PCI passthrough related information in the
> port binding object. Currently, the port binding object contains the
> following information:
> binding:vif_type
> binding:host_id
> binding:profile
> binding:capabilities
(openstack bonce stop me to sent to so many people at one time, so i
remove cc & to, hope every one can see this)
i heard of some nic passthrough solution in summary, and you metioned
this, in high level of implement the NIC passthrough there is:
hardware VEB (Virtual ethernet Switches )
the nic need external switch like 802.1qbg
so question is:
where is the diffrent type infomation?
does 802.1qbg need know which port the PF connected to?
>
> -- nova constructs the domain xml and plug in the instance by
> calling the vif driver. The vif driver can build up the interface xml
> based on the port binding information.
>
>
>
> The blueprints you registered make sense. On Nova side, there is a
> need to bind between requested virtual network and PCI
> device/interface to be allocated as vNIC.
>
> On the Neutron side, there is a need to support networking
> configuration of the vNIC. Neutron should be able to identify the
> PCI device/macvtap interface in order to apply configuration. I
> think it makes sense to provide neutron integration via dedicated
> Modular Layer 2 Mechanism Driver to allow PCI pass-through vNIC
> support along with other networking technologies.
>
>
> I haven't sorted through this yet. A neutron port could be associated
> with a PCI device or not, which is a common feature, IMHO. However, a
> ML2 driver may be needed specific to a particular SRIOV technology.
>
> During the Havana Release, we introduced Mellanox Neutron plugin
> that enables networking via SRIOV pass-through devices or macvtap
> interfaces.
>
> We want to integrate our solution with PCI pass-through Nova
> support. I will be glad to share more details if you are interested.
>
>
> Good to know that you already have a SRIOV implementation. I found out
> some information online about the mlnx plugin, but need more time to
> get to know it better. And certainly I'm interested in knowing its
> details.
>
> The PCI pass-through networking support is planned to be discussed
> during the summit: http://summit.openstack.org/cfp/details/129. I
> think it’s worth to drill down into more detailed proposal and
> present it during the summit, especially since it impacts both
> nova and neutron projects.
>
> I agree. Maybe we can steal some time in that discussion.
>
> Would you be interested in collaboration on this effort? Would you
> be interested to exchange more emails or set an IRC/WebEx meeting
> during this week before the summit?
>
>
> Sure. If folks want to discuss it before the summit, we can schedule a
> webex later this week. Or otherwise, we can continue the discussion
> with email.
>
> Regards,
>
> Irena
>
> *From:*Robert Li (baoli) [mailto:baoli at cisco.com]
> *Sent:* Friday, October 25, 2013 11:16 PM
> *To:* prashant.upadhyaya at aricent.com
> <mailto:prashant.upadhyaya at aricent.com>; Irena Berezovsky;
> yunhong.jiang at intel.com <mailto:yunhong.jiang at intel.com>;
> chris.friesen at windriver.com <mailto:chris.friesen at windriver.com>;
> yongli.he at intel.com <mailto:yongli.he at intel.com>
> *Cc:* OpenStack Development Mailing List; Brian Bowen (brbowen);
> Kyle Mestery (kmestery); Sandhya Dasu (sadasu)
> *Subject:* Re: [openstack-dev] [nova] [neutron] PCI pass-through
> network support
>
> Hi Irena,
>
> This is Robert Li from Cisco Systems. Recently, I was tasked to
> investigate such support for Cisco's systems that support VM-FEX,
> which is a SRIOV technology supporting 802-1Qbh. I was able to
> bring up nova instances with SRIOV interfaces, and establish
> networking in between the instances that employes the SRIOV
> interfaces. Certainly, this was accomplished with hacking and some
> manual intervention. Based on this experience and my study with
> the two existing nova pci-passthrough blueprints that have been
> implemented and committed into Havana
> (https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base and
> https://blueprints.launchpad.net/nova/+spec/pci-passthrough-libvirt),
> I registered a couple of blueprints (one on Nova side, the other
> on the Neutron side):
>
> https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov
>
> https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov
>
> in order to address SRIOV support in openstack.
>
> Please take a look at them and see if they make sense, and let me
> know any comments and questions. We can also discuss this in the
> summit, I suppose.
>
> I noticed that there is another thread on this topic, so copy
> those folks from that thread as well.
>
> thanks,
>
> Robert
>
> On 10/16/13 4:32 PM, "Irena Berezovsky" <irenab at mellanox.com
> <mailto:irenab at mellanox.com>> wrote:
>
> Hi,
>
> As one of the next steps for PCI pass-through I would like to
> discuss is the support for PCI pass-through vNIC.
>
> While nova takes care of PCI pass-through device resources
> management and VIF settings, neutron should manage their
> networking configuration.
>
> I would like to register asummit proposal to discuss the
> support for PCI pass-through networking.
>
> I am not sure what would be the right topic to discuss the PCI
> pass-through networking, since it involve both nova and neutron.
>
> There is already a session registered by Yongli on nova topic
> to discuss the PCI pass-through next steps.
>
> I think PCI pass-through networking is quite a big topic and
> it worth to have a separate discussion.
>
> Is there any other people who are interested to discuss it and
> share their thoughts and experience?
>
> Regards,
>
> Irena
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131029/213d8837/attachment.html>
More information about the OpenStack-dev
mailing list