summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2014-02-04 13:27:50 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-02-04 18:41:32 +0900
commitc8d6444e0c75cd4c6e8116df684836fcd55321bb (patch)
tree11de9f64abdbc5a50704415c6b80544e4964a695
parent1350b96078b2de6334425ad4ba816114675caf57 (diff)
of14: Fix OFPInstructionWriteMetadata JSON decode
This is in line with 4a394aae2f1a3b82 ("Fix OFPInstructionWriteMetadata JSON decode") which fixes the following for OF1.3: CLS <class 'ryu.ofproto.ofproto_v1_3_parser.OFPInstructionWriteMetadata'> 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 <module> 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 <lambda> _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 <lambda> 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: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_4_parser.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/ryu/ofproto/ofproto_v1_4_parser.py b/ryu/ofproto/ofproto_v1_4_parser.py
index 4fa8e4ee..b53589d5 100644
--- a/ryu/ofproto/ofproto_v1_4_parser.py
+++ b/ryu/ofproto/ofproto_v1_4_parser.py
@@ -3169,7 +3169,7 @@ class OFPInstructionWriteMetadata(OFPInstruction):
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.OFPIT_WRITE_METADATA
self.len = ofproto.OFP_INSTRUCTION_WRITE_METADATA_SIZE