summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYAMAMOTO Takashi <yamamoto@valinux.co.jp>2013-08-26 15:34:28 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-08-26 16:49:06 +0900
commit30a1a415ab004d8065bb2407a779658ce5f18ea4 (patch)
tree65ac0a8a32c102b019254f6141fd9a02e6c6e3c5
parent49ad016184ba0b023dba4c2ac27850bd382b4194 (diff)
of13: make OFPDescStats more human readable
- when parsing, remove zero padding. - stop base64 encoding for json representation because these fields are ASCII strings per OF spec. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_3_parser.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py
index b3792add..7c73a74e 100644
--- a/ryu/ofproto/ofproto_v1_3_parser.py
+++ b/ryu/ofproto/ofproto_v1_3_parser.py
@@ -2567,10 +2567,23 @@ class OFPMultipartReply(MsgBase):
class OFPDescStats(ofproto_parser.namedtuple('OFPDescStats', (
'mfr_desc', 'hw_desc', 'sw_desc', 'serial_num', 'dp_desc'))):
+
+ _TYPE = {
+ 'ascii': [
+ 'mfr_desc',
+ 'hw_desc',
+ 'sw_desc',
+ 'serial_num',
+ 'dp_desc',
+ ]
+ }
+
@classmethod
def parser(cls, buf, offset):
desc = struct.unpack_from(ofproto_v1_3.OFP_DESC_PACK_STR,
buf, offset)
+ desc = list(desc)
+ desc = map(lambda x: x.rstrip('\0'), desc)
stats = cls(*desc)
stats._length = ofproto_v1_3.OFP_DESC_SIZE
return stats