summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2012-10-02 19:35:03 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2012-10-03 05:22:18 +0900
commit0c3dd305c61e51de6a03084c5eee28397d82772c (patch)
treeda1b3cc4510522b1edb4dd7c469afd351d405c41
parent94965a3b5b5e53f6eb818080bad9ffe72ae30574 (diff)
of1.0: fix/add PortMod message
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_0.py2
-rw-r--r--ryu/ofproto/ofproto_v1_0_parser.py17
2 files changed, 18 insertions, 1 deletions
diff --git a/ryu/ofproto/ofproto_v1_0.py b/ryu/ofproto/ofproto_v1_0.py
index d1bdceef..685cc71a 100644
--- a/ryu/ofproto/ofproto_v1_0.py
+++ b/ryu/ofproto/ofproto_v1_0.py
@@ -154,7 +154,7 @@ OFP_PORT_STATUS_SIZE = 64
assert (calcsize(OFP_PORT_STATUS_PACK_STR) + OFP_HEADER_SIZE ==
OFP_PORT_STATUS_SIZE)
-OFP_PORT_MOD_PACK_STR = '!H' + OFP_ETH_ALEN_STR + 'BIII4x'
+OFP_PORT_MOD_PACK_STR = '!H' + OFP_ETH_ALEN_STR + 'sIII4x'
OFP_PORT_MOD_SIZE = 32
assert calcsize(OFP_PORT_MOD_PACK_STR) + OFP_HEADER_SIZE == OFP_PORT_MOD_SIZE
diff --git a/ryu/ofproto/ofproto_v1_0_parser.py b/ryu/ofproto/ofproto_v1_0_parser.py
index 1af2bb6c..8a141bde 100644
--- a/ryu/ofproto/ofproto_v1_0_parser.py
+++ b/ryu/ofproto/ofproto_v1_0_parser.py
@@ -1879,6 +1879,23 @@ class OFPFlowMod(MsgBase):
offset += a.len
+@_set_msg_type(ofproto_v1_0.OFPT_PORT_MOD)
+class OFPPortMod(MsgBase):
+ def __init__(self, datapath, port_no, hw_addr, config, mask, advertise):
+ super(OFPPortMod, self).__init__(datapath)
+ self.port_no = port_no
+ self.hw_addr = hw_addr
+ self.config = config
+ self.mask = mask
+ self.advertise = advertise
+
+ def _serialize_body(self):
+ msg_pack_into(ofproto_v1_0.OFP_PORT_MOD_PACK_STR,
+ self.buf, ofproto_v1_0.OFP_HEADER_SIZE,
+ self.port_no, self.hw_addr,
+ self.config, self.mask, self.advertise)
+
+
@_set_msg_reply(OFPBarrierReply)
@_set_msg_type(ofproto_v1_0.OFPT_BARRIER_REQUEST)
class OFPBarrierRequest(MsgBase):