mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-08 13:56:09 +02:00
of14: Implement OFPBundleCtrlMsg parser
Copied from of15 implementation. Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
98d97b992e
commit
6e51b2a41d
@ -5598,6 +5598,7 @@ class OFPSetAsync(MsgBase):
|
||||
self.buf += bin_props
|
||||
|
||||
|
||||
@_register_parser
|
||||
@_set_msg_type(ofproto.OFPT_BUNDLE_CONTROL)
|
||||
class OFPBundleCtrlMsg(MsgBase):
|
||||
"""
|
||||
@ -5637,7 +5638,8 @@ class OFPBundleCtrlMsg(MsgBase):
|
||||
[ofp.OFPBF_ATOMIC], [])
|
||||
datapath.send_msg(req)
|
||||
"""
|
||||
def __init__(self, datapath, bundle_id, type_, flags, properties):
|
||||
def __init__(self, datapath, bundle_id=None, type_=None, flags=None,
|
||||
properties=None):
|
||||
super(OFPBundleCtrlMsg, self).__init__(datapath)
|
||||
self.bundle_id = bundle_id
|
||||
self.type = type_
|
||||
@ -5654,6 +5656,25 @@ class OFPBundleCtrlMsg(MsgBase):
|
||||
self.type, self.flags)
|
||||
self.buf += bin_props
|
||||
|
||||
@classmethod
|
||||
def parser(cls, datapath, version, msg_type, msg_len, xid, buf):
|
||||
msg = super(OFPBundleCtrlMsg, cls).parser(datapath, version,
|
||||
msg_type, msg_len,
|
||||
xid, buf)
|
||||
(bundle_id, type_, flags) = struct.unpack_from(
|
||||
ofproto.OFP_BUNDLE_CTRL_MSG_PACK_STR, buf,
|
||||
ofproto.OFP_HEADER_SIZE)
|
||||
msg.bundle_id = bundle_id
|
||||
msg.type = type_
|
||||
msg.flags = flags
|
||||
msg.properties = []
|
||||
rest = msg.buf[ofproto.OFP_BUNDLE_CTRL_MSG_SIZE:]
|
||||
while rest:
|
||||
p, rest = OFPBundleProp.parse(rest)
|
||||
msg.properties.append(p)
|
||||
|
||||
return msg
|
||||
|
||||
|
||||
@_set_msg_type(ofproto.OFPT_BUNDLE_ADD_MESSAGE)
|
||||
class OFPBundleAddMsg(MsgInMsgBase):
|
||||
|
||||
@ -118,7 +118,7 @@ implemented = {
|
||||
ofproto_v1_4.OFPT_ROLE_STATUS: (True, False),
|
||||
ofproto_v1_4.OFPT_TABLE_STATUS: (True, False),
|
||||
ofproto_v1_4.OFPT_REQUESTFORWARD: (True, True),
|
||||
ofproto_v1_4.OFPT_BUNDLE_CONTROL: (False, True),
|
||||
ofproto_v1_4.OFPT_BUNDLE_CONTROL: (True, True),
|
||||
ofproto_v1_4.OFPT_BUNDLE_ADD_MESSAGE: (False, True),
|
||||
},
|
||||
6: {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user