Enable Dynamic Network Segments with ML2 Agents
When an L2 agent is used with the ML2 core plugin, a mechanism driver binds the port based on agents_db info, and the L2 agent in the hypervisor uses the get_device_details RPC to get the network_type, physical_network, and segmentation_id of the bound segment that indicate how to plug the port. This approach works fine when the details of how the L2 agent should plug the port are statically defined as a network segment (i.e. a VLAN global to the deployment). But it doesn't handle cases where these details needed by the L2 agent are dynamically managed, such as when the hypervisor connects via a (non-global) VLAN to a ToR switch that tunnels the traffic to other switches via VXLAN. This blueprint changes ML2's handling of the get_device_details RPC so that the bound mechanism driver can supply the connectivity details, ether directly from the bound segment as is done now (possibly involving the type driver), or from information it manages regarding local connectivity from the hypervisor to a switch with connectivity to the bound segment. This blueprint does not assume any particular mechanism for managing allocation of connectivity between the hypervisor and switch, such as VDP, but should enable a range of approaches.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Robert Kukura
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Armando Migliaccio
Related branches
Related bugs
Sprints
Whiteboard
If someone is interested in pursuing it, this must be re-submitted according to guidelines defined in [1]
[1] http://