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.