Jump to: navigation, search

L2population

Revision as of 23:02, 3 November 2013 by Mathieu-rohon (talk | contribs) (L2population configuration)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)
  • implementing partial mesh so that when a broadcast is sent, it is not duplicated to every host, as it is done currently with OVS and GRE overlay network. It will be forwarded to hosts that are concerned by the network. (this is currently available for OVS with VXLan or GRE. It is also available on Linuxbridge, with kernel version 3.11. kernel version 3.8 and higher will use multicast groups. previous kernel doesn't implement VXLan)

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

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
...
/$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) :

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
...
/$Q_PLUGIN_CONF_FILE
[vxlan]
enable_vxlan=true
local_ip=$HOST_IP
l2_population=True