A router is a logical component that forwards data packets between networks. It also provides Layer 3 and NAT forwarding to provide external network access for servers on project networks.
Network v2
Add a port to a router
openstack router add port <router> <port>
Router to which port will be added (name or ID)
Port to be added (name or ID)
Add extra static routes to a router’s routing table.
openstack router add route
[--route destination=<subnet>,gateway=<ip-address>]
<router>
Add extra static route to the router. destination: destination subnet (in CIDR notation), gateway: nexthop IP address. Repeat option to add multiple routes. Trying to add a route that’s already present (exactly, including destination and nexthop) in the routing table is allowed and is considered a successful operation.
Router to which extra static routes will be added (name or ID).
Add a subnet to a router
openstack router add subnet <router> <subnet>
Router to which subnet will be added (name or ID)
Subnet to be added (name or ID)
Create a new router
openstack router create
[--extra-property type=<property_type>,name=<property_name>,value=<property_value>]
[--enable | --disable]
[--distributed | --centralized]
[--ha | --no-ha]
[--description <description>]
[--project <project>]
[--project-domain <project-domain>]
[--availability-zone-hint <availability-zone>]
[--tag <tag> | --no-tag]
[--external-gateway <network>]
[--fixed-ip subnet=<subnet>,ip-address=<ip-address>]
[--enable-snat | --disable-snat]
<name>
Additional parameters can be passed using this property. Default type of the extra property is string (‘str’), but other types can be used as well. Available types are: ‘dict’, ‘list’, ‘str’, ‘bool’, ‘int’. In case of ‘list’ type, ‘value’ can be semicolon-separated list of values. For ‘dict’ value is semicolon-separated list of the key:value pairs.
Enable router (default)
Disable router
Create a distributed router
Create a centralized router
Create a highly available router
Create a legacy router
Set router description
Owner’s project (name or ID)
Domain the project belongs to (name or ID). This can be used in case collisions between project names exist.
Availability Zone in which to create this router (Router Availability Zone extension required, repeat option to set multiple availability zones)
Tag to be added to the router (repeat option to set multiple tags)
No tags associated with the router
External Network used as router’s gateway (name or ID)
Desired IP and/or subnet (name or ID) on external gateway: subnet=<subnet>,ip-address=<ip-address> (repeat option to set multiple fixed IP addresses)
Enable Source NAT on external gateway
Disable Source NAT on external gateway
New router name
Delete router(s)
openstack router delete <router> [<router> ...]
Router(s) to delete (name or ID)
List routers
openstack router list
[--format-config-file FORMAT_CONFIG]
[--sort-column SORT_COLUMN]
[--sort-ascending | --sort-descending]
[--name <name>]
[--enable | --disable]
[--long]
[--project <project>]
[--project-domain <project-domain>]
[--agent <agent-id>]
[--tags <tag>[,<tag>,...]]
[--any-tags <tag>[,<tag>,...]]
[--not-tags <tag>[,<tag>,...]]
[--not-any-tags <tag>[,<tag>,...]]
Config file for the dict-to-csv formatter
specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), can be repeated
sort the column(s) in ascending order
sort the column(s) in descending order
List routers according to their name
List enabled routers
List disabled routers
List additional fields in output
List routers according to their project (name or ID)
Domain the project belongs to (name or ID). This can be used in case collisions between project names exist.
List routers hosted by an agent (ID only)
List routers which have all given tag(s) (Comma-separated list of tags)
List routers which have any given tag(s) (Comma-separated list of tags)
Exclude routers which have all given tag(s) (Comma-separated list of tags)
Exclude routers which have any given tag(s) (Comma-separated list of tags)
Remove a port from a router
openstack router remove port <router> <port>
Router from which port will be removed (name or ID)
Port to be removed and deleted (name or ID)
Remove extra static routes from a router’s routing table.
openstack router remove route
[--route destination=<subnet>,gateway=<ip-address>]
<router>
Remove extra static route from the router. destination: destination subnet (in CIDR notation), gateway: nexthop IP address. Repeat option to remove multiple routes. Trying to remove a route that’s already missing (fully, including destination and nexthop) from the routing table is allowed and is considered a successful operation.
Router from which extra static routes will be removed (name or ID).
Remove a subnet from a router
openstack router remove subnet <router> <subnet>
Router from which the subnet will be removed (name or ID)
Subnet to be removed (name or ID)
Set router properties
openstack router set
[--extra-property type=<property_type>,name=<property_name>,value=<property_value>]
[--name <name>]
[--description <description>]
[--enable | --disable]
[--distributed | --centralized]
[--route destination=<subnet>,gateway=<ip-address>]
[--no-route]
[--ha | --no-ha]
[--external-gateway <network>]
[--fixed-ip subnet=<subnet>,ip-address=<ip-address>]
[--enable-snat | --disable-snat]
[--qos-policy <qos-policy> | --no-qos-policy]
[--tag <tag>]
[--no-tag]
<router>
Additional parameters can be passed using this property. Default type of the extra property is string (‘str’), but other types can be used as well. Available types are: ‘dict’, ‘list’, ‘str’, ‘bool’, ‘int’. In case of ‘list’ type, ‘value’ can be semicolon-separated list of values. For ‘dict’ value is semicolon-separated list of the key:value pairs.
Set router name
Set router description
Enable router
Disable router
Set router to distributed mode (disabled router only)
Set router to centralized mode (disabled router only)
Add routes to the router destination: destination subnet (in CIDR notation) gateway: nexthop IP address (repeat option to add multiple routes). This is deprecated in favor of ‘router add/remove route’ since it is prone to race conditions between concurrent clients when not used together with –no-route to overwrite the current value of ‘routes’.
Clear routes associated with the router. Specify both –route and –no-route to overwrite current value of routes.
Set the router as highly available (disabled router only)
Clear high availability attribute of the router (disabled router only)
External Network used as router’s gateway (name or ID)
Desired IP and/or subnet (name or ID) on external gateway: subnet=<subnet>,ip-address=<ip-address> (repeat option to set multiple fixed IP addresses)
Enable Source NAT on external gateway
Disable Source NAT on external gateway
Attach QoS policy to router gateway IPs
Remove QoS policy from router gateway IPs
Tag to be added to the router (repeat option to set multiple tags)
Clear tags associated with the router. Specify both –tag and –no-tag to overwrite current tags
Router to modify (name or ID)
Display router details
openstack router show <router>
Router to display (name or ID)
Unset router properties
openstack router unset
[--extra-property type=<property_type>,name=<property_name>,value=<property_value>]
[--route destination=<subnet>,gateway=<ip-address>]
[--external-gateway]
[--qos-policy]
[--tag <tag> | --all-tag]
<router>
Additional parameters can be passed using this property. Default type of the extra property is string (‘str’), but other types can be used as well. Available types are: ‘dict’, ‘list’, ‘str’, ‘bool’, ‘int’. In case of ‘list’ type, ‘value’ can be semicolon-separated list of values. For ‘dict’ value is semicolon-separated list of the key:value pairs.
Routes to be removed from the router destination: destination subnet (in CIDR notation) gateway: nexthop IP address (repeat option to unset multiple routes)
Remove external gateway information from the router
Remove QoS policy from router gateway IPs
Tag to be removed from the router (repeat option to remove multiple tags)
Clear all tags associated with the router
Router to modify (name or ID)
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.