summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorShinpei Muraoka <shinpei.muraoka@gmail.com>2016-05-10 14:29:44 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-05-13 22:25:43 +0900
commit1452facb25aeb380d0839a0f6f8cd2aee458a699 (patch)
tree5f76426c381d8fa09872501a31426a25febfb00d
parentc9132288eb9bb69ed5de1447b98f7e683d37071a (diff)
ofproto_v1_5_parser: Fix serialized length of OFPActionCopyField
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_5_parser.py8
1 files 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,