Jump to: navigation, search

L2population

L2 population is mechanism driver for ML2 plugin which tends to leverage the implementation of overlay networks. By populating the forwarding tables of virtual switches (LinuxBridge or OVS), l2population mech driver will decrease broadcast traffics inside the physical networks fabric while using overlays networks (VXLan, GRE). Full specifications of the blueprint are available here

Two topics are implemented with this mechanism driver :

  • populating ARP proxy so that ARP broadcasts are not broadcasted in the network fabric anymore; (only available for Linuxbridge in havana-1, but OVS implementation should land soon with an ebtabless driver)
  • populating forwarding tables because when ARP proxy is used, virtual switch forwarding tables don't learn where to send packets anymore.


Here is the devsatck config to use L2population in havana with OVS  :

[[local|localrc]]
...
Q_PLUGIN=ml2
Q_SERVICE_PLUGIN_CLASSES=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population
Q_ML2_TENANT_NETWORK_TYPE=vxlan,gre
...
[[post-config|Ț/$Q_PLUGIN_CONF_FILE]]
[agent]
l2_population=True
[ovs]
local_ip=$HOST_IP

Here is the devstack config to use L2population with linuxbridge and VXLan (remember minimal kernel version is 3.8 to use VXLan) :

[[local|localrc]]
...
Q_PLUGIN=ml2
Q_AGENT=linuxbridge
Q_SERVICE_PLUGIN_CLASSES=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population
Q_ML2_TENANT_NETWORK_TYPE=vxlan,gre
...
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[vxlan]
enable_vxlan=true
local_ip=$HOST_IP
l2_population=True