Merge "Added scenario with settable auxiliaryId in featuresReply message"
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-action.yang
index a5dfcbfdd084949a92f802bf491c3c7154b4fc33..2b244ac98c4fcecf1fef6adbf13e4f13aa63fdcc 100644 (file)
@@ -5,20 +5,19 @@ module openflow-action {
     import openflow-types { prefix oft; }
 
     revision "2013-07-31" {
-        description "Initial model";
+        description "OpenFlow 1.3 - action model";
     }
 
-    /*
     identity output {
         description " Output to switch port. ";
         base oft:action;
     }
     identity copy_ttl_out {
-        description " Copy TTL "outwards" -- from next-to-outermost to outermost ";
+        description " Copy TTL \"outwards\" -- from next-to-outermost to outermost ";
         base oft:action;
     }
     identity copy_ttl_in {
-        description " Copy TTL "inwards" -- from outermost to next-to-outermost ";
+        description " Copy TTL \"inwards\" -- from outermost to next-to-outermost ";
         base oft:action;
     }
     identity set_mpls_ttl {
@@ -77,128 +76,19 @@ module openflow-action {
         description "";
         base oft:action;
     }
-    */
-    grouping output {
-        description 
-            "Action structure for OFPAT_OUTPUT, which sends packets out 'port'.
-            When the 'port' is the OFPP_CONTROLLER, 'max_len' indicates the max
-            number of bytes to send. A 'max_len' of zero means no bytes of the
-            packet should be sent. A 'max_len' of OFPCML_NO_BUFFER means that
-            the packet is not buffered and the complete packet is to be sent to
-            the controller.";
-        leaf port {
-            type oft:any-port-number;
-        }
-        leaf max-length {
-            description "Maximum packet length to be send to controller.";
-            type union {
-                type uint16 {
-                    range "0..65294"; // 0..0xff0e
-                }
-                type enumeration {
-                    enum no-buffer {
-                        description 
-                            "indicates that no buffering should be
-                             applied and the whole packet is to be
-                             sent to the controller";
-                        value 65535; //0xffff
-                    }
-                }
-            }
-        }
-    }
-
-    grouping group {
-        leaf group {
-            type oft:group-id; // define action group-id type;
-        }
-    }
-
-    grouping set-queue {
-        leaf queue {
-            type oft:queue-id;
-        }
-    }
-
-    grouping set-mpls-ttl {
-        leaf mpls_ttl {
-            type uint8;
-        }
-    }
-
-    grouping set-nw-ttl {
-        leaf nw_ttl {
-            type uint8;
-        }
-    }
-
-    grouping push-pbb {
-
-    }
-
-    grouping push-mpls {
 
+    container actions-container {
+        uses action-header;
     }
 
-    grouping push-vlan {
-
-    }
-
-    grouping pop-mpls {
-        leaf ethertype {
-            type uint16; // TODO: define ethertype type
-        }
-    }
-
-    grouping set-field {
-        container field {
-            // TODO: figure definition
-        }
-    }
-    
-    
     grouping action-header {
-        leaf type {
-            type action-type;
-        }
-    }
-    
-    typedef action-type {
-        /* ofp_action_type */
-        type enumeration {
-            enum OUTPUT {
-                description "Output to switch port.";
-            }
-            enum SET_VLAN_VID {
-                description "Set the 802.1q VLAN id.";
-            }
-            enum SET_VLAN_PCP {
-                description "Set the 802.1q priority.";
-            }
-            enum STRIP_VLAN {
-                description "Strip the 802.1q header.";
-            }
-            enum SET_DL_SRC {
-                description "Ethernet source address.";
-            }
-            enum SET_DL_DST {
-                description "Ethernet destination address.";
-            }
-            enum SET_NW_SRC {
-                description "IP source address.";
-            }
-            enum SET_NW_DST {
-                description "IP destination address.";
-            }
-            enum SET_TP_SRC {
-                description "TCP/UDP source port.";
-            }
-            enum SET_TP_DST {
-                description "TCP/UDP destination port.";
-            }
-            enum OFPAT_VENDOR {
-                value 65535; // 0xffff
+        container action {
+            leaf type {
+                type identityref {
+                    base oft:action;
+                }
             }
         }
     }
+
 }
\ No newline at end of file