Plan Neutron tenant networks: usable addresses per subnet, port counts, floating IP demand and VXLAN segment usage.
Neutron consumes more of a subnet than the instances do: the network and broadcast addresses go first, then the router gateway, then one address per DHCP agent — and redundant DHCP means two. Port count matters separately because ports, not addresses, are what the ML2 plugin and the database actually track. Port count drives Neutron server and agent load far more than instance count does, and a subnet sized exactly to the instance count will fail its first scale-out because the infrastructure ports were never budgeted.
OpenStack Neutron Network
usable addresses = 2^(32 − prefix) − 2 − 1 gateway − DHCP agent ports; ports = instance ports + DHCP ports + router interfaces, and VXLAN usage = networks ÷ 16,777,216 available VNIs.
usable addresses = 2^(32 − prefix) − 2 − 1 gateway − DHCP agent ports; ports = instance ports + DHCP ports + router interfaces, and VXLAN usage = networks ÷ 16,777,216 available VNIs. Neutron consumes more of a subnet than the instances do: the network and broadcast addresses go first, then the router gateway, then one address per DHCP agent — and redundant DHCP means two. Port count matters separately because ports, not addresses, are what the ML2 plugin and the database actually track.
Port count drives Neutron server and agent load far more than instance count does, and a subnet sized exactly to the instance count will fail its first scale-out because the infrastructure ports were never budgeted.
This calculator takes 7 inputs: Projects (tenants), Networks per project, Subnet prefix length, Instances per network, DHCP agents per network, Routers per project, Instances needing a floating IP. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
The 24-bit VNI space does, but practical limits arrive much sooner — the tunnel mesh, the number of ports per agent and the ML2 driver's database load all bite long before the VNI range is exhausted.