<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 2013年10月29日 03:22, Robert Li (baoli)
wrote:<br>
</div>
<blockquote
cite="mid:1705659276F6A540A34DBC19195799841027A7A4@xmb-rcd-x03.cisco.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<div>Hi Irena,</div>
<div><br>
</div>
<div>Thank you very much for your comments. See inline. </div>
<div><br>
</div>
<div>--Robert</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div>
<div>On 10/27/13 3:48 AM, "Irena Berezovsky" <<a
moz-do-not-send="true" href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>
wrote:</div>
</div>
<div><br>
</div>
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<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;}
/* 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;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{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]-->
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi
Robert,<o:p></o:p></span></p>
<p class="MsoNormal"><span 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></p>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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':</div>
<div><br>
</div>
<div> -- Specifies networking requirements in the —nic
option. Specifically for SRIOV, allow the following to be
specified in addition to the existing required information:</div>
<div> . PCI alias</div>
<div> . direct pci-passthrough/macvtap</div>
<div> . port profileid that is compliant with
802.1Qbh</div>
<div> </div>
<div> The above information is optional. In the absence of
them, the existing behavior remains.</div>
<div><br>
</div>
<div> -- if special networking requirements exist, Nova api
creates PCI requests in the nova instance type for scheduling
purpose</div>
<div><br>
</div>
<div> -- Nova scheduler schedules the instance based on the
requested flavor plus the PCI requests that are created for
networking.</div>
<div><br>
</div>
<div> -- Nova compute invokes neutron services with PCI
passthrough information if any </div>
<div><br>
</div>
<div> -- 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:</div>
<div> binding:vif_type</div>
<div> binding:host_id</div>
<div> binding:profile</div>
<div> binding:capabilities</div>
</blockquote>
(openstack bonce stop me to sent to so many people at one time, so i
remove cc & to, hope every one can see this)<br>
<br>
i heard of some nic passthrough solution in summary, and you
metioned this, in high level of implement the NIC passthrough there
is: <br>
hardware VEB (Virtual ethernet Switches )<br>
the nic need external switch like 802.1qbg <br>
<br>
so question is: <br>
where is the diffrent type infomation?<br>
does 802.1qbg need know which port the PF connected to?
<blockquote
cite="mid:1705659276F6A540A34DBC19195799841027A7A4@xmb-rcd-x03.cisco.com"
type="cite">
<div><br>
</div>
<div> -- 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. </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D"><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">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.
<o:p></o:p></span></p>
<p class="MsoNormal"><span 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></p>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D"><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">During
the Havana Release, we introduced Mellanox Neutron
plugin that enables networking via SRIOV
pass-through devices or macvtap interfaces.<o:p></o:p></span></p>
<p class="MsoNormal"><span 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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">The PCI
pass-through networking support is planned to be
discussed during the summit:
</span><a moz-do-not-send="true"
href="http://summit.openstack.org/cfp/details/129">http://summit.openstack.org/cfp/details/129</a>.
<span 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.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
</div>
</div>
</div>
</blockquote>
</span>
<div>I agree. Maybe we can steal some time in that discussion.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span 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?<o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE"
style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0
0 0 5;">
<div 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">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D"><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">Regards,<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>
<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:
10pt; font-family: Tahoma, sans-serif; ">From:</span></b><span
style="font-size: 10pt; font-family: Tahoma,
sans-serif; "> Robert Li (baoli) [<a
moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:prashant.upadhyaya@aricent.com">prashant.upadhyaya@aricent.com</a>;
Irena Berezovsky;
<a moz-do-not-send="true"
href="mailto:yunhong.jiang@intel.com">yunhong.jiang@intel.com</a>;
<a moz-do-not-send="true"
href="mailto:chris.friesen@windriver.com">
chris.friesen@windriver.com</a>; <a
moz-do-not-send="true"
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<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 Irena,<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">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 moz-do-not-send="true"
href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base"
id="yui_3_10_3_1_1382711548329_391"><span
style="font-size: 9pt; font-family: Arial,
sans-serif; color: rgb(0, 51, 170);
background-color: white; text-decoration:
none; ">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base</span></a></span><span
style="font-size: 9pt; font-family: Arial,
sans-serif; color: rgb(51, 51, 51);
background-color: white; "> and<br>
</span><span style="font-size: 9pt; font-family:
Arial, sans-serif; color: rgb(0, 51, 170);
background-color: white; "><a
moz-do-not-send="true"
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"> I registered
a couple of blueprints (one on Nova side, the
other on the Neutron side):<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"><a
moz-do-not-send="true"
href="https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black"><a
moz-do-not-send="true"
href="https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov">https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov</a><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">in order to
address SRIOV support in openstack. <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">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.<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 noticed
that there is another thread on this topic, so
copy those folks from that thread as well.<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">thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black">Robert<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">On 10/16/13
4:32 PM, "Irena Berezovsky" <<a
moz-do-not-send="true"
href="mailto:irenab@mellanox.com">irenab@mellanox.com</a>>
wrote:<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>
<blockquote style="border:none;border-left: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="color:black">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span 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 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 style="color:black">I
would like to register a</span><span
style="color:#1F497D"></span><span
style="color:black">summit proposal to discuss
the support for PCI pass-through networking.<o:p></o:p></span></p>
<p class="MsoNormal"><span 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 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 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 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 style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Irena<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</span>
</blockquote>
<br>
</body>
</html>