From 4a394aae2f1a3b825a444f1d4c2f5df0016bb3d3 Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Sat, 25 Jan 2014 13:42:04 +0900 Subject: [PATCH] Fix OFPInstructionWriteMetadata JSON decode Fix the following: CLS ARG {u'metadata_mask': 18446744073709551615L, u'type': 2, u'len': 24, u'metadata': 18446744069414584320L} KWARG {u'type_': 2, u'metadata_mask': 18446744073709551615L, u'len_': 24, u'metadata': 18446744069414584320L} Traceback (most recent call last): File "a.py", line 19, in msg = ofproto_parser.ofp_msg_from_jsondict(dp, m) File "/Users/fujita/git/ryu/ryu/ofproto/ofproto_parser.py", line 100, in ofp_msg_from_jsondict return cls.from_jsondict(v, datapath=dp) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 291, in from_jsondict kwargs = cls._restore_args(_mapdict_kv(decode, dict_)) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 46, in _mapdict_kv = lambda f, d: dict([(k, f(k, v)) for k, v in d.items()]) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 290, in decode = lambda k, x: cls._decode_value(k, x, decode_string) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 234, in _decode_value return cls._get_decoder(k, decode_string)(json_value) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 242, in _decode v = map(_decode, json_value) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 245, in _decode v = cls.obj_from_jsondict(json_value) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 223, in obj_from_jsondict return obj_cls.from_jsondict(v) File "/Users/fujita/git/ryu/ryu/lib/stringify.py", line 293, in from_jsondict return cls(**dict(kwargs, **additional_args)) TypeError: __init__() got an unexpected keyword argument 'type_' Signed-off-by: FUJITA Tomonori --- ryu/ofproto/ofproto_v1_3_parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py index 78ad9fc0..8b4a6bc7 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/ryu/ofproto/ofproto_v1_3_parser.py @@ -2464,7 +2464,7 @@ class OFPInstructionWriteMetadata(StringifyMixin): metadata_mask Metadata write bitmask ================ ====================================================== """ - def __init__(self, metadata, metadata_mask, len_=None): + def __init__(self, metadata, metadata_mask, type_=None, len_=None): super(OFPInstructionWriteMetadata, self).__init__() self.type = ofproto_v1_3.OFPIT_WRITE_METADATA self.len = ofproto_v1_3.OFP_INSTRUCTION_WRITE_METADATA_SIZE