mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-08 13:56:09 +02:00
of13: implement OFPErrorExperimenterMsg
copied from of12 version 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
0efe1a8455
commit
f6a8c36872
@ -198,6 +198,11 @@ class OFPErrorMsg(MsgBase):
|
||||
|
||||
@classmethod
|
||||
def parser(cls, datapath, version, msg_type, msg_len, xid, buf):
|
||||
type_, = struct.unpack_from('!H', buffer(buf),
|
||||
ofproto_v1_3.OFP_HEADER_SIZE)
|
||||
if type_ == ofproto_v1_3.OFPET_EXPERIMENTER:
|
||||
return OFPErrorExperimenterMsg.parser(datapath, version, msg_type,
|
||||
msg_len, xid, buf)
|
||||
msg = super(OFPErrorMsg, cls).parser(datapath, version, msg_type,
|
||||
msg_len, xid, buf)
|
||||
msg.type, msg.code = struct.unpack_from(
|
||||
@ -213,6 +218,27 @@ class OFPErrorMsg(MsgBase):
|
||||
self.buf += self.data
|
||||
|
||||
|
||||
class OFPErrorExperimenterMsg(MsgBase):
|
||||
def __init__(self, datapath, type_=None, exp_type=None, experimenter=None,
|
||||
data=None):
|
||||
super(OFPErrorExperimenterMsg, self).__init__(datapath)
|
||||
self.type = ofproto_v1_3.OFPET_EXPERIMENTER
|
||||
self.exp_type = exp_type
|
||||
self.experimenter = experimenter
|
||||
self.data = data
|
||||
|
||||
@classmethod
|
||||
def parser(cls, datapath, version, msg_type, msg_len, xid, buf):
|
||||
cls.cls_msg_type = msg_type
|
||||
msg = super(OFPErrorExperimenterMsg, cls).parser(
|
||||
datapath, version, msg_type, msg_len, xid, buf)
|
||||
msg.type, msg.exp_type, msg.experimenter = struct.unpack_from(
|
||||
ofproto_v1_3.OFP_ERROR_EXPERIMENTER_MSG_PACK_STR, msg.buf,
|
||||
ofproto_v1_3.OFP_HEADER_SIZE)
|
||||
msg.data = msg.buf[ofproto_v1_3.OFP_ERROR_EXPERIMENTER_MSG_SIZE:]
|
||||
return msg
|
||||
|
||||
|
||||
@_register_parser
|
||||
@_set_msg_type(ofproto_v1_3.OFPT_ECHO_REQUEST)
|
||||
class OFPEchoRequest(MsgBase):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user