of15: Implement OFPBundleCtrlMsg parser
TODO: backport to of14 Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
87015d1a2d
commit
49ef3cd658
@ -5957,6 +5957,7 @@ class OFPSetAsync(MsgBase):
|
||||
self.buf += bin_props
|
||||
|
||||
|
||||
@_register_parser
|
||||
@_set_msg_type(ofproto.OFPT_BUNDLE_CONTROL)
|
||||
class OFPBundleCtrlMsg(MsgBase):
|
||||
"""
|
||||
@ -5996,7 +5997,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_
|
||||
@ -6013,6 +6015,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):
|
||||
|
@ -145,7 +145,7 @@ implemented = {
|
||||
ofproto_v1_5.OFPT_ROLE_STATUS: (True, False),
|
||||
ofproto_v1_5.OFPT_TABLE_STATUS: (True, False),
|
||||
ofproto_v1_5.OFPT_REQUESTFORWARD: (False, True),
|
||||
ofproto_v1_5.OFPT_BUNDLE_CONTROL: (False, True),
|
||||
ofproto_v1_5.OFPT_BUNDLE_CONTROL: (True, True),
|
||||
ofproto_v1_5.OFPT_BUNDLE_ADD_MESSAGE: (False, True),
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user