neutron-specs/misc/api/extra_routes.rst

113 lines
2.3 KiB
ReStructuredText
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

============
Extra routes
============
This extension adds extra routes to the ``router`` resource.
You can specify a set of nexthop IPs and destination CIDRs.
Note
~~~~
The nexthop IP must be a part of one of the subnets to which the router
interfaces are connected. You can configure the ``routes`` attribute on
only update operations.
**Table Router attributes**
Attribute
Type
Required
CRUD\ `:sup:`[a]` <#ftn.crud_extraroute>`__
Default Value
Validation Constraints
Notes
routes
list of dict
No
U
None
List should be in this form. [{'nexthop':IPAddress, 'destination':CIDR}]
Extra route configuration
- **`:sup:`[a]` <#crud_extraroute>`__\ C**. Use the attribute in create
operations.
- **R**. This attribute is returned in response to show and list
operations.
- **U**. You can update the value of this attribute.
- **D**. You can delete the value of this attribute.
Update extra route
~~~~~~~~~~~~~~~~~~
**PUT**
/routers/*``router_id``*
Updates logical router with ``routes`` attribute.
Normal Response Code: 200
Error Response Codes: Unauthorized (401), Bad Request (400), Not Found
(404), Conflict (409)
This operation configures extra routes on the router. The nexthop IP
must be a part of one of the subnets to which the router interfaces are
connected. Otherwise, the server responds with ``400 Bad Request`` error
code. When a validation error is detected, such as a format error of IP
address or CIDR, the server responds with ``400 Bad Request``. When
Networking receives a request to delete the router interface for subnets
that are used by one or more routes, it responds with ``409 Conflict``.
**Example Update routes: JSON request**
.. code::
{
"router":{
"routes":[
{
"nexthop":"10.1.0.10",
"destination":"40.0.1.0/24"
}
]
}
}
**Example Update routes: JSON response**
.. code::
{"router":
{"status": "ACTIVE",
"external_gateway_info": {"network_id": "5c26e0bb-a9a9-429c-9703-5c417a221096"},
"name": "router1",
"admin_state_up": true,
"tenant_id": "936fa220b2c24a87af51026439af7a3e",
"routes": [{"nexthop": "10.1.0.10", "destination": "40.0.1.0/24"}],
"id": "babc8173-46f6-4b6f-8b95-38c1683a4e22"}
}