<div dir="ltr">openstack is designed as decoupled between all modules, both nova and all neutron plugins: ml2, l3, advanced...however, their agents may need some sort of interaction. Here are two examples:<div><br></div><div>
1) DVR. L2 population already push all portcontext for a subnet to CN, but L3 agent on it has to get once more. If the two agents can share port information, rpc message can be cut half.</div><div><br></div><div>2) VIF-PLUG. For each type L2 agent, they have backend specific method to detect different vif plug event for edge binding. In upcoming ML2 modular agent, this detection and scanning work has to be done by each resource driver, although this is just a general event.</div>
<div><br></div><div>How about starting a local message bus on each host node (etc. D-BUS or kbus), while all agents on that host can notify to each other directly? The potential benefits are less rpc interaction with plugin, and less backend technology specific code.</div>
</div>