mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-01-29 12:31:20 +01:00
add modify role API in ofctl_rest
add description about role API Signed-off-by: tungyueh <tylin.cs03g@nctu.edu.tw> Reviewed-by: Iwase Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
03e8028ce6
commit
1970e70a0d
@ -2512,6 +2512,33 @@ Delete a meter entry
|
||||
"meter_id": 1
|
||||
}' http://localhost:8080/stats/meterentry/delete
|
||||
|
||||
Modify role
|
||||
--------------------
|
||||
|
||||
modify the role of the switch.
|
||||
|
||||
Usage:
|
||||
|
||||
======= =========================
|
||||
Method POST
|
||||
URI /stats/role
|
||||
======= =========================
|
||||
|
||||
Request message body:
|
||||
|
||||
=========== ============================ ========= =================
|
||||
Attribute Description Example Default
|
||||
=========== ============================ ========= =================
|
||||
dpid Datapath ID (int) 1 (Mandatory)
|
||||
role One of OFPCR_ROLE_*(string) "MASTER" OFPCR_ROLE_EQUAL
|
||||
=========== ============================ ========= =================
|
||||
|
||||
Example of use::
|
||||
|
||||
$ curl -X POST -d '{
|
||||
"dpid": 1,
|
||||
"role": "MASTER"
|
||||
}' http://localhost:8080/stats/role
|
||||
|
||||
Support for experimenter multipart
|
||||
==================================
|
||||
|
||||
@ -177,6 +177,9 @@ supported_ofctl = {
|
||||
# modify behavior of the physical port
|
||||
# POST /stats/portdesc/modify
|
||||
#
|
||||
# modify role of controller
|
||||
# POST /stats/role
|
||||
#
|
||||
#
|
||||
# send a experimeter message
|
||||
# POST /stats/experimenter/<dpid>
|
||||
@ -488,6 +491,10 @@ class StatsController(ControllerBase):
|
||||
def send_experimenter(self, req, dp, ofctl, exp, **kwargs):
|
||||
ofctl.send_experimenter(dp, exp)
|
||||
|
||||
@command_method
|
||||
def set_role(self, req, dp, ofctl, role, **kwargs):
|
||||
ofctl.set_role(dp, role)
|
||||
|
||||
|
||||
class RestStatsApi(app_manager.RyuApp):
|
||||
OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION,
|
||||
@ -698,6 +705,11 @@ class RestStatsApi(app_manager.RyuApp):
|
||||
controller=StatsController, action='send_experimenter',
|
||||
conditions=dict(method=['POST']))
|
||||
|
||||
uri = path + '/role'
|
||||
mapper.connect('stats', uri,
|
||||
controller=StatsController, action='set_role',
|
||||
conditions=dict(method=['POST']))
|
||||
|
||||
@set_ev_cls([ofp_event.EventOFPStatsReply,
|
||||
ofp_event.EventOFPDescStatsReply,
|
||||
ofp_event.EventOFPFlowStatsReply,
|
||||
|
||||
@ -424,3 +424,6 @@ class OFCtlUtil(object):
|
||||
|
||||
def ofp_queue_to_user(self, queue):
|
||||
return self._reserved_num_to_user(queue, 'OFPQ_')
|
||||
|
||||
def ofp_role_from_user(self, role):
|
||||
return self._reserved_num_from_user(role, 'OFPCR_ROLE_')
|
||||
|
||||
@ -926,5 +926,11 @@ def mod_port_behavior(dp, port_config):
|
||||
ofctl_utils.send_msg(dp, port_mod, LOG)
|
||||
|
||||
|
||||
def set_role(dp, role):
|
||||
r = UTIL.ofp_role_from_user(role.get('role', dp.ofproto.OFPCR_ROLE_EQUAL))
|
||||
role_request = dp.ofproto_parser.OFPRoleRequest(dp, r, 0)
|
||||
ofctl_utils.send_msg(dp, role_request, LOG)
|
||||
|
||||
|
||||
# NOTE(jkoelker) Alias common funcitons
|
||||
send_experimenter = ofctl_utils.send_experimenter
|
||||
|
||||
@ -1152,5 +1152,11 @@ def mod_port_behavior(dp, port_config):
|
||||
ofctl_utils.send_msg(dp, port_mod, LOG)
|
||||
|
||||
|
||||
def set_role(dp, role):
|
||||
r = UTIL.ofp_role_from_user(role.get('role', dp.ofproto.OFPCR_ROLE_EQUAL))
|
||||
role_request = dp.ofproto_parser.OFPRoleRequest(dp, r, 0)
|
||||
ofctl_utils.send_msg(dp, role_request, LOG)
|
||||
|
||||
|
||||
# NOTE(jkoelker) Alias common funcitons
|
||||
send_experimenter = ofctl_utils.send_experimenter
|
||||
|
||||
@ -939,5 +939,11 @@ def mod_port_behavior(dp, port_config):
|
||||
ofctl_utils.send_msg(dp, port_mod, LOG)
|
||||
|
||||
|
||||
def set_role(dp, role):
|
||||
r = UTIL.ofp_role_from_user(role.get('role', dp.ofproto.OFPCR_ROLE_EQUAL))
|
||||
role_request = dp.ofproto_parser.OFPRoleRequest(dp, r, 0)
|
||||
ofctl_utils.send_msg(dp, role_request, LOG)
|
||||
|
||||
|
||||
# NOTE(jkoelker) Alias common funcitons
|
||||
send_experimenter = ofctl_utils.send_experimenter
|
||||
|
||||
@ -1084,5 +1084,10 @@ def mod_port_behavior(dp, port_config):
|
||||
ofctl_utils.send_msg(dp, port_mod, LOG)
|
||||
|
||||
|
||||
def set_role(dp, role):
|
||||
r = UTIL.ofp_role_from_user(role.get('role', dp.ofproto.OFPCR_ROLE_EQUAL))
|
||||
role_request = dp.ofproto_parser.OFPRoleRequest(dp, r, 0)
|
||||
ofctl_utils.send_msg(dp, role_request, LOG)
|
||||
|
||||
# NOTE(jkoelker) Alias common funcitons
|
||||
send_experimenter = ofctl_utils.send_experimenter
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user