From 1a3adadca4e4cc379ec76cbdd129329f23d9012d Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Mon, 26 Aug 2013 14:34:36 +0900 Subject: [PATCH] of13: use text address for OFPPort.hw_addr and OFPPortMod.hw_addr Signed-off-by: YAMAMOTO Takashi Signed-off-by: FUJITA Tomonori --- ryu/ofproto/ofproto_v1_3_parser.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py index 13efe272..c7bfa868 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/ryu/ofproto/ofproto_v1_3_parser.py @@ -17,6 +17,7 @@ import struct import itertools +from ryu.lib import addrconv from ryu.lib import mac from ryu import utils from ofproto_parser import StringifyMixin, MsgBase, msg_pack_into, msg_str_attr @@ -1748,6 +1749,9 @@ class OFPPort(ofproto_parser.namedtuple('OFPPort', ( @classmethod def parser(cls, buf, offset): port = struct.unpack_from(ofproto_v1_3.OFP_PORT_PACK_STR, buf, offset) + i = cls._fields.index('hw_addr') + port = list(port) + port[i] = addrconv.mac.bin_to_text(port[i]) ofpport = cls(*port) ofpport._length = ofproto_v1_3.OFP_PORT_SIZE return ofpport @@ -2416,7 +2420,8 @@ class OFPPortMod(MsgBase): def _serialize_body(self): msg_pack_into(ofproto_v1_3.OFP_PORT_MOD_PACK_STR, self.buf, ofproto_v1_3.OFP_HEADER_SIZE, - self.port_no, self.hw_addr, self.config, + self.port_no, addrconv.mac.text_to_bin(self.hw_addr), + self.config, self.mask, self.advertise)