<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
kbd
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Calibri","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I would like to share some details regarding the support provided by Mellanox plugin. It enables networking via SRIOV pass-through devices or macvtap interfaces.  It plugin is available here:
</span><a href="https://github.com/openstack/neutron/tree/master/neutron/plugins/mlnx">https://github.com/openstack/neutron/tree/master/neutron/plugins/mlnx</a>.<span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">To support either PCI pass-through device and macvtap interface type of vNICs, we set neutron port profile:vnic_type according to the required VIF type and then use the created port to ‘nova boot’ the VM.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">To  overcome the missing scheduler awareness for PCI devices which was not part of the Havana release yet, we
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">have an additional service (embedded switch Daemon) that runs on each compute node.  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This service manages the SRIOV resources allocation,  answers vNICs discovery queries and applies VLAN/MAC configuration using standard Linux APIs (code is here:
<a href="https://github.com/mellanox-openstack/mellanox-eswitchd">https://github.com/mellanox-openstack/mellanox-eswitchd</a> ).  The embedded switch Daemon serves as a glue layer between VIF Driver and Neutron Agent.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">In the Icehouse Release when SRIOV resources allocation is already part of the Nova, we plan to eliminate the need in embedded switch daemon service. So what is left to figure out is how to tie up between neutron
 port and PCI device and invoke networking configuration.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">In our case what we have is actually the Hardware VEB that is not programmed via either 802.1Qbg or 802.1Qbh, but configured locally by Neutron Agent. We also support both Ethernet and InfiniBand physical network
 L2 technology. This means that we apply different configuration commands  to set configuration on VF.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I guess what we have to figure out is how to support the generic case for the PCI device networking support, for HW VEB, 802.1Qbg and 802.1Qbh cases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">BR,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Irena<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Robert Li (baoli) [mailto:baoli@cisco.com]
<br>
<b>Sent:</b> Tuesday, October 29, 2013 3:31 PM<br>
<b>To:</b> Jiang, Yunhong; Irena Berezovsky; prashant.upadhyaya@aricent.com; chris.friesen@windriver.com; He, Yongli; Itzik Brown<br>
<b>Cc:</b> OpenStack Development Mailing List; Brian Bowen (brbowen); Kyle Mestery (kmestery); Sandhya Dasu (sadasu)<br>
<b>Subject:</b> Re: [openstack-dev] [nova] [neutron] PCI pass-through network support<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Hi Yunhong,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">I haven't looked at Mellanox in much detail. I think that we'll get more details from Irena down the road. Regarding your question, I can only answer based on my experience with Cisco's VM-FEX.
 In a nutshell:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">     -- a vNIC is connected to an external switch. Once the host is booted up, all the PFs and VFs provisioned on the vNIC will be created, as well as all the corresponding ethernet interfaces
 . <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">     -- As far as Neutron is concerned, a neutron port can be associated with a VF. One way to do so is to specify this requirement in the —nic option, providing information such as:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">               . PCI alias (this is the same alias as defined in your nova blueprints)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black">               . direct pci-passthrough/macvtap</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black">               . port profileid that is compliant with 802.1Qbh<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black">     -- similar to how you translate the nova flavor with PCI requirements to PCI requests for scheduling purpose, Nova API (the nova
 api component) can translate the above to PCI requests for scheduling purpose. I can give more detail later on this. <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black">Regarding your last question, since the vNIC is already connected with the external switch, the vNIC driver will be responsible for communicating
 the port profile to the external switch. As you have already known, libvirt provides several ways to specify a VM to be booted up with SRIOV. For example, in the following interface definition: <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black">      <o:p></o:p></span></p>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white;text-align:-webkit-left"><span style="font-size:10.5pt;color:black">  </span><kbd><b><span style="color:black"><interface type='hostdev' managed='yes'><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">      <source><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">        <address type='pci' domain='0' bus='0x09' slot='0x0' function='0x01'/><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">      </source><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">      <mac address='01:23:45:67:89:ab' /><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">      <virtualport type='802.1Qbh'><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">        <parameters profileid='my-port-profile' /><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">      </virtualport><o:p></o:p></span></b></kbd></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white"><kbd><b><span style="color:black">    </interface></span></b></kbd><span style="font-size:10.5pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;line-height:14.4pt;background:white;text-align:-webkit-left"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">The SRIOV VF (bus 0x09, VF 0x01) will be allocated, and the port profile 'my-port-profile' will be used to provision this VF. Libvirt will be responsible for invoking the vNIC driver to configure this VF with the port profile my-port-porfile. The driver will talk to the external switch using the 802.1qbh standards to complete the VF's configuration and binding with the VM.</span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">Now that nova PCI passthrough is responsible for discovering/scheduling/allocating a VF, the rest of the puzzle is to associate this PCI device with the feature that's going to use it, and the feature will be responsible for configuring it. You can also see from the above example, in one implementation of SRIOV, the feature (in this case neutron) may not need to do much in terms of working with the external switch, the work is actually done by libvirt behind the scene. </span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">Now the questions are:</span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">        -- how the port profile gets defined/managed</span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">        -- how the port profile gets associated with a neutron network</span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">The first question will be specific to the particular product, and therefore a particular neutron plugin has to mange that. </span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:12.0pt;font-family:"Calibri","sans-serif";color:black">There may be several approaches to address the second question. For example, in the simplest case, a port profile can be associated with a neutron network. This has some significant drawbacks. Since the port profile defines features for all the ports that use it, the one port profile to one neutron network mapping would mean all the ports on the network will have exactly the same features (for example, QoS characteristics). To make it flexible, the binding of a port profile to a port may be done at the port creation time.</span><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Let me know if the above answered your question.<o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">thanks,<o:p></o:p></span></pre>
<pre style="margin-top:6.0pt;text-align:-webkit-left"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Robert<o:p></o:p></span></pre>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">On 10/29/13 3:03 AM, "Jiang, Yunhong" <<a href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>> wrote:<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-right:0in" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">Robert, is it possible to have a IRC meeting? I’d prefer to IRC meeting because it’s more openstack style and also can keep the minutes clearly.
</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">To your flow, can you give more detailed example. For example, I can consider user specify the instance with –nic option specify a network id, and then how nova device
 the requirement to the PCI device? I assume the network id should define the switches that the device can connect to , but how is that information translated to the PCI property requirement? Will this translation happen before the nova scheduler make host
 decision?</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">Thanks</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">--jyh</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<div style="border:none;border-right:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black;mso-fareast-language:ZH-CN"> Robert Li
 (baoli) [<a href="mailto:baoli@cisco.com">mailto:baoli@cisco.com</a>] <br>
<b>Sent:</b> Monday, October 28, 2013 12:22 PM<br>
<b>To:</b> Irena Berezovsky; <a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>; Jiang, Yunhong;
<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>; He, Yongli; Itzik Brown<br>
<b>Cc:</b> OpenStack Development Mailing List; Brian Bowen (brbowen); Kyle Mestery (kmestery); Sandhya Dasu (sadasu)<br>
<b>Subject:</b> Re: [openstack-dev] [nova] [neutron] PCI pass-through network support</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">Hi Irena,</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">Thank you very much for your comments. See inline. </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">--Robert</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">On 10/27/13 3:48 AM, "Irena Berezovsky" <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>> wrote:</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Hi Robert,</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">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?</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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':</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">      -- Specifies networking requirements in the —nic option. Specifically for SRIOV, allow the following to be specified in addition to the existing required information:</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">               . PCI alias</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">               . direct pci-passthrough/macvtap</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">               . port profileid that is compliant with 802.1Qbh</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">         </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">        The above information is optional. In the absence of them, the existing behavior remains.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">     -- if special networking requirements exist, Nova api creates PCI requests in the nova instance type for scheduling purpose</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">     -- Nova scheduler schedules the instance based on the requested flavor plus the PCI requests that are created for networking.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">     -- Nova compute invokes neutron services with PCI passthrough information if any </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">     --  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:</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">          binding:vif_type</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">          binding:host_id</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">          binding:profile</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">          binding:capabilities</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">    -- 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. </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">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.
</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">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.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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. </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">During the Havana Release, we introduced Mellanox Neutron plugin that enables networking via SRIOV pass-through devices or macvtap interfaces.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">We want to integrate our solution with PCI pass-through Nova support.  I will be glad to share more details if you are interested.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The PCI pass-through networking support is planned to be discussed during the summit:
</span><span style="color:black;mso-fareast-language:ZH-CN"><a href="http://summit.openstack.org/cfp/details/129">http://summit.openstack.org/cfp/details/129</a>.
</span><span style="color:#1F497D;mso-fareast-language:ZH-CN">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.
</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">I agree. Maybe we can steal some time in that discussion.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">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?</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Regards,</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Irena</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black;mso-fareast-language:ZH-CN"> Robert Li
 (baoli) [<a href="mailto:baoli@cisco.com">mailto:baoli@cisco.com</a>] <br>
<b>Sent:</b> Friday, October 25, 2013 11:16 PM<br>
<b>To:</b> <a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>; Irena Berezovsky;
<a href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>; <a href="mailto:chris.friesen@windriver.com">
chris.friesen@windriver.com</a>; <a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a><br>
<b>Cc:</b> OpenStack Development Mailing List; Brian Bowen (brbowen); Kyle Mestery (kmestery); Sandhya Dasu (sadasu)<br>
<b>Subject:</b> Re: [openstack-dev] [nova] [neutron] PCI pass-through network support</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">Hi Irena,</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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 (<a href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base" id="yui_3_10_3_1_1382711548329_391"><span style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#0033AA;background:white;text-decoration:none">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base</span></a></span><span style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white;mso-fareast-language:ZH-CN"> and<br>
</span><span style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#0033AA;background:white;mso-fareast-language:ZH-CN"><a href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-libvirt"><span style="font-size:10.5pt">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-libvirt</span></a>), </span><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> I
 registered a couple of blueprints (one on Nova side, the other on the Neutron side):</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">    </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"><a href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov</a></span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"><a href="https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov</a></span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">in order to address SRIOV support in openstack. </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">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.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">I noticed that there is another thread on this topic, so copy those folks  from that thread as well.</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">thanks,</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">Robert</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN">On 10/16/13 4:32 PM, "Irena Berezovsky" <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>> wrote:</span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black;mso-fareast-language:ZH-CN"> </span><span style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-right:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">As one of the next steps for PCI pass-through I would like to discuss is the support for PCI pass-through vNIC.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">While nova takes care of PCI pass-through device resources  management and VIF settings, neutron should manage their networking configuration.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">I would like to register asummit proposal to discuss the support for PCI pass-through networking.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">I am not sure what would be the right topic to discuss the PCI pass-through networking, since it involve both nova and neutron.  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">There is already a session registered by Yongli on nova topic to discuss the PCI pass-through next steps.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">I think PCI pass-through networking is quite a big topic and it worth to have a separate discussion.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">Is there any other people who are interested to discuss it and share their thoughts and experience?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN">Irena<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black;mso-fareast-language:ZH-CN"> <o:p></o:p></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</body>
</html>