Hardcoded dependencies to VRouterTenant
have been eliminated. It's now assumed that any ServiceInstance that has public_ip
and public_mac
fields provides the addressing functionality that VRouterTenant used to provide.
The VTN synchronizer will compute additional addresses attached to a port based on the following criteria:
vm_vrouter_tag
or vm_public_service_instance
tag attached to it, and that tag points to a ServiceInstance that has public_ip
and public_mac
fields, then that address pair will be added to the ports for any access networks on that instance. (TODO: replace tag with link?)vm_vrouter_tag
is deprecated in favor of the service-neutron name vm_public_service_instance
.
SerivceInstanceLink
to a ServiceInstance that has public_ip
and public_mac
fields, then that address pair will be added to the ports for any access networks on that instance.A port will be given a vlan_id
if there exists a vlan_id
or s_tag
tag associated with the instance, and that port is an access network.
s_tag
is deprecated in favor of the service-neutral name vlan_id
.
A network is an access network (i.e. supports vlan_id and address_pairs) if it's VTN kind is in the set ["VSG", ]
. (TODO: Find a better way to mark address networks)
The VTN synchronizer determines public gateways by examining AddressPool
objects. Each AddressPool
has a gateway_ip
and gateway_mac
field.