diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2012-10-02 19:35:03 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2012-10-03 05:22:18 +0900 |
commit | 0c3dd305c61e51de6a03084c5eee28397d82772c (patch) | |
tree | da1b3cc4510522b1edb4dd7c469afd351d405c41 | |
parent | 94965a3b5b5e53f6eb818080bad9ffe72ae30574 (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.py | 2 | ||||
-rw-r--r-- | ryu/ofproto/ofproto_v1_0_parser.py | 17 |
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): |