Re: [Ryu-devel] FWD:[Adding queue to a switch using RYU QoS]
Brought to you by:
nz_gizmoguy
From: Iwase Y. <iwa...@gm...> - 2016-04-25 07:55:33
|
Hi, On 2016年04月25日 15:08, Malekloo, Ashkan wrote: > Hi, > > Thanks for your response. > > I would appreciate if could help me on something else. I have a scenario in which I want to change the third scenario of RYU SDN Framework book QoS chapter that described the Meter based QoS. In my scenario I have two queues, EF and AF, on my switches. On the starting node of my flows I want to check these queues and see whether the delay (or rate) of my EF queue degraded or not. If it is the case I want to remark the flows that relates to EF to AF until the EF queue delay gets back to its normal condition. > > Considering the aforementioned scenario, If you could configure queues for AF and EF, I think you should map DSCP value to these queues first, then, install QoS rules. e.g.) ========== ==== ======== ======== (Priority) DSCP Queue ID (QoS ID) ========== ==== ======== ======== 1 BE 1 1 1 EF 2 2 ========== ==== ======== ======== In "Example of the operation of QoS by using Meter Table", the bandwidth of the traffic s1->h1 is separated by the queues of s1. So, I think whether the delay (or rate) of EF queue degraded or not are depending on the s1 queues setting. > > 1) Can I implement this scenario using just the rules of meter? If so please kindly help me find the right rules to help me achieve this. I think you can. Please refer to the following API reference. http://osrg.github.io/ryu-book/en/html/rest_qos.html#set-a-qos-rule Thanks, Iwase > 2) otherwise, if you think I need to change the source code, what is the appropriate source code module that I need to manipulate. > > Thanking you in advance, > Ashkan > > >> On Ordibehesht 6, 1395 AP, at 5:25 AM, Iwase Yusuke <iwa...@gm... <mailto:iwa...@gm...>> wrote: >> >> Hi, >> >> On 2016年04月23日 06:53, Isaku Yamahata wrote: >>> ----- Forwarded message from "Malekloo, Ashkan" <ASH...@UC... <mailto:ASH...@uc...>> ----- >>> >>> Date: Fri, 22 Apr 2016 20:27:53 +0000 >>> Subject: Adding queue to a switch using RYU QoS >>> x-mailer: Apple Mail (2.3124) >>> >>> Hello, >>> Hope you are doing well. >>> >>> I am using Ryu QoS on ubuntu 14.04 and mininet 2.2.1 >>> >>> All I've done is use the exact commands as said in the RYU SDN Framework book. and after this command: >>> curl -X POST -d '{"match": {"ip_dscp": "26"}, "actions":{"queue": "1"}}' http://localhost:8080/qos/rules/0000000000000001 >>> >>> I gtt this error: >>> Invalid rule parameter >>> >>> So, I've restarted everything then I tried Qos per-flow. like before I used ecaxt command as RYU SDN Framework book. After this command: >>> curl -X POST -d '{"match": {"nw_dst": "10.0.0.1", "nw_proto": "UDP", "tp_dst": "5002"}, "actions":{"queue": "1"}}' http://localhost:8080/qos/rules/0000000000000001 >>> >>> I’ve got the exact same error as before: >>> Invalid rule parameter >> >> A "numeric string" like {"queue": "1"} causes this problem. >> First, please try with non-string number like {"queue": 1}. >> >> To fix this problem, I wrote the following patch, >> but please note this patch is under reviewing in our team. >> >> >> From 5bb93cca1dd5747be854737c6b78f8c2bb4f7532 Mon Sep 17 00:00:00 2001 >> From: IWASE Yusuke <iwa...@gm... <mailto:iwa...@gm...>> >> Date: Thu, 7 Apr 2016 11:46:00 +0900 >> Subject: [PATCH] ofctl_utils: Enhance user value conversion >> >> Currently, OFCtlUtil._reserved_num_from_user() fails to convert >> an user specified value when it is a numeric string. >> This patch enhances this conversion to enable to convert an user >> value as follows. >> >> e.g.) >> - Integer: 1 -> 1 >> - Numeric string: "1" -> 1 >> - Reserved number: "OFPP_ANY" -> 0xffffffff >> - Invalid value: "foobar" -> "foobar" (do not conversion) >> >> Signed-off-by: IWASE Yusuke <iwa...@gm... <mailto:iwa...@gm...>> >> --- >> ryu/lib/ofctl_utils.py | 19 ++++++++++++------- >> 1 file changed, 12 insertions(+), 7 deletions(-) >> >> diff --git a/ryu/lib/ofctl_utils.py b/ryu/lib/ofctl_utils.py >> index b5fbc9b..832baf0 100644 >> --- a/ryu/lib/ofctl_utils.py >> +++ b/ryu/lib/ofctl_utils.py >> @@ -240,13 +240,18 @@ def __init__(self, ofproto): >> 'OFPQCFC_EPERM'] >> >> def _reserved_num_from_user(self, num, prefix): >> - if isinstance(num, int): >> - return num >> - else: >> - if num.startswith(prefix): >> - return getattr(self.ofproto, num) >> - else: >> - return getattr(self.ofproto, prefix + num.upper()) >> + try: >> + return str_to_int(num) >> + except ValueError: >> + try: >> + if num.startswith(prefix): >> + return getattr(self.ofproto, num.upper()) >> + else: >> + return getattr(self.ofproto, prefix + num.upper()) >> + except AttributeError: >> + LOG.warning( >> + "Cannot convert argument to reserved number: %s", num) >> + return num >> >> def _reserved_num_to_user(self, num, prefix): >> for k, v in self.ofproto.__dict__.items(): >> >> >> >> Thanks, >> Iwase >> >> >>> >>> on the other hand, when I use "mark" in my actions command it easily adds the rule and I can confirm it using get. >>> >>> can you help me please solve this? >>> Thank you in advance! >>> >>> ----- End forwarded message ----- > > > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications Manager > Applications Manager provides deep performance insights into multiple tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > > > > _______________________________________________ > Ryu-devel mailing list > Ryu...@li... > https://lists.sourceforge.net/lists/listinfo/ryu-devel > |