Support externally assigned IP addresses
Merge branch 'external_ip_allocation' into exper