Adding Nicira actions and match for NSH Index and path fields.
[openflowplugin.git] / extension / openflowplugin-extension-nicira / src / main / yang / openflowplugin-extension-nicira-action.yang
index 6c06f8f6e23419e1c171cb18b065927b0bb08491..41b86b27c1d5eec388217f259cb6adbea6b829c2 100644 (file)
@@ -271,6 +271,25 @@ bits specified from the register.";
         }
     }
 
+    grouping nx-action-set-nsp-grouping {
+        container nx-set-nsp {
+            description "Sets NSP header";
+            description "Sets NSH Service Path ID (NSP) header";
+            leaf nsp {
+                type uint32;
+            }
+        }
+    }
+
+    grouping nx-action-set-nsi-grouping {
+        container nx-set-nsi {
+            description "Sets NSH Service Index (NSI) header";
+            leaf nsi {
+                type uint8;
+            }
+        }
+    }
+
     // ACTION augmentations
     // RPCS
     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
@@ -298,6 +317,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsp-rpc-add-flow-write-actions-case {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsi-rpc-add-flow-write-actions-case {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
         case nx-action-reg-load-rpc-add-flow-apply-actions-case {
             uses nx-action-reg-load-grouping;
@@ -323,6 +353,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsp-rpc-add-flow-apply-actions-case {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsi-rpc-add-flow-apply-actions-case {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-remove-flow-write-actions-case" {
@@ -349,6 +389,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsp-rpc-remove-flow-write-actions-case {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsi-rpc-remove-flow-write-actions-case {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-remove-flow-apply-actions-case" {
             uses nx-action-reg-load-grouping;
@@ -374,6 +425,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsp-rpc-remove-flow-apply-actions-case {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case nx-action-set-nsi-rpc-remove-flow-apply-actions-case {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-update-flow-original-write-actions-case" {
@@ -400,6 +461,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsp-rpc-update-flow-original-write-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsi-rpc-update-flow-original-write-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-update-flow-original-apply-actions-case" {
             uses nx-action-reg-load-grouping;
@@ -425,6 +497,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsp-rpc-update-flow-original-apply-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsi-rpc-update-flow-original-apply-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-update-flow-updated-write-actions-case" {
             uses nx-action-reg-load-grouping;
@@ -450,6 +533,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsp-rpc-update-flow-updated-write-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsi-rpc-update-flow-updated-write-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
         case "nx-action-reg-load-rpc-update-flow-updated-apply-actions-case" {
             uses nx-action-reg-load-grouping;
@@ -475,6 +569,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsp-rpc-update-flow-updated-apply-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
+        case "nx-action-set-nsi-rpc-update-flow-updated-apply-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
         case "nx-action-reg-load-rpc-add-group-case" {
@@ -501,6 +605,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsp-rpc-add-group-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsi-rpc-add-group-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
         case "nx-action-reg-load-rpc-remove-group-case" {
@@ -527,6 +641,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsp-rpc-remove-group-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsi-rpc-remove-group-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
         case "nx-action-reg-load-rpc-update-group-original-case" {
@@ -553,6 +677,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsp-rpc-update-group-original-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsi-rpc-update-group-original-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
         case "nx-action-reg-load-rpc-update-group-updated-case" {
             uses nx-action-reg-load-grouping;
@@ -578,6 +713,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsp-rpc-update-group-updated-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
+        case "nx-action-set-nsi-rpc-update-group-updated-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
         case "nx-action-reg-load-rpc-transmit-packet-case" {
@@ -604,6 +749,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
+        case "nx-action-set-nsp-rpc-transmit-packet-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
+        case "nx-action-set-nsi-rpc-transmit-packet-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     // DATA
     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
@@ -631,6 +786,17 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
+        case "nx-action-set-nsp-nodes-node-table-flow-write-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
+        case "nx-action-set-nsi-nodes-node-table-flow-write-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
+
     augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
         case "nx-action-reg-load-nodes-node-table-flow-apply-actions-case" {
             uses nx-action-reg-load-grouping;
@@ -656,6 +822,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
+        case "nx-action-set-nsp-nodes-node-table-flow-apply-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
+        case "nx-action-set-nsi-nodes-node-table-flow-apply-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
         case "nx-action-reg-load-nodes-node-group-buckets-bucket-actions-case" {
@@ -682,6 +858,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
+        case "nx-action-set-nsp-nodes-node-group-buckets-bucket-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
+        case "nx-action-set-nsi-nodes-node-group-buckets-bucket-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     // NOTIFICATIONS
     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
@@ -709,6 +895,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
+        case "nx-action-set-nsp-notif-flows-statistics-update-write-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
+        case "nx-action-set-nsi-notif-flows-statistics-update-write-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
 
     augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
         case "nx-action-reg-load-notif-flows-statistics-update-apply-actions-case" {
@@ -735,6 +931,16 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
+        case "nx-action-set-nsp-notif-flows-statistics-update-apply-actions-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
+        case "nx-action-set-nsi-notif-flows-statistics-update-apply-actions-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
     
     augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
         case "nx-action-reg-load-notif-group-desc-stats-updated-case" {
@@ -761,4 +967,14 @@ bits specified from the register.";
             uses nx-action-multipath-grouping;
         }
     }
+    augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
+        case "nx-action-set-nsp-notif-group-desc-stats-updated-case" {
+            uses nx-action-set-nsp-grouping;
+        }
+    }
+    augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
+        case "nx-action-set-nsi-notif-group-desc-stats-updated-case" {
+            uses nx-action-set-nsi-grouping;
+        }
+    }
 }