<div dir="ltr">Hello Nikolai,<div><br></div><div>First, for any development question you should use openstack-dev mailing list. This one (openstack) is meant to be used by OpenStack users.</div><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px">
On Neutron (formerly known as Quantum) architecture:</div><div style="font-family:arial,sans-serif;font-size:13px"> I think those links can be useful for understanding of how Neutron works internally:</div><div style="font-family:arial,sans-serif;font-size:13px">
<a href="http://www.slideshare.net/ben_duyujie/deep-dive-into-quantum" target="_blank">http://www.slideshare.net/ben_duyujie/deep-dive-into-quantum</a></div><div style="font-family:arial,sans-serif;font-size:13px"> <a href="https://www.slideshare.net/slideshow/embed_code/15545025" target="_blank">https://www.slideshare.net/slideshow/embed_code/15545025</a><br>
</div><div style="font-family:arial,sans-serif;font-size:13px"> <a href="http://www.slideshare.net/ben_duyujie/quantum-networks" target="_blank">http://www.slideshare.net/ben_duyujie/quantum-networks</a></div></div><div style="font-family:arial,sans-serif;font-size:13px">
<a href="http://www.mirantis.com/blog/a-new-agent-management-approach-in-quantum-for-openstack-grizzly/" target="_blank">http://www.mirantis.com/blog/a-new-agent-management-approach-in-quantum-for-openstack-grizzly/</a><br>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Basically, Neutron is made up of services of 3 different types:</div><div style="font-family:arial,sans-serif;font-size:13px">
1. Neutron API (also known as Neutron Server) - is a WSGI app that defines a REST API [1] to manage virtual networks of OpenStack cluster. It defines high level resources users can operate with (networks, subnets, ports, routers, etc).</div>
<div style="font-family:arial,sans-serif;font-size:13px">2. Neutron Core Plugin - is a plugin of Neutron API, that defines how Neutron virtual networks are actually implemented. E.g. there is Neutron OpenVSwitch plugin, that uses OpenVSwitch to configure VLANs/GRE tunnels to provide isolation of tenant networks. There are plenty of such plugins: Linux Bridge, Nicira, Cisco, etc. Each of those uses its own technology under the hood to provide virtual networking for OpenStack cluster tenants.</div>
<div style="font-family:arial,sans-serif;font-size:13px">3. Neutron Agent - is a part of Neutron Core Plugin (so each plugin will have its own agent implementation) - is a daemon running on cluster nodes to configure bridges, set up GRE tunnels/VLANs, connect VMs tap interfaces to bridges and so on. So this is the service "doing actual work". Neutron Core Plugin talks to its agents via AMQP.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">+ there are a few core plugin independent features (DHCP-agent, L3-agent, service plugins (LBaaS, VPNaaS, FWaaS) and metadata service)</div>
<div><br></div><div>Welcome to OpenStack community! ;-)</div><div><br></div><div>Thanks,</div><div>Roman</div><div><br></div><div>[1] <a href="http://docs.openstack.org/api/openstack-network/2.0/content/index.html" target="_blank">http://docs.openstack.org/api/openstack-network/2.0/content/index.html</a></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 10, 2013 at 10:52 AM, Nikolai de Figueiredo <span dir="ltr"><<a href="mailto:nikolai.defigueiredo@netronome.com" target="_blank">nikolai.defigueiredo@netronome.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello all,<br>
<br>
Being new to OpenStack I assume this is the best place to use as a<br>
first point of contact. I am investigating the networking features<br>
provided by Neutron however I can't seem to find information on how the<br>
source code is structured.<br>
<br>
What happens when a command line call is made to the Neutron server<br>
that leads to the creation/modification/deletion of virtual network<br>
elements? What resources exist that I could use to gain an<br>
understanding of how the code works?<br>
<br>
Or, is there a more appropriate platform for finding this kind of<br>
guidance?<br>
<br>
Help would be geatly appreciated.<br>
<br>
Regards<br>
Nikolai<br>
<br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
</blockquote></div><br></div></div>