summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2012-02-03 12:43:40 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2012-02-03 12:41:10 +0900
commit9f022847cd8e747ba08b0949f1b89c04d48632b0 (patch)
treec75401cb00333f7d35d4653c43e86cd3d19ea15e
parent78e3eba75d3f4c6c0f540d56360a9243df7f5efa (diff)
rest: add '/network' prefix to its path
Otherwise, no other REST PATH can't be used because any string is interpreted as network id. Later /switches PATH will be used. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/app/client.py8
-rw-r--r--ryu/app/rest.py36
2 files changed, 24 insertions, 20 deletions
diff --git a/ryu/app/client.py b/ryu/app/client.py
index bc1640f4..c2c02a4a 100644
--- a/ryu/app/client.py
+++ b/ryu/app/client.py
@@ -1,5 +1,5 @@
# Copyright (C) 2011 Nippon Telegraph and Telephone Corporation.
-# Copyright (C) 2011 Isaku Yamahata <yamahata at valinux co jp>
+# Copyright (C) 2011,2012 Isaku Yamahata <yamahata at valinux co jp>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -20,9 +20,9 @@ import urlparse
class OFPClientV1_0(object):
version = 'v1.0'
- # /{network_id}/{dpid}_{port}
- network_path = '%s'
- port_path = '%s/%s_%s'
+ # /networks/{network_id}/{dpid}_{port}
+ network_path = 'networks/%s'
+ port_path = 'networks/%s/%s_%s'
def __init__(self, address):
r = urlparse.SplitResult('', address, '', '', '')
diff --git a/ryu/app/rest.py b/ryu/app/rest.py
index 61f255fd..31164242 100644
--- a/ryu/app/rest.py
+++ b/ryu/app/rest.py
@@ -18,38 +18,39 @@ from ryu.exception import NetworkNotFound, NetworkAlreadyExist
from ryu.exception import PortNotFound, PortAlreadyExist
from ryu.app.wsapi import WSPathComponent
from ryu.app.wsapi import WSPathExtractResult
+from ryu.app.wsapi import WSPathStaticString
from ryu.app.wsapi import wsapi
# REST API
# get the list of networks
-# GET /v1.0/
+# GET /v1.0/networks/
#
# register a new network.
# Fail if the network is already registered.
-# POST /v1.0/{network-id}
+# POST /v1.0/networks/{network-id}
#
# update a new network.
# Success as nop even if the network is already registered.
#
-# PUT /v1.0/{network-id}
+# PUT /v1.0/networks/{network-id}
#
# remove a network
-# DELETE /v1.0/{network-id}
+# DELETE /v1.0/networks/{network-id}
#
# get the list of sets of dpid and port
-# GET /v1.0/{network-id}/
+# GET /v1.0/networks/{network-id}/
#
# register a new set of dpid and port
# Fail if the port is already registered.
-# POST /v1.0/{network-id}/{dpid}_{port-id}
+# POST /v1.0/networks/{network-id}/{dpid}_{port-id}
#
# update a new set of dpid and port
# Success as nop even if same port already registered
-# PUT /v1.0/{network-id}/{dpid}_{port-id}
+# PUT /v1.0/networks/{network-id}/{dpid}_{port-id}
#
# remove a set of dpid and port
-# DELETE /v1.0/{network-id}/{dpid}_{port-id}
+# DELETE /v1.0/networks/{network-id}/{dpid}_{port-id}
# We store networks and ports like the following:
#
@@ -179,34 +180,37 @@ class restapi:
return ""
def register(self):
+ path_networks = (WSPathStaticString('networks'), )
self.api.register_request(self.list_networks_handler, "GET",
- [],
+ path_networks,
"get the list of networks")
+ path_network = path_networks + (WSPathNetwork(), )
self.api.register_request(self.create_network_handler, "POST",
- [WSPathNetwork()],
+ path_network,
"register a new network")
self.api.register_request(self.update_network_handler, "PUT",
- [WSPathNetwork()],
+ path_network,
"update a network")
self.api.register_request(self.remove_network_handler, "DELETE",
- [WSPathNetwork()],
+ path_network,
"remove a network")
self.api.register_request(self.list_ports_handler, "GET",
- [WSPathNetwork()],
+ path_network,
"get the list of sets of dpid and port")
+ path_port = path_network + (WSPathPort(), )
self.api.register_request(self.create_port_handler, "POST",
- [WSPathNetwork(), WSPathPort()],
+ path_port,
"register a new set of dpid and port")
self.api.register_request(self.update_port_handler, "PUT",
- [WSPathNetwork(), WSPathPort()],
+ path_port,
"update a set of dpid and port")
self.api.register_request(self.remove_port_handler, "DELETE",
- (WSPathNetwork(), WSPathPort()),
+ path_port,
"remove a set of dpid and port")