The OpenStack Networking layer-3 extension is a resource extension. It defines two new resources: router and floatingip.
A router is used to interconnect subnets and forward traffic among them. Another feature of the router is to NAT internal traffic to external networks.
A router has an interface for each subnet it is associated with. By default the IP address of such interface is the subnet's gateway IP. Also, whenever a router is associated with a subnet, a port for that router interface will be added to the subnet's network.
A floating IP is an IP address on an external network, which is associated with a specific port, and optionally a specific IP address, on a private OpenStack Networking network. Therefore a floating IP allows access to an instance on a private network from an external network. Floating IPs can only be defined on networks for which the attribute router:external (by the external network extension) has been set to True.
Attribute | Type | Required | CRUD[a] | Default Value | Validation Constraints | Notes | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | uuid-str | N/A | R | generated | N/A | Unique identifier for the router. | |||||||||||||||||||||||||||||||||||||||||||
name | String | No | CRU | None | N/A | Human readable name for the router. Does not have to be unique | |||||||||||||||||||||||||||||||||||||||||||
admin_state_up | Bool | No | CRU | true | {true | false } | Administrative state of the router | |||||||||||||||||||||||||||||||||||||||||||
status | String | N/A | R | N/A | N/A | Indicates whether a router is currently operational or not | |||||||||||||||||||||||||||||||||||||||||||
tenant_id | uuid-str | No | CR | Derived from Authentication token | N/A | Owner of the router. Only admin users can specify a tenant identifier other than its own | |||||||||||||||||||||||||||||||||||||||||||
external_gateway_info | dict | No | CRU | None | No constraint | Information on external gateway for the router | |||||||||||||||||||||||||||||||||||||||||||
[a]
|
Attribute | Type | Required | CRUD | Default Value | Validation Constraints | Notes |
---|---|---|---|---|---|---|
id | uuid-str | N/A | R | generated | N/A | Unique identifier for the Floating IP instance |
floating_network_id | uuid-str | Yes | CR | N/A | UUID Pattern | UUID of the external network where the floating IP is to be created |
port_id | uuid-str | Yes | CRU | N/A | UUID Pattern | UUID of the port on an internal OpenStack Networking network which should be associated to the Floating IP |
fixed_ip_address | IP Address | No | CRU | None | IP address or null | Specific IP address on
port_id which should be
associated with the floating IP |
floating_ip_address | IP Address | N/A | R | Automatically allocated from pool | N/A | Address of the floating IP on the external network |
tenant_id | uuid-str | No | CR | Derived from Authentication token | N/A | Owner of the Floating IP. Only admin users can specify a tenant identifier other than its own |