summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/lib/ofctl_utils.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/ryu/lib/ofctl_utils.py b/ryu/lib/ofctl_utils.py
index b5fbc9b8..832baf0b 100644
--- a/ryu/lib/ofctl_utils.py
+++ b/ryu/lib/ofctl_utils.py
@@ -240,13 +240,18 @@ class OFCtlUtil(object):
'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():