summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYAMAMOTO Takashi <yamamoto@valinux.co.jp>2013-08-26 15:34:36 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-08-26 16:49:07 +0900
commit90581d0ae0204442bc467ca4aca3130698940a2a (patch)
tree2075a74d19fca69ca6a7f8329b6b0108d4a68bb8
parent78147bba1ba93954f20eda8cda8c1e23d91b27d1 (diff)
of13: remove trailing NULs in OFPPort.name
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.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/ryu/ofproto/ofproto_v1_3_parser.py
index 7c73a74e..38862195 100644
--- a/ryu/ofproto/ofproto_v1_3_parser.py
+++ b/ryu/ofproto/ofproto_v1_3_parser.py
@@ -1749,15 +1749,21 @@ class OFPPort(ofproto_parser.namedtuple('OFPPort', (
_TYPE = {
'ascii': [
'hw_addr',
+
+ # XXX OF spec is unclear about the encoding of name.
+ # OVS seems to use UTF-8.
+ # 'name',
]
}
@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)
+ i = cls._fields.index('hw_addr')
port[i] = addrconv.mac.bin_to_text(port[i])
+ i = cls._fields.index('name')
+ port[i] = port[i].rstrip('\0')
ofpport = cls(*port)
ofpport._length = ofproto_v1_3.OFP_PORT_SIZE
return ofpport