The neutron l3 agent is responsible for providing service for routing, natting, security-group rules and floatingip allocation. This purpose of this post is to document its working principles and also to enable users to effectively debug their Openstack cloud(most problems occur due to user mis configuration). The l3 agent offers these services from the network node and relies on neutron-openvswitch-agent to provide l2 connectivity to the instances running on compute nodes. This post assumes that the readers are aware of how l2 connectivity is achieved using ‘openvswitch’ mechanism driver. Continue reading “L3 connectivity using neutron-l3-agent”→
L2 connectivity is the most basic requirement in a network. All cloud platforms allow users to create subnets. Subnets are L2 segments to which the servers attach their interfaces to and start sending and receiving traffic. Servers on the same L2 segment can reach each other directly. They only need to resolve the destination MAC address using ARP. In the world of networking this service is provided by your access switch.
A multitude of Openstack users eventually run into Open vSwitch. Not because they want to, but because they have to. So here is something to deconstruct what Open vSwitch really is, and what it does.
What is Open vSwitch?
In the words of the Open vSwitch website:
“Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag).”
Openstack uses Open vSwitch as its default virtual switch. There are various reasons for this. The primary reason is VLAN support. Open vSwitch is inherently built with VLAN support, and Openstack uses VLANs extensively to differentiate between its virtual networks. Also, Open vSwitch is works very well in a distributed environment. This is extremely important in a platform like…