From 1452facb25aeb380d0839a0f6f8cd2aee458a699 Mon Sep 17 00:00:00 2001 From: Shinpei Muraoka Date: Tue, 10 May 2016 14:29:44 +0900 Subject: [PATCH] ofproto_v1_5_parser: Fix serialized length of OFPActionCopyField Signed-off-by: Shinpei Muraoka Signed-off-by: IWASE Yusuke Signed-off-by: FUJITA Tomonori --- ryu/ofproto/ofproto_v1_5_parser.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ryu/ofproto/ofproto_v1_5_parser.py b/ryu/ofproto/ofproto_v1_5_parser.py index f7ca3be1..23a8e4e9 100644 --- a/ryu/ofproto/ofproto_v1_5_parser.py +++ b/ryu/ofproto/ofproto_v1_5_parser.py @@ -5888,12 +5888,14 @@ class OFPActionCopyField(OFPAction): return cls(n_bits, src_offset, dst_offset, oxm_ids, type_, len_) def serialize(self, buf, offset): + oxm_ids_buf = bytearray() + for i in self.oxm_ids: + oxm_ids_buf += i.serialize() + self.len += len(oxm_ids_buf) msg_pack_into(ofproto.OFP_ACTION_COPY_FIELD_PACK_STR, buf, offset, self.type, self.len, self.n_bits, self.src_offset, self.dst_offset) - - for i in self.oxm_ids: - buf += i.serialize() + buf += oxm_ids_buf @OFPAction.register_action_type(ofproto.OFPAT_METER,