mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-17 18:46:44 +02:00
add Nicira Extension NXAST_FIN_TIMEOUT support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
c061b4758d
commit
ffa23780dd
@ -246,6 +246,7 @@ NXAST_BUNDLE_LOAD = 13
|
||||
NXAST_RESUBMIT_TABLE = 14
|
||||
NXAST_OUTPUT_REG = 15
|
||||
NXAST_EXIT = 17
|
||||
NXAST_FIN_TIMEOUT = 19
|
||||
NXAST_CONTROLLER = 20
|
||||
|
||||
NX_ACTION_RESUBMIT_PACK_STR = '!HHIHHB3x'
|
||||
@ -296,6 +297,10 @@ NX_ACTION_CONTROLLER_PACK_STR = '!HHIHHHBB'
|
||||
NX_ACTION_CONTROLLER_SIZE = 16
|
||||
assert calcsize(NX_ACTION_CONTROLLER_PACK_STR) == NX_ACTION_CONTROLLER_SIZE
|
||||
|
||||
NX_ACTION_FIN_TIMEOUT_PACK_STR = '!HHIHHH2x'
|
||||
NX_ACTION_FIN_TIMEOUT_SIZE = 16
|
||||
assert calcsize(NX_ACTION_FIN_TIMEOUT_PACK_STR) == NX_ACTION_FIN_TIMEOUT_SIZE
|
||||
|
||||
NX_ACTION_HEADER_PACK_STR = '!HHIH6x'
|
||||
NX_ACTION_HEADER_SIZE = 16
|
||||
assert calcsize(NX_ACTION_HEADER_PACK_STR) == NX_ACTION_HEADER_SIZE
|
||||
|
||||
@ -787,6 +787,28 @@ class NXActionController(NXActionHeader):
|
||||
return cls(max_len, controller_id, reason)
|
||||
|
||||
|
||||
@NXActionHeader.register_nx_action_subtype(ofproto_v1_0.NXAST_FIN_TIMEOUT)
|
||||
class NXActionFinTimeout(NXActionHeader):
|
||||
def __init__(self, fin_idle_timeout, fin_hard_timeout):
|
||||
super(NXActionFinTimeout, self).__init__(
|
||||
ofproto_v1_0.NXAST_FIN_TIMEOUT,
|
||||
ofproto_v1_0.NX_ACTION_FIN_TIMEOUT_SIZE)
|
||||
self.fin_idle_timeout = fin_idle_timeout
|
||||
self.fin_hard_timeout = fin_hard_timeout
|
||||
|
||||
def serialize(self, buf, offset):
|
||||
msg_pack_into(ofproto_v1_0.NX_ACTION_FIN_TIMEOUT_PACK_STR, buf, offset,
|
||||
self.type, self.len, self.vendor, self.subtype,
|
||||
self.fin_idle_timeout, self.fin_hard_timeout)
|
||||
|
||||
@classmethod
|
||||
def parser(cls, buf, offset):
|
||||
(type_, len_, vendor, subtype, fin_idle_timeout,
|
||||
fin_hard_timeout) = struct.unpack_from(
|
||||
ofproto_v1_0.NX_ACTION_FIN_TIMEOUT_PACK_STR, buf, offset)
|
||||
return cls(fin_idle_timeout, fin_hard_timeout)
|
||||
|
||||
|
||||
class OFPDescStats(collections.namedtuple('OFPDescStats',
|
||||
('mfr_desc', 'hw_desc', 'sw_desc', 'serial_num', 'dp_desc'))):
|
||||
@classmethod
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user