summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2012-05-21 21:20:52 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2012-05-22 08:50:20 +0900
commit79189bd1f8ae488515f19727b0ded9f481cd3371 (patch)
treef515138abcb8152255fa139c60ee598835a5cf04
parent4d93ca62cfe6bad7c39612af9fa0c0e1af51dc6d (diff)
add Nicira Extension NXAST_EXIT support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/ofproto/ofproto_v1_0.py2
-rw-r--r--ryu/ofproto/ofproto_v1_0_parser.py18
2 files changed, 19 insertions, 1 deletions
diff --git a/ryu/ofproto/ofproto_v1_0.py b/ryu/ofproto/ofproto_v1_0.py
index 34921065..af34a4a6 100644
--- a/ryu/ofproto/ofproto_v1_0.py
+++ b/ryu/ofproto/ofproto_v1_0.py
@@ -242,7 +242,7 @@ NXAST_BUNDLE = 12
NXAST_BUNDLE_LOAD = 13
NXAST_RESUBMIT_TABLE = 14
NXAST_OUTPUT_REG = 15
-
+NXAST_EXIT = 17
NX_ACTION_RESUBMIT_PACK_STR = '!HHIHHB3x'
NX_ACTION_RESUBMIT_SIZE = 16
diff --git a/ryu/ofproto/ofproto_v1_0_parser.py b/ryu/ofproto/ofproto_v1_0_parser.py
index f016e829..8820e3be 100644
--- a/ryu/ofproto/ofproto_v1_0_parser.py
+++ b/ryu/ofproto/ofproto_v1_0_parser.py
@@ -684,6 +684,24 @@ class NXActionOutputReg(NXActionHeader):
return cls(ofs_nbits, src, max_len)
+@NXActionHeader.register_nx_action_subtype(ofproto_v1_0.NXAST_EXIT)
+class NXActionExit(NXActionHeader):
+ def __init__(self):
+ super(NXActionExit, self).__init__(
+ ofproto_v1_0.NXAST_EXIT,
+ ofproto_v1_0.NX_ACTION_HEADER_SIZE)
+
+ def serialize(self, buf, offset):
+ msg_pack_into(ofproto_v1_0.NX_ACTION_HEADER_PACK_STR, buf, offset,
+ self.type, self.len, self.vendor, self.subtype)
+
+ @classmethod
+ def parser(cls, buf, offset):
+ (type_, len_, vendor, subtype) = struct.unpack_from(
+ ofproto_v1_0.NX_ACTION_HEADER_PACK_STR, buf, offset)
+ return cls()
+
+
class OFPDescStats(collections.namedtuple('OFPDescStats',
('mfr_desc', 'hw_desc', 'sw_desc', 'serial_num', 'dp_desc'))):
@classmethod