Hi, In the Juno cycle there is proposal of ModularL2Agent [1,2], which is very useful to develop agent for new backend with much less redundant code. Without that, we have to either fork a new agent by copying large amount of existing l2agent code, or patch existing l2agent. However in the K pad  it seems that this feature disappeared?
Now there are some interest on hybrid backend (e.g. Hierachical Binding), and some BPs are proposed to patch OVS agent. But it has two drawbacks: 1) tightly coupled with OVS; 2) OVS agent became unnecessarily heavier. With ML2agent we only need to add separated driver modules in the common L2agent framework, but not to patch the monolithic ovs agent. Also if it is convenient to write only modules but not the whole agent, backend providers may prefer to move out most of the logic from MD to agent side driver, for better stability for Neutron controller node and easier co-existing with other backend. Ofagent shows good compatibility of l2pop to build vxlan/gre tunnel network between itself and other ovs/linuxbridge agent. Or are there any general consideration about Neutron agent side consolidation, either L2/L3/L4-7？ 1. https://wiki.openstack.org/wiki/Neutron/ModularL2Agent#Possible_Directions 2. https://etherpad.openstack.org/p/juno-neutron-modular-l2-agent 3. https://etherpad.openstack.org/p/kilo-neutron-summit-topics Best Regards Wu
_______________________________________________ OpenStack-dev mailing list OpenStackemail@example.com http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev