Current Open vSwitch and Linux Bridge tunneling implementations broadcast to every agent, even if they don’t host the corresponding network as illustrated below.
As broadcast emulation on overlay is costly, it may be better to avoid its use for mac learning and ARP resolution. This supposes the use of proxy ARP on the agent to answer VM requests, and to populate forwarding table. Currently only the Linux Bridge Agent implements an ARP proxy. The prepopulation limits L2 broadcasts in overlay, however it may anyway be necessary to provide broadcast emulation. This is achieved by sending broadcasts packets over unicasts only to the relevant agents as illustrated below.
The partial-mesh is available with the Open vSwitch and
the Linux Bridge agent. The following scenarios will use the L2
population mechanism driver with an Open vSwitch agent and a Linux Bridge agent. To enable the l2 population driver we have to add it in the list of mechanism drivers. We also need to have at least one tunneling
type driver enabled, either GRE, VXLAN or both. Below configuration options that we
have to set in
ml2_conf.ini
:
[ml2] type_drivers = local,flat,vlan,gre,vxlan mechanism_drivers = openvswitch,linuxbridge,l2population