Files
neutron-specs/misc/api/extra_routes.rst
armando-migliaccio 415f1eaf5b Revisit the structure of the specs repo
Instead of having a per-release backlog directory, create
a top level one that holds the last release backlog. In
a healthy project this directory is really meant to be
empty or only temporary filled.

For specs that are two releases older, the content will
be moved to an 'archive' directory, purely for the record.
Hopefully this one too will be empty.

API and Juno incubator were moved to a miscellanea
directory to finish off the cleanup.

Finally, some blueprints completed and therefore were
moved to the Liberty directory.

Change-Id: I972a9a56c038864d9c91ead6944c6b9355916668
2015-10-28 21:55:08 +00:00

2.3 KiB

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

{
   "router":{
      "routes":[
         {
            "nexthop":"10.1.0.10",
            "destination":"40.0.1.0/24"
         }
      ]
   }
}

Example Update routes: JSON response

{"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"}
}