summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYAMAMOTO Takashi <yamamoto@valinux.co.jp>2013-08-26 14:34:36 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-08-26 15:04:46 +0900
commit1a3adadca4e4cc379ec76cbdd129329f23d9012d (patch)
tree7b29abbb5754f9d05fdb4d68072e7ca29efcca32
parentec23d737701d270cc1422017fd9638a9ea490b1e (diff)
of13: use text address for OFPPort.hw_addr and OFPPortMod.hw_addr
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_3_parser.py7
1 files changed, 6 insertions, 1 deletions
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)