<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@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:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 2 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:ZH-TW;}
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.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:ZH-TW;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:ZH-TW;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Calibri","sans-serif";}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle21
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle22
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle23
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
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;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle27
{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:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1881743722;
mso-list-type:hybrid;
mso-list-template-ids:1072705770 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:38.7pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:74.7pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:110.7pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:146.7pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:182.7pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:218.7pt;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:254.7pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:290.7pt;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:326.7pt;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></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="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.5pt;color:#1F497D"></span><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">Hi, all<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN">Please continue to foucs on the blueprint, it change after reviewing. And for this point:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
>5. flavor style for sriov: i just list the flavor style in the design but for the style
<br>
> --nic <br>
> --pci-flavor PowerfullNIC:1<br>
> still possible to work, so what's the real impact to sriov from the flavor design?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">>As you can see from the log, Irena has some strong opinions on this, and I tend to agree with her. The problem we need to solve is this: we need a means to associate a nic (or port)
with a PCI device that is allocated out of a PCI >flavor or a PCI group. We think that we presented a complete solution in our google doc.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">It¡¯s not so clear, could you please list the key point here. Btw, the blue print I sent Monday had changed for this, please check.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Yongli he<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Robert Li (baoli) [mailto:baoli@cisco.com]
<br>
<b>Sent:</b> Wednesday, December 11, 2013 10:18 PM<br>
<b>To:</b> He, Yongli; Sandhya Dasu (sadasu); OpenStack Development Mailing List (not for usage questions); Jiang, Yunhong; Irena Berezovsky; prashant.upadhyaya@aricent.com; chris.friesen@windriver.com; Itzik Brown; john@johngarbutt.com<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"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi Yongli,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thank you very much for sharing the Wiki with us on Monday so that we have a better understanding on your ideas and thoughts. Please see embedded comments.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">--Robert<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">On 12/10/13 8:35 PM, "yongli he" <<a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a>> wrote:<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">On 2013</span><span lang="ZH-TW" style="font-size:10.5pt;font-family:"PMingLiU","serif";color:black">Äê</span><span lang="EN-US" style="font-size:10.5pt;color:black">12</span><span lang="ZH-TW" style="font-size:10.5pt;font-family:"PMingLiU","serif";color:black">ÔÂ</span><span lang="EN-US" style="font-size:10.5pt;color:black">10</span><span lang="ZH-TW" style="font-size:10.5pt;font-family:"PMingLiU","serif";color:black">ÈÕ</span><span lang="EN-US" style="font-size:10.5pt;color:black">
22:41, Sandhya Dasu (sadasu) wrote:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> I am trying to resurrect this email thread since discussions have split between several threads and is becoming hard to keep track.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">An update:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">New PCI Passthrough meeting time: Tuesdays UTC 1400.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">New PCI flavor proposal from Nova:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><a href="https://wiki.openstack.org/wiki/PCI_configration_Database_and_API#Take_advantage_of_host_aggregate_.28T.B.D.29">https://wiki.openstack.org/wiki/PCI_configration_Database_and_API#Take_advantage_of_host_aggregate_.28T.B.D.29</a><o:p></o:p></span></p>
</div>
</blockquote>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi, all<br>
sorry for miss the meeting, i was seeking John at that time. from the log i saw some concern about new design, i list them there and try to clarify it per my opinion:<br>
<br>
1. configuration going to deprecated: this might impact SRIOV. if possible, please list what kind of impact make to you.
<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Regarding the nova API pci-flavor-update, we had a face-to-face discussion over use of a nova API to provision/define/configure PCI passthrough list during the ice-house summit. I
kind of like the idea initially. As you can see from the meeting log, however, I later thought that in a distributed system, using a centralized API to define resources per compute node, which could come and go any time, doesn't seem to provide any significant
benefit. This is the reason that I didn't mention it in our google doc <a href="https://docs.google.com/document/d/1EMwDg9J8zOxzvTnQJ9HwZdiotaVstFWKIuKrPse6JOs/edit#">
https://docs.google.com/document/d/1EMwDg9J8zOxzvTnQJ9HwZdiotaVstFWKIuKrPse6JOs/edit#</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">If you agree that pci-flavor and pci-group is kind of the same thing, then we agree with you that the pci-flavor-create API is needed. Since pci-flavor or pci-group is global, then
such an API can be used for resource registration/validation on nova server. In addition, it can be used to facilitate the display of PCI devices per node, per group, or in the entire cloud, etc.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
<br>
2. <baoli>So the API seems to be combining the whitelist + pci-group<br>
yeah, it's actually almost same thing, 'flavor' 'pci-group' or 'group'. the real different is this flavor going to deprecated the alias, and combine tight to aggregate or flavor.
<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Well, with pci-group, we recommended to deprecate the PCI alias because we think it is redundant. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">We think that specification of PCI requirement in the flavor's extra spec is still needed as it's a generic means to allocate PCI devices. In addition, it can be used as properties
in the host aggregate as well. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
<br>
3. feature: <br>
this design is not to say the feature is not work, but changed. if auto discovery feature is possible, we got 'feature' form the device, then use the feature to define the pci-flavor. it's also possible create default pci-flavor for this. so the feature
concept will be impact, my feeling, we should given a separated bp for feature, and not in this round change, so here we only thing is keep the feature is possible.
<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">I think that it's ok to have separate BPs. But we think that auto discovery is an essential part of the design, and therefore it should be implemented with more helping hands. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
<br>
4. address regular expression: i'm fine with the wild-match style.<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Sounds good. One side node is that I noticed that the driver for intel 82576 cards has a strange slot assignment scheme. So the final definition of it may need to accommodate that
as well.<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
<br>
5. flavor style for sriov: i just list the flavor style in the design but for the style
<br>
--nic <br>
--pci-flavor PowerfullNIC:1<br>
still possible to work, so what's the real impact to sriov from the flavor design?<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">As you can see from the log, Irena has some strong opinions on this, and I tend to agree with her. The problem we need to solve is this: we need a means to associate a nic (or port)
with a PCI device that is allocated out of a PCI flavor or a PCI group. We think that we presented a complete solution in our google doc.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">At this point, I really believe that we should combine our efforts and ideas. As far as how many BPs are needed, it should be a trivial matter after we have agreed on a complete solution.<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><br>
<br>
Yongli He<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Sandhya<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">From: </span></b><span lang="EN-US" style="color:black">Sandhya Dasu <<a href="mailto:sadasu@cisco.com">sadasu@cisco.com</a>><br>
<b>Reply-To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Date: </b>Thursday, November 7, 2013 9:44 PM<br>
<b>To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>, "Jiang, Yunhong" <<a href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>>, "Robert
Li (baoli)" <<a href="mailto:baoli@cisco.com">baoli@cisco.com</a>>, Irena Berezovsky <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>, "<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>" <<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>>,
"<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>" <<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>>, "He, Yongli" <<a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a>>, Itzik Brown <<a href="mailto:ItzikB@mellanox.com">ItzikB@mellanox.com</a>><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"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> The discussions during the summit were very productive. Now, we are ready to setup our IRC meeting.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Here are some slots that look like they might work for us.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">1. Wed 2 ¨C 3 pm UTC.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">2. Thursday 12 ¨C 1 pm UTC.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">3. Thursday 7 ¨C 8pm UTC.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Please vote.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Sandhya<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">From: </span></b><span lang="EN-US" style="color:black">Sandhya Dasu <<a href="mailto:sadasu@cisco.com">sadasu@cisco.com</a>><br>
<b>Reply-To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Date: </b>Tuesday, November 5, 2013 12:03 PM<br>
<b>To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>, "Jiang, Yunhong" <<a href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>>, "Robert
Li (baoli)" <<a href="mailto:baoli@cisco.com">baoli@cisco.com</a>>, Irena Berezovsky <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>, "<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>" <<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>>,
"<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>" <<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>>, "He, Yongli" <<a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a>>, Itzik Brown <<a href="mailto:ItzikB@mellanox.com">ItzikB@mellanox.com</a>><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"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Just to clarify, the discussion is planned for 10 AM Wednesday morning at the developer's lounge.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Sandhya<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">From: </span></b><span lang="EN-US" style="color:black">Sandhya Dasu <<a href="mailto:sadasu@cisco.com">sadasu@cisco.com</a>><br>
<b>Reply-To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Date: </b>Tuesday, November 5, 2013 11:38 AM<br>
<b>To: </b>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>, "Jiang, Yunhong" <<a href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>>, "Robert
Li (baoli)" <<a href="mailto:baoli@cisco.com">baoli@cisco.com</a>>, Irena Berezovsky <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>, "<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>" <<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>>,
"<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>" <<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>>, "He, Yongli" <<a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a>>, Itzik Brown <<a href="mailto:ItzikB@mellanox.com">ItzikB@mellanox.com</a>><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"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">Hi,</span></b><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:black"> We are planning to have a discussion at the developer's lounge tomorrow morning at 10:00 am. Please feel free to drop by if you are interested.</span></b><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">Thanks,</span></b><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">Sandhya</span></b><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">From: </span></b><span lang="EN-US" style="color:black"><Jiang>, Yunhong <</span><span lang="EN-US" style="font-size:10.5pt;color:black"><a href="mailto:yunhong.jiang@intel.com"><span style="font-size:11.0pt">yunhong.jiang@intel.com</span></a></span><span lang="EN-US" style="color:black">></span><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:black">Date: </span></b><span lang="EN-US" style="color:black">Thursday, October 31, 2013 6:21 PM<br>
<b>To: </b>"Robert Li (baoli)" <<a href="mailto:baoli@cisco.com">baoli@cisco.com</a>>, Irena Berezovsky <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>, "<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>" <<a href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>>,
"<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>" <<a href="mailto:chris.friesen@windriver.com">chris.friesen@windriver.com</a>>, "He, Yongli" <<a href="mailto:yongli.he@intel.com">yongli.he@intel.com</a>>, Itzik Brown <<a href="mailto:ItzikB@mellanox.com">ItzikB@mellanox.com</a>><br>
<b>Cc: </b>OpenStack Development Mailing List <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>, "Brian Bowen (brbowen)" <<a href="mailto:brbowen@cisco.com">brbowen@cisco.com</a>>, "Kyle Mestery (kmestery)" <<a href="mailto:kmestery@cisco.com">kmestery@cisco.com</a>>,
Sandhya Dasu <<a href="mailto:sadasu@cisco.com">sadasu@cisco.com</a>><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"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">Robert, I think your change request for pci alias should be covered by the extra infor enhancement.
</span><span lang="EN-US" style="color:black"><a href="https://blueprints.launchpad.net/nova/+spec/pci-extra-info">https://blueprints.launchpad.net/nova/+spec/pci-extra-info</a> and Yongli is working on it.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">I¡¯m not sure how the port profile is passed to the connected switch, is it a Cisco VMEFX specific method or libvirt method? Sorry I¡¯m not well on network side.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">--jyh<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> Robert Li (baoli) [<a href="mailto:baoli@cisco.com">mailto:baoli@cisco.com</a>]
<br>
<b>Sent:</b> Wednesday, October 30, 2013 10:13 AM<br>
<b>To:</b> Irena Berezovsky; Jiang, Yunhong; <a href="mailto:prashant.upadhyaya@aricent.com">
prashant.upadhyaya@aricent.com</a>; <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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Regarding physical network mapping, This is what I thought. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">consider the following scenarios:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> 1. a compute node with SRIOV only interfaces attached to a physical network. the node is connected to one upstream switch </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> 2. a compute node with both SRIOV interfaces and non-SRIOV interfaces attached to a physical network. the node is connected to one upstream switch</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> 3. in addition to case 1 &2, a compute node may have multiple vNICs that are connected to different upstream switches. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">CASE 1:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- the mapping from a virtual network (in terms of neutron) to a physical network is actually done by binding a port profile to a neutron port. With cisco's VM-FEX, a port profile
is associated with one or multiple vlans. Once the neutron port is bound with this port-profile in the upstream switch, it's effectively plugged into the physical network. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- since the compute node is connected to one upstream switch, the existing nova PCI alias will be sufficient. For example, one can boot a Nova instance that is attached to a SRIOV
port with the following command:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> nova boot ¡ªflavor m1.large ¡ªimage <image-id> --nic net-id=<net>,pci-alias=<alias>,sriov=<direct|macvtap>,port-profile=<profile></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> the net-id will be useful in terms of allocating IP address, enable dhcp, etc that is associated with the network.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">-- the pci-alias specified in the nova boot command is used to create a PCI request for scheduling purpose. a PCI device is bound to a neutron port during the instance build time in
the case of nova boot. Before invoking the neutron API to create a port, an allocated PCI device out of a PCI alias will be located from the PCI device list object. This device info among other information will be sent to neutron to create the port. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">CASE 2:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">-- Assume that OVS is used for the non-SRIOV interfaces. An example of configuration with ovs plugin would look like:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> bridge_mappings = physnet1:br-vmfex</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> network_vlan_ranges = physnet1:15:17</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> tenant_network_type = vlan</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> When a neutron network is created, a vlan is either allocated or specified in the neutron net-create command. Attaching a physical interface to the bridge (in the above example
br-vmfex) is an administrative task. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">-- to create a Nova instance with non-SRIOV port:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> nova boot ¡ªflavor m1.large ¡ªimage <image-id> --nic net-id=<net></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">-- to create a Nova instance with SRIOV port:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> nova boot ¡ªflavor m1.large ¡ªimage <image-id> --nic net-id=<net>,pci-alias=<alias>,sriov=<direct|macvtap>,port-profile=<profile></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> it's essentially the same as in the first case. But since the net-id is already associated with a vlan, the vlan associated with the port-profile must be identical to that vlan.
This has to be enforced by neutron.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> again, since the node is connected to one upstream switch, the existing nova PCI alias should be sufficient. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">CASE 3:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">-- A compute node might be connected to multiple upstream switches, with each being a separate network. This means SRIOV PFs/VFs are already implicitly associated with physical networks.
In the none-SRIOV case, a physical interface is associated with a physical network by plugging it into that network, and attaching this interface to the ovs bridge that represents this physical network on the compute node. In the SRIOV case, we need a way
to group the SRIOV VFs that belong to the same physical networks. The existing nova PCI alias is to facilitate PCI device allocation by associating <product_id, vendor_id> with an alias name. This will no longer be sufficient. But it can be enhanced to achieve
our goal. For example, the PCI device domain, bus (if their mapping to vNIC is fixed across boot) may be added into the alias, and the alias name should be corresponding to a list of tuples. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Another consideration is that a VF or PF might be used on the host for other purposes. For example, it's possible for a neutron DHCP server to be bound with a VF. Therefore, there
needs a method to exclude some VFs from a group. One way is to associate an exclude list with an alias.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">The enhanced PCI alias can be used to support features other than neutron as well. Essentially, a PCI alias can be defined as a group of PCI devices associated with a feature. I'd
think that this should be addressed with a separate blueprint.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thanks,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Robert</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">On 10/30/13 12:59 AM, "Irena Berezovsky" <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>> wrote:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Please see my answers inline</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> Jiang, Yunhong [<a href="mailto:yunhong.jiang@intel.com">mailto:yunhong.jiang@intel.com</a>]
<br>
<b>Sent:</b> Tuesday, October 29, 2013 10:17 PM<br>
<b>To:</b> Irena Berezovsky; Robert Li (baoli); <a href="mailto:prashant.upadhyaya@aricent.com">
prashant.upadhyaya@aricent.com</a>; <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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">Your explanation of the virtual network and physical network is quite clear and should work well. We need change nova code to achieve it, including get the physical network for the
virtual network, passing the physical network requirement to the filter properties etc.
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">[IrenaB]
</span></i></b><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> The physical network is already available to nova at networking/nova/api at as virtual network attribute, it then passed to the VIF driver. We will push soon the fix to:</span><span lang="EN-US" style="color:black"><a href="https://bugs.launchpad.net/nova/+bug/1239606">https://bugs.launchpad.net/nova/+bug/1239606</a></span><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">
; which will provide general support for getting this information.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">For your port method, so you mean we are sure to passing network id to ¡®nova boot¡¯ and nova will create the port during VM boot, am I right? Also, how can nova knows that it need
allocate the PCI device for the port? I¡¯d suppose that in SR-IOV NIC environment, user don¡¯t need specify the PCI requirement. Instead, the PCI requirement should come from the network configuration and image property. Or you think user still need passing
flavor with pci request?</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="color:#1F497D">[IrenaB] There are two way to apply port method. One is to pass network id on nova boot and use default type as chosen in the neutron config file for vnic type. Other way is to define port
with required vnic type and other properties if applicable, and run ¡®nova boot¡¯ with port id argument. Going forward with nova support for PCI devices awareness, we do need a way impact scheduler choice to land VM on suitable Host with available PC device
that has the required connectivity.</span></i></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">--jyh</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> Irena Berezovsky [<a href="mailto:irenab@mellanox.com">mailto:irenab@mellanox.com</a>]
<br>
<b>Sent:</b> Tuesday, October 29, 2013 3:17 AM<br>
<b>To:</b> Jiang, Yunhong; Robert Li (baoli); <a href="mailto:prashant.upadhyaya@aricent.com">
prashant.upadhyaya@aricent.com</a>; <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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Jiang, Robert,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">IRC meeting option works for me.
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">If I understand your question below, you are looking for a way to tie up between requested virtual network(s) and requested PCI device(s). The way we did it in our solution is to map a provider:physical_network
to an interface that represents the Physical Function. Every virtual network is bound to the provider:physical_network, so the PCI device should be allocated based on this mapping. We can map a PCI alias to the provider:physical_network.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Another topic to discuss is where the mapping between neutron port and PCI device should be managed. One way to solve it, is to propagate the allocated PCI device details to neutron on port creation.
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">In case there is no qbg/qbh support, VF networking configuration should be applied locally on the Host.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">The question is when and how to apply networking configuration on the PCI device? </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">We see the following options:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.7pt;text-indent:-18.0pt;mso-list:l0 level1 lfo2">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol;color:black;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">¡¤<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D;mso-fareast-language:ZH-CN">it can be done on port creation. </span><span lang="EN-US" style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.7pt;text-indent:-18.0pt;mso-list:l0 level1 lfo2">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol;color:black;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">¡¤<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D;mso-fareast-language:ZH-CN">It can be done when nova VIF driver is called for vNIC plugging. This will require to have all networking configuration available to the VIF driver or send request
to the neutron server to obtain it. </span><span lang="EN-US" style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.7pt;text-indent:-18.0pt;mso-list:l0 level1 lfo2">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol;color:black;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">¡¤<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D;mso-fareast-language:ZH-CN">It can be done by having a dedicated L2 neutron agent on each Host that scans for allocated PCI devices and then retrieves networking configuration from the
server and configures the device. The agent will be also responsible for managing update requests coming from the neutron server.
</span><span lang="EN-US" style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.7pt"><span lang="EN-US" style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span lang="EN-US" style="color:black;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">For macvtap vNIC type assignment, the networking configuration can be applied by a dedicated L2 neutron agent.
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">BR,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Irena</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> Jiang, Yunhong [<a href="mailto:yunhong.jiang@intel.com">mailto:yunhong.jiang@intel.com</a>]
<br>
<b>Sent:</b> Tuesday, October 29, 2013 9:04 AM</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><br>
<b>To:</b> Robert Li (baoli); Irena Berezovsky; <a href="mailto:prashant.upadhyaya@aricent.com">
prashant.upadhyaya@aricent.com</a>; <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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">To your flow, can you give more detailed example. For example, I can consider user specify the instance with ¨Cnic 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">Thanks</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D">--jyh</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi Irena,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Thank you very much for your comments. See inline. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">--Robert</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">On 10/27/13 3:48 AM, "Irena Berezovsky" <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>> wrote:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Robert,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> . PCI alias</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> . direct pci-passthrough/macvtap</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> . port profileid that is compliant with 802.1Qbh</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> The above information is optional. In the absence of them, the existing behavior remains.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- if special networking requirements exist, Nova api creates PCI requests in the nova instance type for scheduling purpose</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- Nova scheduler schedules the instance based on the requested flavor plus the PCI requests that are created for networking.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- Nova compute invokes neutron services with PCI passthrough information if any </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> binding:vif_type</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> binding:host_id</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> binding:profile</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> binding:capabilities</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> -- 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">During the Havana Release, we introduced Mellanox Neutron plugin that enables networking via SRIOV pass-through devices or macvtap interfaces.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">The PCI pass-through networking support is planned to be discussed during the summit:
</span><span lang="EN-US" style="color:black"><a href="http://summit.openstack.org/cfp/details/129">http://summit.openstack.org/cfp/details/129</a>.
</span><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">I agree. Maybe we can steal some time in that discussion.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Regards,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Irena</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> 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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Hi Irena,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white"> and<br>
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial","sans-serif";color:#0033AA;background:white"><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 lang="EN-US" style="font-size:10.5pt;color:black"> I
registered a couple of blueprints (one on Nova side, the other on the Neutron side):</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><a href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><a href="https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">in order to address SRIOV support in openstack. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">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 lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">I noticed that there is another thread on this topic, so copy those folks from that thread as well.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">thanks,</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">Robert</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black">On 10/16/13 4:32 PM, "Irena Berezovsky" <<a href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>> wrote:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"> </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black">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 lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Irena<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
</div>
</blockquote>
</div>
</body>
</html>