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,
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.
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
<[email protected]<mailto:[email protected]>> wrote:
Hi,
On 2016年04月23日 06:53, Isaku Yamahata wrote:
----- Forwarded message from "Malekloo, Ashkan"
<[email protected]<mailto:[email protected]>> -----
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 <[email protected]<mailto:[email protected]>>
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
<[email protected]<mailto:[email protected]>>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel