This RFE proposes an enhancement to the Routed Provider Networks[1][2] feature to allow the creation of Floating IP subnets. The planned implementation will leverage the BGP Dynamic Routing[3] and Service Subnets[4] features to achieve this.
Problem Description
===================
Currently, all subnets on a Routed Network are required to belong to a segment, which typically corresponds to the physical rack on which all VMs for the subnet will be provisioned. This doesn't make sense for a Floating IP subnet, which will not be associated with a neutron segment as its address range will span more than a single rack. Additionally, no mechanism currently exists to provide routing from a floating IP to a specific Routed Network Segment.
Proposed Solution
=================
To solve the first part of the problem, Service Subnets[4] will be used to allow a Floating IP subnet to be created on a Routed Network without the need for subnet/segment association. Specifically, a subnet with service_type "network:floating_ip" will not be subject to the segment association check.
To solve the second part, BGP Dynamic Routing[3] will be used to advertise the ToR for the relevant segment as the next-hop for assigned Floating IPs. This will require enhancing the BGP Agent to be segment-aware, rather than just network-aware.
[1] https://specs.openstack.org/openstack/neutron-specs/specs/newton/routed-networks.html
[2] https://docs.openstack.org/newton/networking-guide/config-routed-networks.html
[3] https://docs.openstack.org/newton/networking-guide/config-bgp-dynamic-routing.html
[4] https://docs.openstack.org/newton/networking-guide/config-service-subnets.html
As discussed today in the drivers meeting, next step is a spec and a blue print (e.g. https:/ /blueprints. launchpad. net/neutron/ +spec/enginefac ade-switch)