Comment 0 for bug 1486882

Revision history for this message
Dong Liu (liudong78) wrote : ml2 port cross backends extension

In some scenes using neutron, there are more than one backends of ML2, such as one is openvswitch and the other is an sdn controller. The ports in the same network, they may be made up of different ML2 backends. For openvswitch backends, the tunneling ip of a port is the same as ovs-agent host's ip. But for an sdn controller backends, there is no l2-agent, the tunneling ip of a port can not get from host configuration. So I think, we need extend a new ml2 port attribute to record the tunnel connection info about ports. Maybe we can named it "binding:tunnel_connection".

In currently implement, we get the tunneling ip of a port in this way, port -> binding:host -> agent -> agent configurations -> tunneling_ip. By using this extension, we could get a tunneling ip in a simple way, port -> binding:tunnel_connection -> tunneling_ip.

Proposed Change:
* add an extension attribute of port, named "binding:tunnel_connection"
* add a field in ports table
* a little change in the flow of create/update port, maybe in openvswitch_ml2_driver and l2pop_driver
* maybe need add some policy rules