<div dir="ltr">Hi,<div><br></div><div>I would just like to share my idea on somehow managing sr-iov networking attributes in neutron (e.g. mac addr, ip addr, vlan).  I've had experience implementing this and that was before pci-passthrough feature in nova existed.  Basically, nova still did the plugging and the unplugging of vifs and neutron did all the provisioning of networking attributes.  At that time, the best hack I can do was to treat sr-iov nics as ordinary vifs that were distinguishable by nova and neutron.  So to implement that, when booting an instance in nova, a certain sr-iov-vf-specific extra_spec was used (e.g. vfs := 1) indicating the number of sr-iov vfs to create and eventually represented as mere vif objects in nova.  In nova, the sr-iov vfs were represented as vifs but a special exception was made wherein sr-iov vfs aren't really plugged, because of course it isn't necessary.  In effect, the vifs that represent the vfs were accounted in the db including its ip and mac addresses, and vlan tags.  With respect to l2 isolation, the vlan tags were retrieved when booting the instance through neutron api and were applied in libvirt xml.  To summarize, the networking attributes such as ip and mac addresses and vlan tags were applied normally to vfs and thus preserved the normal "OS way" of managing these like ordinary vifs.  However, since its just a hack, some consequences and issues surfaced such as, proper migration of these networking attributes weren't tested,  libvirt seems to mistakenly swap the mac addresses when rebooting the instances, and most importantly the vifs that represented the vfs lack passthrough-specific information.  Since today OS already has this concept of PCI-passthrough, I'm thinking this could be combined with the idea of a vf that is represented by a vif to have a complete abstraction of a manageable sr-iov vf.  I have not read thoroughly the preceeding replies, so this idea might be redundant or irrelevant already.</div>
<div><br></div><div>Cheers,</div><div>Pepe</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 17, 2013 at 4:32 AM, Irena Berezovsky <span dir="ltr"><<a href="mailto:irenab@mellanox.com" target="_blank">irenab@mellanox.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<p class="MsoNormal">As one of the next steps for PCI pass-through I would like to discuss is the support for PCI pass-through vNIC.<u></u><u></u></p>
<p class="MsoNormal">While nova takes care of PCI pass-through device resources  management and VIF settings, neutron should manage their networking configuration.<u></u><u></u></p>
<p class="MsoNormal">I would like to register a<span style="color:#1f497d"> </span>
summit proposal to discuss the support for PCI pass-through networking.<u></u><u></u></p>
<p class="MsoNormal">I am not sure what would be the right topic to discuss the PCI pass-through networking, since it involve both nova and neutron.  <u></u><u></u></p>
<p class="MsoNormal">There is already a session registered by Yongli on nova topic to discuss the PCI pass-through next steps.
<u></u><u></u></p>
<p class="MsoNormal">I think PCI pass-through networking is quite a big topic and it worth to have a separate discussion.<u></u><u></u></p>
<p class="MsoNormal">Is there any other people who are interested to discuss it and share their thoughts and experience?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Regards,<u></u><u></u></p>
<p class="MsoNormal">Irena<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>To stop learning is like to stop loving.
</div>