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
¶Router to which port will be added (name or ID)
port
¶Port to be added (name or ID)
This command is provided by the python-openstackclient plugin.
Add extra static routes to a router’s routing table.
openstack router add route
[--route destination=<subnet>,gateway=<ip-address>]
<router>
--route
destination=<subnet>,gateway=<ip-address>
¶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
¶Router to which extra static routes will be added (name or ID).
This command is provided by the python-openstackclient plugin.
Add a subnet to a router
openstack router add subnet <router> <subnet>
router
¶Router to which subnet will be added (name or ID)
subnet
¶Subnet to be added (name or ID)
This command is provided by the python-openstackclient plugin.
Create a new router
openstack router create
[--enable | --disable]
[--distributed | --centralized]
[--ha | --no-ha]
[--description <description>]
[--project <project>]
[--project-domain <project-domain>]
[--availability-zone-hint <availability-zone>]
[--tag <tag> | --no-tag]
<name>
--enable
¶Enable router (default)
--disable
¶Disable router
--distributed
¶Create a distributed router
--centralized
¶Create a centralized router
--ha
¶Create a highly available router
--no-ha
¶Create a legacy router
--description
<description>
¶Set router description
--project
<project>
¶Owner’s project (name or ID)
--project-domain
<project-domain>
¶Domain the project belongs to (name or ID). This can be used in case collisions between project names exist.
--availability-zone-hint
<availability-zone>
¶Availability Zone in which to create this router (Router Availability Zone extension required, repeat option to set multiple availability zones)
--tag
<tag>
¶Tag to be added to the router (repeat option to set multiple tags)
--no-tag
¶No tags associated with the router
name
¶New router name
This command is provided by the python-openstackclient plugin.
Delete router(s)
openstack router delete <router> [<router> ...]
router
¶Router(s) to delete (name or ID)
This command is provided by the python-openstackclient plugin.
List routers
openstack router list
[--format-config-file FORMAT_CONFIG]
[--sort-column SORT_COLUMN]
[--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>,...]]
--format-config-file
<FORMAT_CONFIG>
¶Config file for the dict-to-csv formatter
--sort-column
SORT_COLUMN
¶specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), can be repeated
--name
<name>
¶List routers according to their name
--enable
¶List enabled routers
--disable
¶List disabled routers
--long
¶List additional fields in output
--project
<project>
¶List routers according to their project (name or ID)
--project-domain
<project-domain>
¶Domain the project belongs to (name or ID). This can be used in case collisions between project names exist.
--agent
<agent-id>
¶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)
This command is provided by the python-openstackclient plugin.
Remove a port from a router
openstack router remove port <router> <port>
router
¶Router from which port will be removed (name or ID)
port
¶Port to be removed and deleted (name or ID)
This command is provided by the python-openstackclient plugin.
Remove extra static routes from a router’s routing table.
openstack router remove route
[--route destination=<subnet>,gateway=<ip-address>]
<router>
--route
destination=<subnet>,gateway=<ip-address>
¶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
¶Router from which extra static routes will be removed (name or ID).
This command is provided by the python-openstackclient plugin.
Remove a subnet from a router
openstack router remove subnet <router> <subnet>
router
¶Router from which the subnet will be removed (name or ID)
subnet
¶Subnet to be removed (name or ID)
This command is provided by the python-openstackclient plugin.
Set router properties
openstack router set
[--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>
--name
<name>
¶Set router name
--description
<description>
¶Set router description
--enable
¶Enable router
--disable
¶Disable router
--distributed
¶Set router to distributed mode (disabled router only)
--centralized
¶Set router to centralized mode (disabled router only)
--route
destination=<subnet>,gateway=<ip-address>
¶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’.
--no-route
¶Clear routes associated with the router. Specify both –route and –no-route to overwrite current value of routes.
--ha
¶Set the router as highly available (disabled router only)
--no-ha
¶Clear high availability attribute of the router (disabled router only)
--external-gateway
<network>
¶External Network used as router’s gateway (name or ID)
--fixed-ip
subnet=<subnet>,ip-address=<ip-address>
¶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-snat
¶Enable Source NAT on external gateway
--disable-snat
¶Disable Source NAT on external gateway
--qos-policy
<qos-policy>
¶Attach QoS policy to router gateway IPs
--no-qos-policy
¶Remove QoS policy from router gateway IPs
--tag
<tag>
¶Tag to be added to the router (repeat option to set multiple tags)
--no-tag
¶Clear tags associated with the router. Specify both –tag and –no-tag to overwrite current tags
router
¶Router to modify (name or ID)
This command is provided by the python-openstackclient plugin.
Display router details
openstack router show <router>
router
¶Router to display (name or ID)
This command is provided by the python-openstackclient plugin.
Unset router properties
openstack router unset
[--route destination=<subnet>,gateway=<ip-address>]
[--external-gateway]
[--qos-policy]
[--tag <tag> | --all-tag]
<router>
--route
destination=<subnet>,gateway=<ip-address>
¶Routes to be removed from the router destination: destination subnet (in CIDR notation) gateway: nexthop IP address (repeat option to unset multiple routes)
--external-gateway
¶Remove external gateway information from the router
--qos-policy
¶Remove QoS policy from router gateway IPs
--tag
<tag>
¶Tag to be removed from the router (repeat option to remove multiple tags)
--all-tag
¶Clear all tags associated with the router
router
¶Router to modify (name or ID)
This command is provided by the python-openstackclient plugin.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.