ML2 Hierarchical Port Binding

Registered by Robert Kukura

Support hierarchical network topologies by binding ports to ML2 mechanism drivers and network segments at each necessary level of the hierarchy. For example, one mechanism driver might bind to a static VXLAN segment of the network, causing a ToR switch to expose that network as a dynamically allocated VLAN to the compute node(s) connected to that switch, while a second mechanism driver, such as OVS, would bind the compute node to that VLAN.

Blueprint information

Kyle Mestery
Robert Kukura
Robert Kukura
Series goal:
Accepted for kilo
Milestone target:
milestone icon 2015.1.0
Started by
Kyle Mestery
Completed by
Kyle Mestery

Related branches



Febriary-25 (mestery): Awesome work Bob! I'd like to mark this complete and you can file bugs for the cases below. I'll do that now, if you disagree just ping me and I'll revert this (I think bugs are cleaner since the base functionality is complete here). Thanks!

February-25 (rkukura): The code implementing this BP's functionality has all been merged, including unit tests. I'm not marking it complete yet because I'd like to add some additional tests (unit or functional?) that verify that binding loops are detected, dead-end binding attempts are handled correctly, and the depth limit is enforced. I'm not sure if these additional tests will make kilo-3, but I hope so. We could treat these additional tests as a bug fix and mark this BP complete if you prefer.

February-3 (mestery): This may be ready to merge, but I don't see it happening today. In my 1:1 with ttx today, this was not on the list, so he and I are not tracking this. We hope to tag today once the other BPs and bugs we targeted are merged. Moving back to Kilo-3 in the hopes we can land it early in Kilo-3.

(rkukura): I believe this is ready to merge. The two remaining patches have had significant core and non-core reviews with all issues addressed, so no reason not to include it in kilo-2 if possible. Several ML2 mechanism drivers need to use this feature in kilo, so the sooner it merges, the better chance they will make it.

December-15 (mestery): Kilo-3.

September-9 (mestery): Moving out of Juno as this didn't get an FFE at the very end.

20-July (mestery): Medium for Juno-3.

Gerrit topic:,topic:bp/ml2-hierarchical-port-binding,n,z

Addressed by: (Merged)
    ML2 Hierarchical Port Binding

Gerrit topic:,topic:bp/neutron-ovs-dvr,n,z

Addressed by: (Merged)
    Encapsulate some port properties in the PortContext

Addressed by: (Abandoned)
    Break out port binding logic from ML2 plugin

Addressed by: (Abandoned)
    Improves the Port Binding Model for ML2

Related document:

Addressed by: (Merged)
    ML2: Driver API changes for hierarchical port binding

Addressed by:
    ML2: DB changes for hierarchical port binding

Addressed by:
    ML2: hierarchical port binding

Addressed by:
    ML2 Hierarchical Port Binding


Work Items

This blueprint contains Public information 
Everyone can see this information.