From aa6c1e8b8adb2797b25b30d39ad3b84b77ed7495 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Mon, 26 Aug 2013 15:34:25 +0900 Subject: of10: 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 Signed-off-by: FUJITA Tomonori --- ryu/ofproto/ofproto_v1_0_parser.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ryu/ofproto/ofproto_v1_0_parser.py b/ryu/ofproto/ofproto_v1_0_parser.py index 9b7d6640..eecdd133 100644 --- a/ryu/ofproto/ofproto_v1_0_parser.py +++ b/ryu/ofproto/ofproto_v1_0_parser.py @@ -983,10 +983,23 @@ class NXActionFinTimeout(NXActionHeader): 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_0.OFP_DESC_STATS_PACK_STR, buf, offset) + desc = list(desc) + desc = map(lambda x: x.rstrip('\0'), desc) stats = cls(*desc) stats.length = ofproto_v1_0.OFP_DESC_STATS_SIZE return stats -- cgit v1.2.3