mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-01-23 01:21:31 +01:00
stplib: Adopt to Python3
In Python3, cmp() method is no longer supported and numerical operations evaluates value type more strictly. So, stplib get some errors in its calculating process. This patch fixes these problems and enable to use stplib on Python3 interpreter. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
a909fa3044
commit
f52bb7007e
@ -379,7 +379,7 @@ class ConfigurationBPDUs(bpdu):
|
||||
|
||||
@staticmethod
|
||||
def _encode_timer(timer):
|
||||
return timer * 0x100
|
||||
return int(timer) * 0x100
|
||||
|
||||
|
||||
@bpdu.register_bpdu_type
|
||||
|
||||
@ -169,6 +169,13 @@ class EventPacketIn(event.EventBase):
|
||||
self.msg = msg
|
||||
|
||||
|
||||
# For Python3 compatibility
|
||||
# Note: The following is the official workaround for cmp() in Python2.
|
||||
# https://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons
|
||||
def cmp(a, b):
|
||||
return (a > b) - (a < b)
|
||||
|
||||
|
||||
class Stp(app_manager.RyuApp):
|
||||
""" STP(spanning tree) library. """
|
||||
|
||||
@ -351,7 +358,7 @@ class Stp(app_manager.RyuApp):
|
||||
|
||||
@staticmethod
|
||||
def _cmp_value(value1, value2):
|
||||
result = cmp(value1, value2)
|
||||
result = cmp(str(value1), str(value2))
|
||||
if result < 0:
|
||||
return SUPERIOR
|
||||
elif result == 0:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user