summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/ofproto/ofproto_v1_0.py6
-rw-r--r--ryu/ofproto/ofproto_v1_0_parser.py32
2 files changed, 38 insertions, 0 deletions
diff --git a/ryu/ofproto/ofproto_v1_0.py b/ryu/ofproto/ofproto_v1_0.py
index ce8a09f5..55350ced 100644
--- a/ryu/ofproto/ofproto_v1_0.py
+++ b/ryu/ofproto/ofproto_v1_0.py
@@ -571,6 +571,7 @@ NXT_ROLE_REQUEST = 10
NXT_ROLE_REPLY = 11
NXT_SET_FLOW_FORMAT = 12
NXT_FLOW_MOD = 13
+NXT_FLOW_REMOVED = 14
NXT_FLOW_MOD_TABLE_ID = 15
NXT_SET_CONTROLLER_ID = 20
@@ -603,6 +604,11 @@ NX_SET_FLOW_FORMAT_SIZE = 20
assert (calcsize(NX_SET_FLOW_FORMAT_PACK_STR) +
NICIRA_HEADER_SIZE == NX_SET_FLOW_FORMAT_SIZE)
+NX_FLOW_REMOVED_PACK_STR = '!QHBxIIHHQQ'
+NX_FLOW_REMOVED_SIZE = 56
+assert (calcsize(NX_FLOW_REMOVED_PACK_STR) +
+ NICIRA_HEADER_SIZE == NX_FLOW_REMOVED_SIZE)
+
NX_FLOW_MOD_TABLE_ID_PACK_STR = '!B7x'
NX_FLOW_MOD_TABLE_ID_SIZE = 24
assert (calcsize(NX_FLOW_MOD_TABLE_ID_PACK_STR) +
diff --git a/ryu/ofproto/ofproto_v1_0_parser.py b/ryu/ofproto/ofproto_v1_0_parser.py
index 9cc7eeea..82e17a05 100644
--- a/ryu/ofproto/ofproto_v1_0_parser.py
+++ b/ryu/ofproto/ofproto_v1_0_parser.py
@@ -1323,6 +1323,38 @@ class NXTFlowModTableId(NiciraHeader):
self.set)
+@NiciraHeader.register_nx_subtype(ofproto_v1_0.NXT_FLOW_REMOVED)
+class NXTFlowRemoved(NiciraHeader):
+ def __init__(self, datapath, cookie, priority, reason,
+ duration_sec, duration_nsec, idle_timeout, match_len,
+ packet_count, byte_count, match):
+ super(NXTFlowRemoved, self).__init__(
+ datapath, ofproto_v1_0.NXT_FLOW_REMOVED)
+ self.cookie = cookie
+ self.priority = priority
+ self.reason = reason
+ self.duration_sec = duration_sec
+ self.duration_nsec = duration_nsec
+ self.idle_timeout = idle_timeout
+ self.match_len = match_len
+ self.packet_count = packet_count
+ self.byte_count = byte_count
+ self.match = match
+
+ @classmethod
+ def parser(cls, datapath, buf, offset):
+ (cookie, priority, reason, duration_sec, duration_nsec,
+ idle_timeout, match_len,
+ packet_count, byte_count) = struct.unpack_from(
+ ofproto_v1_0.NX_FLOW_REMOVED_PACK_STR, buf, offset)
+ offset += (ofproto_v1_0.NX_FLOW_REMOVED_SIZE
+ - ofproto_v1_0.NICIRA_HEADER_SIZE)
+ match = nx_match.NXMatch.parser(buf, offset, match_len)
+ return cls(datapath, cookie, priority, reason, duration_sec,
+ duration_nsec, idle_timeout, match_len, packet_count,
+ byte_count, match)
+
+
class NXTSetControllerId(NiciraHeader):
def __init__(self, datapath, controller_id):
super(NXTSetControllerId, self).__init__(