Signed-off-by: Simon Horman <[email protected]>
---
 ryu/ofproto/ofproto_v1_4_parser.py | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/ryu/ofproto/ofproto_v1_4_parser.py 
b/ryu/ofproto/ofproto_v1_4_parser.py
index 2eaf6cd..226e6f3 100644
--- a/ryu/ofproto/ofproto_v1_4_parser.py
+++ b/ryu/ofproto/ofproto_v1_4_parser.py
@@ -2324,6 +2324,35 @@ class OFPActionSetQueue(OFPAction):
                       offset, self.type, self.len, self.queue_id)
 
 
[email protected]_action_type(ofproto.OFPAT_SET_MPLS_TTL,
+                                ofproto.OFP_ACTION_MPLS_TTL_SIZE)
+class OFPActionSetMplsTtl(OFPAction):
+    """
+    Set MPLS TTL action
+
+    This action sets the MPLS TTL.
+
+    ================ ======================================================
+    Attribute        Description
+    ================ ======================================================
+    mpls_ttl         MPLS TTL
+    ================ ======================================================
+    """
+    def __init__(self, mpls_ttl, type_=None, len_=None):
+        super(OFPActionSetMplsTtl, self).__init__()
+        self.mpls_ttl = mpls_ttl
+
+    @classmethod
+    def parser(cls, buf, offset):
+        (type_, len_, mpls_ttl) = struct.unpack_from(
+            ofproto.OFP_ACTION_MPLS_TTL_PACK_STR, buf, offset)
+        return cls(mpls_ttl)
+
+    def serialize(self, buf, offset):
+        msg_pack_into(ofproto.OFP_ACTION_MPLS_TTL_PACK_STR, buf,
+                      offset, self.type, self.len, self.mpls_ttl)
+
+
 @OFPAction.register_action_type(ofproto.OFPAT_DEC_MPLS_TTL,
                                 ofproto.OFP_ACTION_HEADER_SIZE)
 class OFPActionDecMplsTtl(OFPAction):
@@ -2342,6 +2371,24 @@ class OFPActionDecMplsTtl(OFPAction):
         return cls()
 
 
[email protected]_action_type(ofproto.OFPAT_DEC_NW_TTL,
+                                ofproto.OFP_ACTION_HEADER_SIZE)
+class OFPActionDecNwTtl(OFPAction):
+    """
+    Decrement IP TTL action
+
+    This action decrements the IP TTL.
+    """
+    def __init__(self, type_=None, len_=None):
+        super(OFPActionDecNwTtl, self).__init__()
+
+    @classmethod
+    def parser(cls, buf, offset):
+        (type_, len_) = struct.unpack_from(
+            ofproto.OFP_ACTION_HEADER_PACK_STR, buf, offset)
+        return cls()
+
+
 @OFPAction.register_action_type(ofproto.OFPAT_COPY_TTL_OUT,
                                 ofproto.OFP_ACTION_HEADER_SIZE)
 class OFPActionCopyTtlOut(OFPAction):
-- 
1.8.4


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to